Back to Cline

Getting Started

docs/api/getting-started.mdx

3.82.03.7 KB
Original Source

This guide walks you through creating an API key and making your first Chat Completions request.

Prerequisites

  • A Cline account at app.cline.bot
  • curl or any HTTP client (Python, Node.js, etc.)

Create an API Key

<Steps> <Step title="Sign in to app.cline.bot"> Go to [app.cline.bot](https://app.cline.bot) and sign in with your account. </Step> <Step title="Navigate to API Keys"> Open **Settings** and select **API Keys**. </Step> <Step title="Create a new key"> Click **Create API Key**. Copy the key immediately. You will not be able to see it again after leaving this page. </Step> </Steps> <Warning> Treat your API key like a password. Do not commit it to version control or share it publicly. </Warning>

Make Your First Request

Replace YOUR_API_KEY with the key you just created:

bash
curl -X POST https://api.cline.bot/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4-6",
    "messages": [
      {"role": "user", "content": "What is the capital of France?"}
    ],
    "stream": false
  }'

Verify the Response

You should get a JSON response like this:

json
{
  "id": "gen-abc123",
  "model": "anthropic/claude-sonnet-4-6",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop",
      "index": 0
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 8
  }
}

The choices[0].message.content field contains the model's reply. The usage field shows how many tokens were consumed.

Try Streaming

For real-time output, set stream: true. The response arrives as Server-Sent Events:

bash
curl -X POST https://api.cline.bot/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4-6",
    "messages": [
      {"role": "user", "content": "Write a haiku about programming."}
    ],
    "stream": true
  }'

Each chunk arrives as a data: line. The stream ends with data: [DONE].

Try a Free Model

To test without spending credits, use one of the free models:

bash
curl -X POST https://api.cline.bot/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax/minimax-m2.5",
    "messages": [
      {"role": "user", "content": "Hello! What can you help me with?"}
    ],
    "stream": false
  }'

Troubleshooting

ProblemSolution
401 UnauthorizedCheck that your API key is correct and included in the Authorization header
402 Payment RequiredYour account has insufficient credits. Add credits at app.cline.bot
Empty responseMake sure messages is a non-empty array with at least one user message
Connection timeoutVerify your network can reach api.cline.bot. Check proxy settings if on a corporate network

Next Steps

<CardGroup cols={2}> <Card title="Authentication" icon="key" href="/api/authentication"> Learn about API keys, token scoping, and security practices. </Card> <Card title="Chat Completions" icon="message" href="/api/chat-completions"> Full endpoint reference with all parameters and options. </Card> <Card title="Models" icon="brain" href="/api/models"> Browse available models and find the right one for your use case. </Card> <Card title="SDK Examples" icon="code" href="/api/sdk-examples"> Use the API from Python, Node.js, or the Cline CLI. </Card> </CardGroup>