> ## Documentation Index
> Fetch the complete documentation index at: https://kavenio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish your first post

Create posts with the shared posts API. Each target chooses a platform and,
optionally, a connected account ID. If you omit `accountId`, Kavenio publishes
to every connected account for that platform inside the profile.

## Create a post

```json theme={null}
{
  "profileId": "customer_user_123",
  "content": "Shipping our first post with Kavenio.",
  "platforms": [
    {
      "platform": "linkedin",
      "accountId": "acc_123"
    }
  ],
  "publishNow": true
}
```

```bash theme={null}
kavenio posts create \
  --profile-id customer_user_123 \
  --content "Shipping our first post with Kavenio." \
  --publish-now \
  --platform linkedin:acc_123
```

## Schedule a post

Use `scheduledFor` instead of `publishNow`.

```json theme={null}
{
  "profileId": "customer_user_123",
  "content": "This post goes out tomorrow.",
  "platforms": [
    {
      "platform": "linkedin",
      "accountId": "acc_123"
    }
  ],
  "scheduledFor": "2026-06-20T15:00:00.000Z"
}
```

## Google Business posts

Google Business uses the same endpoint with `platform: "googlebusiness"`.
Platform-specific fields live under `platformSpecificData`.

```json theme={null}
{
  "profileId": "customer_user_123",
  "content": "New seasonal menu is live.",
  "platforms": [
    {
      "platform": "googlebusiness",
      "accountId": "acc_456",
      "platformSpecificData": {
        "topicType": "STANDARD",
        "callToAction": "ORDER",
        "ctaUrl": "https://example.com/order"
      }
    }
  ],
  "publishNow": true
}
```

Kavenio validates Google Business limits before provider calls, including text
length, media count, and supported image formats.

## Validate first

```bash theme={null}
kavenio validate post --file google-business-post.json
```

## Related docs

<CardGroup cols={2}>
  <Card title="Google Business" icon="building-storefront" href="/docs/platforms/google-business">
    Google Business post fields and management routes.
  </Card>

  <Card title="Media uploads" icon="image" href="/docs/guides/upload-media">
    Upload media before attaching it to posts.
  </Card>
</CardGroup>
