Publish content to social networks instantly using the Publer API. This method skips scheduling and sends posts for immediate delivery.

### Endpoint

```
POST /api/v1/posts/schedule/publish
```

### Request Headers

| Header                     | Required | Description            |
|----------------------------|----------|------------------------|
| Authorization              | Yes      | `Bearer-API YOUR_API_KEY` |
| Publer-Workspace-Id        | Yes      | Workspace ID           |
| Content-Type               | Yes      | `application/json`     |
| Accept                     | No       | `application/json` (default) |

### Request Body

Use the standard bulk structure. Omit `scheduled_at` under `accounts`:

```
{
  "bulk": {
    "state": "scheduled",
    "posts": [
      {
        "networks": {
          // network provider as key, e.g., facebook, twitter etc.
          "[network_provider]": {
            "type": "[content_type]",
            "text": "Post content",
            // Additional properties based on content type
          }
        },
        "accounts": [
          {
            "id": "account_id"
            // No scheduled_at parameter
          }
        ]
      }
    ]
  }
}
```

#### Key Fields

- `state`: must be `"scheduled"` for immediate publishing
- `networks`: per-network content configuration (`facebook`, `twitter`, `linkedin`, etc.)
- `accounts`: list of target account IDs (no `scheduled_at` timestamp)

### Sample Request

```
curl -X POST https://app.publer.com/api/v1/posts/schedule/publish \
  -H "Authorization: Bearer-API YOUR_API_KEY" \
  -H "Publer-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "bulk": {
      "state": "scheduled",
      "posts": [
        {
          "networks": {
            "facebook": {
              "type": "status",
              "text": "Just published this update via the Publer API! #RealTimePosting"
            }
          },
          "accounts": [
            { "id": "66db83154e299efa19a2d8eb" }
          ]
        }
      ]
    }
  }'
```

### Sample Response

**Status**: 200 OK

```
{
   "job_id": "6810dec617eae6d55d7a5e5b"
}
```

Use the returned `job_id` to poll `/api/v1/job_status/{job_id}` until `status: "completed"`.

### Important Considerations

- **Delivery Timing**
  - Posts are sent as soon as Publer processes the request.
  - Network-side processing may introduce slight delays.
  - Job remains in `working` state until all targets confirm receipt.

- **Platform Requirements**
  - All network-specific content rules still apply (e.g., character limits, media formats).
  - Some networks may perform additional reviews before public display.
  - Ensure the connected accounts have immediate-posting permissions.

#### Common Issues

| Issue                  | Solution                                                    |
|-----------------------|------------------------------------------------------------|
| Rate limiting         | Space out immediate publishing requests to avoid triggering platform limits |
| Authentication errors  | Check that social accounts are properly connected and authorized |
| Content rejection     | Review platform guidelines for content that might be flagged |
| Processing delays     | For media posts, allow extra time for media processing |

### Related Topics

- [Content Types](https://publer.com/docs/posting/create-posts/content-types) - Details on different content formats
- [Media Handling](https://publer.com/docs/posting/create-posts/media-handling) - Information about uploading and managing media
- [Network Reference](https://publer.com/docs/posting/create-posts/networks) - Platform-specific capabilities and limitations
