Felo API PlatformFelo API Platform
v0.3.0
OpenAPI 3.1.0

Create a Claude message

Server:https://openapi.felo.ai
Client Libraries

Create a Claude message

​

Claude Messages API-compatible endpoint. Set stream=true to receive Claude-style message stream events. Request, response, and validation-error fields follow the Claude Messages protocol; the Router may also return a sanitized gateway error envelope for infrastructure failures.

Body·ClaudeMessagesRequest
required
application/json
  • max_tokens
    Type: integer
    min:  
    1
    required

    Integer numbers.

  • messages
    Type: array object[] · ClaudeMessage[] 1…
    required
    • content
      required
      • Type: string
    • role
      Type: string enum
      required
      values
      • user
      • assistant
    • propertyName
      Type: anything
  • model
    Type: string
    required
  • metadata
    Type: object
    • propertyName
      Type: anything
  • service_tier
    Type: string
  • stop_sequences
    Type: array string[]
  • stream
    Type: boolean
  • system
    • Type: string
  • temperature
    Type: number
    min:  
    0
    max:  
    1
  • thinking
    Type: object
    • propertyName
      Type: anything
  • tool_choice
    • Type: string
  • tools
    Type: array object[]
    • propertyName
      Type: anything
  • propertyName
    Type: anything
  • top_k
    Type: integer
    min:  
    0

    Integer numbers.

  • top_p
    Type: number
    min:  
    0
    max:  
    1
  • propertyName
    Type: anything
Responses
  • 200
    Type: object · ClaudeMessageResponse

    Claude message or streaming response

    • content
      Type: array object[] · ClaudeContentBlock[]
      required
      • type
        Type: string enum
        required
        values
        • text
        • image
        • document
        • tool_use
        • tool_result
        • thinking
      • content
        Type: string | array
      • id
        Type: string
      • input
        Type: object
        • propertyName
          Type: anything
      • name
        Type: string
      • source
        Type: object
        • propertyName
          Type: anything
      • text
        Type: string
      • propertyName
        Type: anything
    • id
      Type: string
      required
    • model
      Type: string
      required
    • role
      const:  
      assistant
      required
    • stop_reason
      Type: string | null
      required
    • type
      const:  
      message
      required
    • stop_sequence
      Type: string | null
    • usage
      Type: object · Usage

      Provider usage object. Fields vary by endpoint and provider.

      • propertyName
        Type: anything
    • propertyName
      Type: anything
  • 400
    Type: object · ClaudeErrorResponse

    Claude invalid_request_error or Router request validation error

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 401
    Type: object · ClaudeErrorResponse

    Invalid or missing Felo API key

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 402
    Type: object · ClaudeErrorResponse

    Insufficient balance

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 403
    Type: object · ClaudeErrorResponse

    Account is not permitted to use the model. Disabled models are also rejected before upstream calls. Existing accepted requests and tasks continue.

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 429
    Type: object · ClaudeErrorResponse

    Spending or request limit reached

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 502
    Type: object · ClaudeErrorResponse

    Upstream provider request failed

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
  • 503
    Type: object · ClaudeErrorResponse

    Provider or billing service unavailable

    Claude Errors API-compatible error envelope for Messages requests.

    • error
      Type: object
      required
      • message
        Type: string
        required
      • type
        Type: string
        required
      • propertyName
        Type: anything
    • type
      const:  
      error
      required
    • request_id
      Type: string
    • propertyName
      Type: anything
    application/json
Request Example for post/api/v1/messages
curl https://openapi.felo.ai/api/v1/messages \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "model": "claude-sonnet-4-5",
  "max_tokens": 256,
  "messages": [
    {
      "role": "user",
      "content": "Write a one-sentence greeting."
    }
  ],
  "stream": false
}'
{
  "id": "string",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "string",
      "id": "string",
      "name": "string",
      "input": {
        "additionalProperty": "anything"
      },
      "content": "string",
      "source": {
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    }
  ],
  "model": "string",
  "stop_reason": null,
  "stop_sequence": null,
  "usage": {
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}
Create a Claude message