# Quick Start (/docs)


<div className="fd-steps">
  <div className="fd-step">
    Create an API key [#create-an-api-key-step]

    Go to &#x2A;*[Settings → API Keys](https://publishq.com/app/settings)** in the PublishQ dashboard and create a key with the scopes you need.
  </div>

  <div className="fd-step">
    Authenticate [#authenticate-step]

    Pass the key as a Bearer token in every request:

    ```bash
    curl https://publishq.com/api/v1/accounts \
      -H "Authorization: Bearer pq_live_..."
    ```
  </div>

  <div className="fd-step">
    List your connected accounts [#list-your-connected-accounts-step]

    ```bash
    curl https://publishq.com/api/v1/accounts \
      -H "Authorization: Bearer pq_live_..."
    ```
  </div>

  <div className="fd-step">
    Create a post [#create-a-post-step]

    ```bash
    curl -X POST https://publishq.com/api/v1/posts \
      -H "Authorization: Bearer pq_live_..." \
      -H "Content-Type: application/json" \
      -d '{
        "content": "Hello from the API!",
        "accounts": [
          { "accountId": "acc_..." }
        ],
        "scheduledAt": "2026-04-07T12:00:00Z"
      }'
    ```
  </div>
</div>

Key concepts [#key-concepts]

* A **Post** is a single object with an `accounts[]` array. Each entry represents the post on one connected social account.
* **Media** is uploaded separately via `POST /media` and referenced by ID when creating posts.
* **Workspaces** organize your connected accounts into groups.
