API Key GraphQL Reference
GraphQL API keys created in the Developer Portal can access a supported subset of the GraphQL schema. SRP remains the full-schema authentication method.
Not all operations are available
Not every query, mutation, or field is available with an API key. Only the operations listed below are supported, and only the fields shown in their reference pages can be selected. If you need an operation that isn't listed here, contact support and we can add it.
Header
Send the Developer Portal key as a bearer token:
Authorization: Bearer ak_<environment>_<key-id>.<secret>
API-Key Queries
| Query | Description |
|---|---|
attachment | Returns an attachment |
template | Returns a template |
document | Returns a document |
batch | Returns a batch |
group | Returns a group |
user | Returns a user, or the API-key user context when no ID is supplied |
task | Returns task status and report data |
recipient | Returns a document recipient |
API-Key Mutations
| Mutation | Description |
|---|---|
cancelDocument | Cancels a document if it has not been signed |
createTemplate | Creates a template and returns upload details |
createTemplateElement | Creates a new element (field) in a template |
createTemplateRole | Creates a new role in a template |
deleteTemplateElement | Deletes an element (field) from a template |
deleteTemplateRole | Deletes a role from a template |
generateComponentToken | Mints a short-lived token for authenticated widgets |
send | Sends one document |
sendBatch | Starts a batch send |
sendBatchDocument | Adds a document to a batch |
startBatch | Starts a prepared batch |
swapRoles | Swaps the position of two roles in a template |
updateTemplate | Updates a template's properties |
updateTemplateElement | Updates an element (field) in a template |
updateTemplateRole | Updates a role in a template |
Query Example
curl https://graphql.uk.legalesign.com/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ak_<environment>_<key-id>.<secret>" \
--data '{
"query": "query GetDocument($id: ID!) { document(id: $id) { id name status created recipients { id email status } } }",
"variables": { "id": "<document-id>" }
}'
Send Example
curl https://graphql.uk.legalesign.com/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ak_<environment>_<key-id>.<secret>" \
--data '{
"query": "mutation SendDocument($input: DocumentSendSettingsInput!) { send(input: $input) }",
"variables": {
"input": {
"groupId": "<group-id>",
"templateId": "<template-id>",
"title": "API Key Test Document",
"recipients": [
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane@example.com",
"order": 0
}
]
}
}
}'
Choosing an Auth Mode
| Mode | Coverage | Header | Best for |
|---|---|---|---|
| SRP | Full GraphQL schema | Authorization: Bearer <access-token> | Complete integrations |
| API Key | Supported subset only | Authorization: Bearer <api-key> | Server-side automation and common send/read flows |
Use the auth badges on query and mutation reference pages to confirm whether a root operation supports API-key authentication.