Context4
Technical documentation

Executions.

Create, inspect and cancel Context4 tool executions: API requests, responses, attempts and errors.

Generated from the public Context4 OpenAPI. Authenticate with Authorization: Bearer and an API key. General rules: API. Full contract: OpenAPI JSON. In the JSON below, $ref points to a named schema in the Schemas section.

createExecution

POST /v1/executions

Deployment URL: https://ctx4.me/v1/executions. Replace parameters in braces with actual IDs from the API.

Create an execution (asynchronous, idempotent)

Capability: executions:write.

Parameters

NameLocationRequiredType and constraints
Idempotency-Keyheaderyes{"type":"string"} Client-chosen key (8-128 chars of [A-Za-z0-9._:-]); replays with the same payload return the original outcome

Request body

Required. CreateExecutionRequest

Data
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateExecutionRequest"
      }
    }
  }
}

Responses and errors

HTTPMeaningFormat and schema
202Execution accepted (queued) or persisted as rejected with a denial code; poll the Location headerapplication/json Execution
400Problem (validation_failed)application/problem+json Problem
401Problem (authentication_required, invalid_api_key, api_key_expired, api_key_revoked)application/problem+json Problem
403Problem (capability_missing, forbidden, session_expired, session_revoked, session_call_budget_exhausted)application/problem+json Problem
404Problem (not_found)application/problem+json Problem
409Problem (idempotency_conflict)application/problem+json Problem
429Problem (rate_limited)application/problem+json Problem
500Problem (internal)application/problem+json Problem
503Problem (service_unavailable)application/problem+json Problem

Successful response headers:

Data
{
  "X-Request-Id": {
    "description": "Correlation id echoed on every response",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Per-key request limit for the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the current window resets",
    "schema": {
      "type": "integer"
    }
  },
  "Location": {
    "description": "Resource location (/v1/executions/{executionId})",
    "schema": {
      "type": "string"
    }
  }
}

listExecutions

GET /v1/executions

Deployment URL: https://ctx4.me/v1/executions. Replace parameters in braces with actual IDs from the API.

List executions

Capability: executions:read.

Parameters

NameLocationRequiredType and constraints
statusqueryno{"type":"string","enum":["requested","queued","running","retrying","succeeded","failed","rejected","cancelled"]}
connector_idqueryno{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{1,78}$","example":"bitrix24"}
user_idqueryno{"$ref":"#/components/schemas/ExecutionEndUserRef"}
fromqueryno{"type":"string","format":"date-time","example":"2026-07-16T12:00:00.000Z"}
toqueryno{"type":"string","format":"date-time","example":"2026-07-16T12:00:00.000Z"}
cursorqueryno{"type":"string","minLength":1,"maxLength":400,"pattern":"^[A-Za-z0-9_-]+$","description":"Opaque pagination cursor from a previous response"} Opaque pagination cursor from a previous response
limitqueryno{"type":"integer","minimum":1,"maximum":100,"description":"Page size (1-100, default 20)"} Page size (1-100, default 20)

Responses and errors

HTTPMeaningFormat and schema
200Executions ordered by creation time (descending)application/json ExecutionListResponse
400Problem (validation_failed)application/problem+json Problem
401Problem (authentication_required, invalid_api_key, api_key_expired, api_key_revoked)application/problem+json Problem
403Problem (capability_missing)application/problem+json Problem
429Problem (rate_limited)application/problem+json Problem
500Problem (internal)application/problem+json Problem
503Problem (service_unavailable)application/problem+json Problem

Successful response headers:

Data
{
  "X-Request-Id": {
    "description": "Correlation id echoed on every response",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Per-key request limit for the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the current window resets",
    "schema": {
      "type": "integer"
    }
  }
}

getExecution

GET /v1/executions/{executionId}

Deployment URL: https://ctx4.me/v1/executions/{executionId}. Replace parameters in braces with actual IDs from the API.

Get one execution with its result

Capability: executions:read.

Parameters

NameLocationRequiredType and constraints
executionIdpathyes{"type":"string","format":"uuid","example":"9b2f6f2e-4b0a-4bd2-8b7e-3f8a1c2d4e5f"}

Responses and errors

HTTPMeaningFormat and schema
200Execution view; terminal successes include the resultapplication/json ExecutionWithResult
400Problem (validation_failed)application/problem+json Problem
401Problem (authentication_required, invalid_api_key, api_key_expired, api_key_revoked)application/problem+json Problem
403Problem (capability_missing)application/problem+json Problem
404Problem (not_found)application/problem+json Problem
429Problem (rate_limited)application/problem+json Problem
500Problem (internal)application/problem+json Problem
503Problem (service_unavailable)application/problem+json Problem

Successful response headers:

Data
{
  "X-Request-Id": {
    "description": "Correlation id echoed on every response",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Per-key request limit for the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the current window resets",
    "schema": {
      "type": "integer"
    }
  }
}

listExecutionAttempts

GET /v1/executions/{executionId}/attempts

Deployment URL: https://ctx4.me/v1/executions/{executionId}/attempts. Replace parameters in braces with actual IDs from the API.

List execution attempts

Capability: executions:read.

Parameters

NameLocationRequiredType and constraints
executionIdpathyes{"type":"string","format":"uuid","example":"9b2f6f2e-4b0a-4bd2-8b7e-3f8a1c2d4e5f"}

Responses and errors

HTTPMeaningFormat and schema
200Append-only attempt recordsapplication/json AttemptListResponse
400Problem (validation_failed)application/problem+json Problem
401Problem (authentication_required, invalid_api_key, api_key_expired, api_key_revoked)application/problem+json Problem
403Problem (capability_missing)application/problem+json Problem
404Problem (not_found)application/problem+json Problem
429Problem (rate_limited)application/problem+json Problem
500Problem (internal)application/problem+json Problem
503Problem (service_unavailable)application/problem+json Problem

Successful response headers:

Data
{
  "X-Request-Id": {
    "description": "Correlation id echoed on every response",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Per-key request limit for the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the current window resets",
    "schema": {
      "type": "integer"
    }
  }
}

cancelExecution

POST /v1/executions/{executionId}/cancel

Deployment URL: https://ctx4.me/v1/executions/{executionId}/cancel. Replace parameters in braces with actual IDs from the API.

Cancel a queued execution

Capability: executions:write.

Parameters

NameLocationRequiredType and constraints
executionIdpathyes{"type":"string","format":"uuid","example":"9b2f6f2e-4b0a-4bd2-8b7e-3f8a1c2d4e5f"}

Request body

Required. CancelExecutionRequest

Data
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CancelExecutionRequest"
      }
    }
  }
}

Responses and errors

HTTPMeaningFormat and schema
200The cancelled executionapplication/json Execution
400Problem (validation_failed)application/problem+json Problem
401Problem (authentication_required, invalid_api_key, api_key_expired, api_key_revoked)application/problem+json Problem
403Problem (capability_missing)application/problem+json Problem
404Problem (not_found)application/problem+json Problem
409Problem (conflict, execution_not_cancellable)application/problem+json Problem
429Problem (rate_limited)application/problem+json Problem
500Problem (internal)application/problem+json Problem
503Problem (service_unavailable)application/problem+json Problem

Successful response headers:

Data
{
  "X-Request-Id": {
    "description": "Correlation id echoed on every response",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Per-key request limit for the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Remaining": {
    "description": "Requests remaining in the current window",
    "schema": {
      "type": "integer"
    }
  },
  "RateLimit-Reset": {
    "description": "Seconds until the current window resets",
    "schema": {
      "type": "integer"
    }
  }
}