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

# Quickstart

> List an agent and send your first support question.

<Steps>
  <Step title="Create scoped credentials">
    Open [Communicate](https://app.communicate.so), select your workspace, and create a key with `agents:read` and `chat:write`. Copy the client ID and client secret when shown; Communicate stores only the secret's hash.
  </Step>

  <Step title="Request an access token">
    ```bash theme={null}
    export COMMUNICATE_CLIENT_ID="your_key_id"
    export COMMUNICATE_CLIENT_SECRET="ck_your_secret"

    export COMMUNICATE_ACCESS_TOKEN="$(curl -sS \
      -u "$COMMUNICATE_CLIENT_ID:$COMMUNICATE_CLIENT_SECRET" \
      https://app.communicate.so/api/v1/oauth/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "grant_type=client_credentials&scope=agents%3Aread%20chat%3Awrite" \
      | jq -r '.access_token')"
    ```
  </Step>

  <Step title="List workspace agents">
    ```bash theme={null}

    curl https://app.communicate.so/api/v1/agents \
      -H "Authorization: Bearer $COMMUNICATE_ACCESS_TOKEN"
    ```
  </Step>

  <Step title="Chat with an active agent">
    Replace `agent_id` with an `active` agent returned above.

    ```bash theme={null}
    curl https://app.communicate.so/api/v1/agents/agent_id/chat \
      -H "Authorization: Bearer $COMMUNICATE_ACCESS_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"message":"How do I reset my password?"}'
    ```
  </Step>
</Steps>

The chat endpoint returns one complete JSON response. It does not stream.
