Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi":"3.1.0","info":{"title":"connic API","description":"Public API for connic. Authenticate using an API key in the `Authorization: Bearer <key>` header. You can create and manage API keys in your [Project Settings](https://connic.co/projects?to=settings/cli).\n\n## Rate Limits\n\nAPI requests are rate-limited to **120/minute** per project. All API keys belonging to the same project share a single rate limit bucket. When the limit is exceeded, the API responds with `429 Too Many Requests` and a `Retry-After` header indicating when you can retry.","version":"1.0.0"},"paths":{"/v1/projects/{project_id}/environments":{"get":{"tags":["environments"],"summary":"List environments","description":"List the project's environments, default first, then by name. API keys limited to specific environments only see those.\n\nRequired permission: `environments.view`.","operationId":"list_environments","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicEnvironmentResponse"},"title":"Response 200 List Environments V1 Projects Project Id Environments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"read","x-connic-project-permission":"environments.view"},"post":{"tags":["environments"],"summary":"Create environment","description":"Create an environment. The project's first environment becomes the default.\n\nReturns 403 when the plan's environment limit is reached. With `copy_from_environment_id`,\nthat environment's variables are copied into the new one.\n\nRequired permission: `environments.create`. Passing `copy_from_environment_id` also requires `variables.view`. Passing `copy_from_environment_id` also requires `variables.create`.","operationId":"create_environment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEnvironmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"write","x-connic-project-permission":"environments.create"}},"/v1/projects/{project_id}/environments/{environment_id}":{"get":{"tags":["environments"],"summary":"Get environment","description":"Get one environment with its settings and what the caller can do in it.\n\nRequired permission: `environments.view`.","operationId":"get_environment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Environment Id"},"description":"Environment ID from `GET /environments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEnvironmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"read","x-connic-project-permission":"environments.view"},"patch":{"tags":["environments"],"summary":"Update environment","description":"Partially update an environment; omitted fields stay unchanged.\n\nRenaming also changes the slug and returns 400 if another environment already uses it.\n\nRequired permission: `environments.update`.","operationId":"update_environment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Environment Id"},"description":"Environment ID from `GET /environments`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEnvironmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"write","x-connic-project-permission":"environments.update"},"delete":{"tags":["environments"],"summary":"Delete environment","description":"Delete an environment.\n\nIts deployments are deactivated, its connectors disabled and its OAuth apps removed, and its\nscheduled, queued, running and approval-waiting runs are cancelled. The default environment and the\nlast standard environment cannot be deleted (400); a test environment with an active test session returns 409.\n\nRequired permission: `environments.delete`.","operationId":"delete_environment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Environment Id"},"description":"Environment ID from `GET /environments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"write","x-connic-project-permission":"environments.delete"}},"/v1/projects/{project_id}/environments/{environment_id}/set-default":{"post":{"tags":["environments"],"summary":"Set default environment","description":"Make this environment the project's default; the previous default is unset.\n\nRequired permission: `environments.update`.","operationId":"set_default_environment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Environment Id"},"description":"Environment ID from `GET /environments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"environments","x-connic-permission-action":"write","x-connic-project-permission":"environments.update"}},"/v1/projects/{project_id}/agents":{"get":{"tags":["agents"],"summary":"List agents","description":"Agents come from deployments and names that have historical runs in this environment. Each item includes deployment status, run and queue counts, last activity, configuration hints (type, source path), and whether an inbound or sync connector is attached to the known agent.\n\nRequired permission: `agents.view`.","operationId":"list_project_agents","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Target environment UUID","title":"Environment Id"},"description":"Target environment UUID"},{"name":"include_variants","in":"query","required":false,"schema":{"type":"boolean","description":"Include A/B variant agents as separate items","default":false,"title":"Include Variants"},"description":"Include A/B variant agents as separate items"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicAgentListItemResponse"},"title":"Response 200 List Project Agents V1 Projects Project Id Agents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}}},"x-connic-permission-section":"agents","x-connic-permission-action":"read","x-connic-project-permission":"agents.view"}},"/v1/projects/{project_id}/agents/{agent_name}":{"get":{"tags":["agents"],"summary":"Get agent","description":"Returns the agent's configuration from the active deployment (null when the active deployment does not contain it), run statistics, token usage and cost, linked connectors, and average scores of its judges in the given environment. Statistics and judge averages cover runs queued in the selected window (the last 30 days by default), narrowed by the run filters.\n\nRequired permission: `agents.view`.","operationId":"get_agent_details","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"agent_name","in":"path","required":true,"schema":{"type":"string","title":"Agent Name"},"description":"Agent name as defined in the agent's YAML file."},{"name":"environment_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Target environment UUID","title":"Environment Id"},"description":"Target environment UUID"},{"name":"time_range","in":"query","required":false,"schema":{"anyOf":[{"enum":["24h","7d","30d","90d","today","this_month","last_month","this_year","all"],"type":"string"},{"type":"null"}],"description":"Preset statistics window ending now, a calendar period in UTC, or `all` for no time limit. Ignored when `start_date` is set.","default":"30d","title":"Time Range"},"description":"Preset statistics window ending now, a calendar period in UTC, or `all` for no time limit. Ignored when `start_date` is set."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Custom statistics window start; overrides `time_range`.","title":"Start Date"},"description":"Custom statistics window start; overrides `time_range`."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Custom statistics window end; used only with `start_date`, which is open-ended without it.","title":"End Date"},"description":"Custom statistics window end; used only with `start_date`, which is open-ended without it."},{"name":"deployment_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Only include runs executed by this deployment.","title":"Deployment Id"},"description":"Only include runs executed by this deployment."},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/RunStatus"}},{"type":"null"}],"description":"Restrict stats to statuses","title":"Status Filter"},"description":"Restrict stats to statuses"},{"name":"guardrail_outcome","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["warned","blocked","redacted"],"type":"string"}},{"type":"null"}],"description":"Restrict stats to guardrail outcomes","title":"Guardrail Outcome"},"description":"Restrict stats to guardrail outcomes"},{"name":"test_name","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"A/B test variant names; use __base__ for runs without a variant","title":"Test Name"},"description":"A/B test variant names; use __base__ for runs without a variant"},{"name":"exclude_test_runs","in":"query","required":false,"schema":{"type":"boolean","description":"Exclude runs with a test name","default":false,"title":"Exclude Test Runs"},"description":"Exclude runs with a test name"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Run search text or filter expression, as in `GET /runs`.","title":"Search"},"description":"Run search text or filter expression, as in `GET /runs`."},{"name":"convert_costs_to","in":"query","required":false,"schema":{"anyOf":[{"enum":["EUR","USD"],"type":"string"},{"type":"null"}],"description":"Convert token costs to EUR or USD at the daily ECB reference rate of each model call","title":"Convert Costs To"},"description":"Convert token costs to EUR or USD at the daily ECB reference rate of each model call"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAgentDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"agents","x-connic-permission-action":"read","x-connic-project-permission":"agents.view"}},"/v1/projects/{project_id}/deployments":{"get":{"tags":["deployments"],"summary":"List deployments","description":"Returns all deployments in the environment, newest first, each with its number of failed test cases.\n\nRequired permission: `deployments.view`.","operationId":"list_deployments","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Environment to list deployments for.","title":"Environment Id"},"description":"Environment to list deployments for."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentListItemResponse"},"title":"Response List Deployments V1 Projects Project Id Deployments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"read","x-connic-project-permission":"deployments.view"},"post":{"tags":["deployments"],"summary":"Create deployment","description":"Creates a deployment from the project's connected git repository.\n\nBuilds the latest commit on the environment's `git_branch`, or on the repository's default branch\nwhen the environment has none.\nOnly works for projects with a git provider connected; other projects return 400.\nFor projects without git, deploy with `connic deploy` from the CLI.\nOlder pending or building deployments in the same environment are cancelled.\n\nRequired permission: `deployments.create`.","operationId":"create_deployment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"environment_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Environment to deploy to","title":"Environment Id"},"description":"Environment to deploy to"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DeploymentCreate"},{"type":"null"}],"title":"Deployment Create"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"write","x-connic-project-permission":"deployments.create"}},"/v1/projects/{project_id}/deployments/{deployment_id}":{"get":{"tags":["deployments"],"summary":"Get deployment","description":"Returns one deployment with its status, source, build logs, test and connector results, and the agents it contains.\n\nRequired permission: `deployments.view`.","operationId":"get_deployment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deployment Id"},"description":"Deployment ID from `GET /deployments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"read","x-connic-project-permission":"deployments.view"}},"/v1/projects/{project_id}/deployments/{deployment_id}/test-runs":{"get":{"tags":["deployments"],"summary":"List deployment test results","description":"Results of each test case from this deployment's test phase, ordered by agent and test name.\n\nRequired permission: `deployments.test`.","operationId":"list_deployment_test_runs","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deployment Id"},"description":"Deployment ID from `GET /deployments`."},{"name":"convert_costs_to","in":"query","required":false,"schema":{"anyOf":[{"enum":["EUR","USD"],"type":"string"},{"type":"null"}],"description":"Convert token costs to EUR or USD at the daily ECB reference rate of each model call","title":"Convert Costs To"},"description":"Convert token costs to EUR or USD at the daily ECB reference rate of each model call"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentTestRunWithCost"},"title":"Response List Deployment Test Runs V1 Projects Project Id Deployments Deployment Id Test Runs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"read","x-connic-project-permission":"deployments.test"}},"/v1/projects/{project_id}/deployments/{deployment_id}/cancel":{"post":{"tags":["deployments"],"summary":"Cancel deployment","description":"Requests cancellation of a deployment that is currently building.\n\nFor a deployment that is not building, nothing changes and the response has `ok: false`.\n\nRequired permission: `deployments.cancel`.","operationId":"cancel_deployment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deployment Id"},"description":"Deployment ID from `GET /deployments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDeploymentCancelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"write","x-connic-project-permission":"deployments.cancel"}},"/v1/projects/{project_id}/deployments/{deployment_id}/activate":{"post":{"tags":["deployments"],"summary":"Activate deployment","description":"Makes a deployment with status `deployed` the live version for its environment.\n\nConnectors declared in code are restored to the deployment's connector files. If a connector change\nfails, returns 409 and nothing is activated unless `force` is set.\n\nRequired permission: `deployments.activate`.","operationId":"activate_deployment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deployment Id"},"description":"Deployment ID from `GET /deployments`."},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Activate even if some connector changes from connectors/*.yaml fail; failing connectors keep their current state","default":false,"title":"Force"},"description":"Activate even if some connector changes from connectors/*.yaml fail; failing connectors keep their current state"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The API key lacks the required permission or access to the environment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"404":{"description":"The resource does not exist in this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"x-connic-permission-section":"deployments","x-connic-permission-action":"write","x-connic-project-permission":"deployments.activate"}},"/v1/projects/{project_id}/deployments/{deployment_id}/redeploy":{"post":{"tags":["deployments"],"summary":"Redeploy deployment","description":"Creates a new deployment using the same source and environment as an existing one.\n\nRequired permission: `deployments.redeploy`.","operationId":"redeploy_deployment","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"},"description":"ID of the project the API key belongs to."},{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deployment Id"},"description":"Deployment ID from `GET /deployments`."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentRe
# --- truncated at 32 KB (655 KB total) ---
# Full source: https://artifacts.apis.io/connic-co/openapi/_original/connic-co-public-openapi.json