{"openapi":"3.1.0","info":{"title":"Trigger.dev (BYOK) API","version":"0.1.0","description":"Trigger.dev (BYOK) lets an AI assistant read your own Trigger.dev data through the Trigger.dev API with a key you supply (environment secret key (tr_prod_sk_... or tr_dev_sk_...)). Read-only: 9 tools (list_runs, get_run, list_schedules, list_deployments, get_latest_deployment, list_queues, list_error_groups, list_concurrency_limits, get_batch). The BYOK key travels with each request, is used for...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-trigger-dev.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-trigger-dev/docs"},"termsOfService":"https://connectorbay.com/byok-trigger-dev/terms"},"servers":[{"url":"https://byok-trigger-dev.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-trigger-dev/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_runs":{"post":{"operationId":"list_runs","summary":"List task runs of the environment the key belongs to, newest first. Without a time filter only the last 7 days are retur","description":"List task runs of the environment the key belongs to, newest first. Without a time filter only the last 7 days are returned. Returns status, task, version, timing and cost, never payloads or outputs. Use for \"Which Trigger.dev runs failed in the last day\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated run statuses to keep: PENDING_VERSION, QUEUED, EXECUTING, REATTEMPTING, FROZEN, COMPLETED, CANCELED, FAILED, CRASHED, INTERRUPTED, SYSTEM_FAILURE.","title":"Status"},"task_identifier":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated task ids to keep, for example 'send-report'.","title":"Task Identifier"},"created_period":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only runs created within this period, for example '1d', '12h' or '7d'.","title":"Created Period"},"page_size":{"anyOf":[{"maximum":100,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"How many runs to return (10 to 100).","title":"Page Size"},"page_after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Run id (starts with run_) to start the page after, taken from pagination.next.","title":"Page After"}},"title":"list_runsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_run":{"post":{"operationId":"get_run","summary":"Get one run: status, task, version, timing, cost, attempt depth, batch and tags. Payload and output are not returned. Us","description":"Get one run: status, task, version, timing, cost, attempt depth, batch and tags. Payload and output are not returned. Use for \"What happened in run run_abc123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"run_id":{"description":"Run id, starts with 'run_'.","maxLength":200,"title":"Run Id","type":"string"}},"required":["run_id"],"title":"get_runArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_schedules":{"post":{"operationId":"list_schedules","summary":"List the cron and imperative schedules of the environment with task, generator expression, timezone, active flag and nex","description":"List the cron and imperative schedules of the environment with task, generator expression, timezone, active flag and next run. Use for \"Which Trigger.dev schedules are active and when do they run next\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page.","title":"Per Page"}},"title":"list_schedulesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_deployments":{"post":{"operationId":"list_deployments","summary":"List deployments of the project, newest first, with version, runtime, status and deploy time. Use for \"What were the lat","description":"List deployments of the project, newest first, with version, runtime, status and deploy time. Use for \"What were the latest Trigger.dev deployments and did they succeed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["PENDING","BUILDING","DEPLOYING","DEPLOYED","FAILED","CANCELED","TIMED_OUT"],"type":"string"},{"type":"null"}],"default":null,"description":"Only deployments with this status.","title":"Status"},"period":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only deployments created within this period, for example '1d', '7d' or '3h'.","title":"Period"},"page_size":{"anyOf":[{"maximum":100,"minimum":5,"type":"integer"},{"type":"null"}],"default":20,"description":"How many deployments to return (5 to 100).","title":"Page Size"},"page_after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Deployment id to start the page after, taken from pagination.next.","title":"Page After"}},"title":"list_deploymentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_latest_deployment":{"post":{"operationId":"get_latest_deployment","summary":"Get the most recent deployment: id, version, status and image reference. Use for \"Which version is currently deployed on","description":"Get the most recent deployment: id, version, status and image reference. Use for \"Which version is currently deployed on Trigger.dev\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_latest_deploymentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_queues":{"post":{"operationId":"list_queues","summary":"List task queues with running and queued counts, paused state and concurrency limit. Use for \"Which Trigger.dev queues a","description":"List task queues with running and queued counts, paused state and concurrency limit. Use for \"Which Trigger.dev queues are backed up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page.","title":"Per Page"}},"title":"list_queuesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_error_groups":{"post":{"operationId":"list_error_groups","summary":"List grouped task errors with task, error type and message, occurrence count and first and last seen times. Use for \"Wha","description":"List grouped task errors with task, error type and message, occurrence count and first and last seen times. Use for \"What are the most frequent Trigger.dev task errors\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many error groups to return (the API default applies when omitted).","title":"Page Size"},"page_after":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Error group id to start the page after, taken from pagination.next.","title":"Page After"}},"title":"list_error_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_concurrency_limits":{"post":{"operationId":"list_concurrency_limits","summary":"List named concurrency limits with current and base values, running and queued counts and paused state. Use for \"What co","description":"List named concurrency limits with current and base values, running and queued counts and paused state. Use for \"What concurrency limits are configured in Trigger.dev\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many results per page (1 to 100).","title":"Per Page"}},"title":"list_concurrency_limitsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_batch":{"post":{"operationId":"get_batch","summary":"Get a batch of runs: status, run count, successful and failed counts and creation time. Per-run errors are not returned.","description":"Get a batch of runs: status, run count, successful and failed counts and creation time. Per-run errors are not returned. Use for \"How did batch batch_abc123 go\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"batch_id":{"description":"Batch id, starts with 'batch_'.","maxLength":200,"title":"Batch Id","type":"string"}},"required":["batch_id"],"title":"get_batchArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}