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

# Quickstart

> Authenticate, discover a connected account, and schedule your first post.

This guide takes you from an API key to a scheduled social post. You need a PostlyBee workspace with at least one connected social account.

<Steps>
  <Step title="Get your API key">
    Open **Settings → Public API** in the PostlyBee dashboard. Copy the workspace API key and store it in your secret manager.

    ```bash theme={null}
    export POSTLYBEE_API_KEY="your_workspace_api_key"
    ```
  </Step>

  <Step title="Verify the connection">
    Send the API key with the standard Bearer authentication scheme.

    ```bash theme={null}
    curl https://api.postlybee.com/public/v1/is-connected \
      --header "Authorization: Bearer $POSTLYBEE_API_KEY"
    ```

    A valid key returns:

    ```json theme={null}
    { "connected": true }
    ```
  </Step>

  <Step title="List connected accounts">
    Each publishing destination has an `id`. Use that value when creating a post.

    ```bash theme={null}
    curl https://api.postlybee.com/public/v1/integrations \
      --header "Authorization: Bearer $POSTLYBEE_API_KEY"
    ```

    ```json theme={null}
    [
      {
        "id": "clz8tq4ka0001m8p7y6n5r3d2",
        "name": "@postlybee",
        "identifier": "x",
        "disabled": false
      }
    ]
    ```
  </Step>

  <Step title="Schedule a post">
    Replace the integration ID with one returned by the previous request. Dates are UTC ISO 8601 values.

    ```bash theme={null}
    curl --request POST https://api.postlybee.com/public/v1/posts \
      --header "Authorization: Bearer $POSTLYBEE_API_KEY" \
      --header "Content-Type: application/json" \
      --data '{
        "type": "schedule",
        "date": "2030-01-15T09:00:00.000Z",
        "shortLink": false,
        "tags": [],
        "posts": [{
          "integration": { "id": "clz8tq4ka0001m8p7y6n5r3d2" },
          "value": [{
            "content": "Scheduled with the PostlyBee API.",
            "image": []
          }],
          "settings": {}
        }]
      }'
    ```

    The response contains the root post ID for each connected account:

    ```json theme={null}
    [{
      "postId": "clz8v2f6r0001k9p8t5m3w7q1",
      "integration": "clz8tq4ka0001m8p7y6n5r3d2"
    }]
    ```
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Add media" icon="image" href="/essentials/posting#media">
    Upload files and attach them to post content.
  </Card>

  <Card title="Explore endpoints" icon="braces" href="/api-reference/overview">
    Use the interactive reference to inspect all request fields.
  </Card>
</CardGroup>
