Start building
Build

API reference

Every operation the guides use, in one place. Plain HTTPS and JSON.

Management API

Base https://fuel.domain/api/project/v1, with Authorization: Bearer fl_sk_.... Every POST takes an Idempotency-Key.

Operation Does
POST /launches/prepare Prepare a launch for the creator's wallet to sign
POST /launches/{id}/submit Send a signed launch or import
GET /launches/{id} Read a launch and its state
POST /tokens/import Prepare bringing an existing pump.fun token
POST /presets Make a fee strategy
GET /accounts/{id} Read a token's credit account
GET /accounts/{id}/ledger Every change to an account
POST /accounts/{id}/purchases Buy credit in USDC
POST /keys Make a router key
PATCH /keys/{id} Rename a key or change its limit
DELETE /keys/{id} Revoke a router key
GET /usage Router usage by day, account, key and model
GET /statements/{month} A month's statement
POST /webhooks Add a webhook endpoint
POST /webhooks/{id}/test Send a ping
POST /webhooks/{id}/rotate Rotate the signing secret
GET /webhooks/deliveries List deliveries
POST /webhooks/deliveries/{id}/replay Send a delivery again

Fuel Router

Base https://fuel.domain/api/v1, with Authorization: Bearer fl_ai_... or x-api-key.

Operation Does
POST /chat/completions OpenAI Chat Completions, every model
POST /responses OpenAI Responses, stateless
POST /messages Anthropic Messages, every model
POST /images Make images
GET /models Every model with prices, no key needed
GET /images/models Image models, their fields and prices
GET /balance The key's account balance

Errors

Status and code Means
402 insufficient_balance The account can't cover the call's reserve
402 key_limit The key's spending limit can't cover the reserve
400 model_not_served Free, batch or retired versions, and after-the-fact routers
400 unknown_model The router doesn't know this model
400 tool_not_served Hosted tools that keep state or call other models
400 image_type_not_served Inline image types other than PNG, JPEG, WebP, GIF
400 model_no_image_input The model can't read images
400 import_refused The token can't be brought
503 model_busy / 529 Every provider is busy; wait Retry-After-Ms

Rate limits

An account runs at most 8 calls at once and starts at most 600 a minute. A refused call is free, and its answer names the wait.