SalesOS

Graph Q L

Read-only GraphQL over the CRM, including custom objects

Run a GraphQL query or mutation (subscriptions: graphql-ws on the same path)

POST
/v1/graphql

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/graphql" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

GraphqlResponse

{
  "data": {},
  "errors": [
    {
      "message": "string",
      "locations": [
        {
          "line": 0,
          "column": 0
        }
      ],
      "path": [
        "string"
      ],
      "extensions": {}
    }
  ]
}