{"openapi":"3.1.0","paths":{"/v1/auth/context":{"get":{"operationId":"getAuthContext","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAuthContextResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:read"]},{"adamId":["projects:write"]},{"adamId":["tasks:read"]},{"adamId":["tasks:write"]},{"adamId":["files:read"]},{"adamId":["files:write"]},{"adamId":["billing:read"]},{"adamId":["integrations:read"]},{"adamId":["automations:read"]},{"adamId":["automations:write"]}],"summary":"Get authentication context","tags":["Adam API"]}},"/v1/models":{"get":{"operationId":"listModels","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiModelsResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:read"]},{"adamId":["projects:write"]},{"adamId":["tasks:read"]},{"adamId":["tasks:write"]},{"adamId":["files:read"]},{"adamId":["files:write"]},{"adamId":["billing:read"]},{"adamId":["integrations:read"]},{"adamId":["automations:read"]},{"adamId":["automations:write"]}],"summary":"List available models","tags":["Adam API"]}},"/v1/automations":{"get":{"operationId":"listAutomations","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiAutomationsResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:read"]}],"summary":"List automations","tags":["Adam API"]},"post":{"description":"Recurring schedules require cron; one-time schedules require runAt; webhook automations require triggerEvent.","operationId":"createAutomation","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional unique key. When supplied, retries with the same key and body replay the original response for 24 hours.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicApiAutomationRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:write"]}],"summary":"Create an automation","tags":["Adam API"]}},"/v1/automations/{automationId}":{"get":{"operationId":"getAutomation","parameters":[{"name":"automationId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:read"]}],"summary":"Get an automation","tags":["Adam API"]},"patch":{"operationId":"updateAutomation","parameters":[{"name":"automationId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicApiAutomationRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:write"]}],"summary":"Update an automation","tags":["Adam API"]},"delete":{"operationId":"deleteAutomation","parameters":[{"name":"automationId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletePublicApiResourceResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:write"]}],"summary":"Delete an automation","tags":["Adam API"]}},"/v1/automations/{automationId}/pause":{"post":{"operationId":"pauseAutomation","parameters":[{"name":"automationId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:write"]}],"summary":"Pause an automation","tags":["Adam API"]}},"/v1/automations/{automationId}/resume":{"post":{"operationId":"resumeAutomation","parameters":[{"name":"automationId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["automations:write"]}],"summary":"Resume an automation","tags":["Adam API"]}},"/v1/billing/summary":{"get":{"operationId":"getBillingSummary","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiBillingSummaryResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["billing:read"]}],"summary":"Get billing and usage summary","tags":["Adam API"]}},"/v1/integrations":{"get":{"operationId":"listIntegrations","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiIntegrationsResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["integrations:read"]}],"summary":"List available and connected integrations","tags":["Adam API"]}},"/v1/integrations/{integrationSlug}":{"get":{"operationId":"getIntegration","parameters":[{"name":"integrationSlug","required":true,"in":"path","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiIntegrationResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["integrations:read"]}],"summary":"Get an integration","tags":["Adam API"]}},"/v1/uploads":{"post":{"description":"Uploads bytes for a later task or message. The returned upload id is opaque, expires after 24 hours, and creates no durable file until referenced.","operationId":"createUpload","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"properties":{"file":{"format":"binary","type":"string"}},"required":["file"],"type":"object"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicApiUploadResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["files:write"]}],"summary":"Upload a task attachment","tags":["Adam API"]}},"/v1/projects":{"get":{"operationId":"listProjects","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":50,"maximum":50,"minimum":1,"type":"integer"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the previous page","schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiProjectsResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:read"]}],"summary":"List projects","tags":["Adam API"]},"post":{"operationId":"createProject","parameters":[{"name":"Idempotency-Key","in":"header","description":"Optional unique key. When supplied, retries with the same key and body replay the original response for 24 hours.","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicApiProjectRequestDto"},"examples":{"project":{"summary":"A private project","value":{"description":"Reduce mass while preserving the mounting envelope.","name":"Gearbox redesign","visibility":"private"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiProjectResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:write"]}],"summary":"Create a project","tags":["Adam API"]}},"/v1/projects/{projectId}":{"get":{"operationId":"getProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiProjectResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:read"]}],"summary":"Get a project","tags":["Adam API"]},"patch":{"operationId":"updateProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicApiProjectRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiProjectResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:write"]}],"summary":"Update a project","tags":["Adam API"]},"delete":{"operationId":"deleteProject","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The project was deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletePublicApiResourceResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:write"]}],"summary":"Delete a project","tags":["Adam API"]}},"/v1/projects/{projectId}/files":{"get":{"operationId":"listProjectFiles","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":50,"maximum":50,"minimum":1,"type":"integer"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the previous page","schema":{"minLength":1,"type":"string"}},{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiFilesResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:read","files:read"]}],"summary":"List project files","tags":["Adam API"]},"post":{"operationId":"uploadProjectFile","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"properties":{"file":{"format":"binary","type":"string"}},"required":["file"],"type":"object"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiFileResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:write","files:write"]}],"summary":"Upload a project file","tags":["Adam API"]}},"/v1/projects/{projectId}/files/{fileId}":{"delete":{"operationId":"deleteProjectFile","parameters":[{"name":"fileId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}},{"name":"projectId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The project file was deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletePublicApiResourceResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["projects:write","files:write"]}],"summary":"Delete a project file","tags":["Adam API"]}},"/v1/tasks":{"get":{"operationId":"listTasks","parameters":[{"name":"status","required":false,"in":"query","schema":{"enum":["queued","running","awaiting_input","completed","cancelled","failed"],"type":"string"}},{"name":"projectId","required":false,"in":"query","schema":{"format":"uuid","type":"string"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the previous page","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"maximum":50,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiTasksResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:read"]}],"summary":"List tasks","tags":["Adam API"]},"post":{"description":"Starts asynchronous work. Supplying attachments additionally requires files:write; each uploadId must come from POST /v1/uploads.","operationId":"createTask","parameters":[{"name":"Idempotency-Key","in":"header","description":"Required unique key. For 24 hours, retries with the same key and body replay the original response.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicApiTaskRequestDto"},"examples":{"task":{"summary":"Start an engineering task","value":{"model":{"fast":false,"slug":"pro","effort":"high"},"prompt":"Design a printable mounting bracket for a 40 mm stepper motor.","projectId":"PROJECT_ID"}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Create and start a task","tags":["Adam API"]}},"/v1/tasks/{taskId}":{"get":{"operationId":"getTask","parameters":[{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:read"]}],"summary":"Get a task and its messages","tags":["Adam API"]},"patch":{"operationId":"updateTask","parameters":[{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicApiTaskRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Update a task","tags":["Adam API"]},"delete":{"operationId":"deleteTask","parameters":[{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The task was deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletePublicApiResourceResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Delete a task","tags":["Adam API"]}},"/v1/tasks/{taskId}/messages":{"get":{"description":"Returns messages in chronological order. Use nextCursor to continue from the last message in the page.","operationId":"listTaskMessages","parameters":[{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the previous page","schema":{"minLength":1,"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:read"]}],"summary":"List a task's messages","tags":["Adam API"]},"post":{"description":"Continues asynchronous work. Supplying attachments additionally requires files:write; each uploadId must come from POST /v1/uploads.","operationId":"sendTaskMessage","parameters":[{"name":"Idempotency-Key","in":"header","description":"Required unique key. For 24 hours, retries with the same key and body replay the original response.","required":true,"schema":{"type":"string"}},{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendPublicApiTaskMessageRequestDto"},"examples":{"message":{"summary":"Continue a task","value":{"content":"Make the wall thickness 3 mm and add fillets.","model":{"fast":false,"slug":"pro","effort":"high"}}}}}}},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppendPublicApiTaskMessageResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Send a message to a task","tags":["Adam API"]}},"/v1/tasks/{taskId}/cancel":{"post":{"description":"Cancels queued, running, or awaiting-input work. Repeated requests are safe; completed and failed tasks remain unchanged.","operationId":"cancelTask","parameters":[{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"The task's current state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Cancel a task","tags":["Adam API"]}},"/v1/tasks/{taskId}/interactions/{interactionId}":{"post":{"operationId":"resolveTaskInteraction","parameters":[{"name":"Idempotency-Key","in":"header","description":"Required unique key. For 24 hours, retries with the same key and body replay the original response.","required":true,"schema":{"type":"string"}},{"name":"interactionId","required":true,"in":"path","schema":{"minLength":1,"type":"string"}},{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvePublicApiTaskInteractionRequestDto"},"examples":{"answer":{"summary":"Answer a question or approval request","value":{"response":"Approved. Use M5 fasteners."}}}}}},"responses":{"202":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvePublicApiTaskInteractionResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:write"]}],"summary":"Answer a task interaction","tags":["Adam API"]}},"/v1/tasks/{taskId}/files":{"get":{"operationId":"listTaskFiles","parameters":[{"name":"limit","required":false,"in":"query","schema":{"default":50,"maximum":50,"minimum":1,"type":"integer"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the previous page","schema":{"minLength":1,"type":"string"}},{"name":"taskId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPublicApiFilesResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["tasks:read","files:read"]}],"summary":"List task files","tags":["Adam API"]}},"/v1/files/{fileId}":{"get":{"operationId":"getFile","parameters":[{"name":"fileId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicApiFileResponseDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["files:read"]}],"summary":"Get file metadata","tags":["Adam API"]}},"/v1/files/{fileId}/content":{"get":{"operationId":"downloadFile","parameters":[{"name":"fileId","required":true,"in":"path","schema":{"format":"uuid","type":"string"}}],"responses":{"302":{"description":"Redirects to a short-lived download URL"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"401":{"description":"Missing or invalid Bearer credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"402":{"description":"Payment or subscription required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"403":{"description":"Credential is missing a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"409":{"description":"Request conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Seconds until both the policy and global buckets can accept another request.","schema":{"type":"integer"}},"RateLimit":{"description":"Live state of the most-constrained quota policy (draft-ietf-httpapi-ratelimit-headers).","schema":{"type":"string"}},"RateLimit-Policy":{"description":"The quota policies applied to this request: capacity (q) and window seconds (w).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}},"500":{"description":"Internal API error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorDto"}}}}},"security":[{"personalApiKey":[]},{"adamId":["files:read"]}],"summary":"Download a file","tags":["Adam API"]}}},"info":{"title":"Adam API","description":"Create projects, start and continue AI engineering tasks, and retrieve their files.\n\n## Authentication\n\nEvery endpoint accepts either a personal API key or an Adam ID OAuth 2.0 access token. OAuth clients must request the RFC 8707 resource indicator `https://api.adam.new/v1`; tokens for other Adam resources are rejected.\n\n## Versioning and deprecation\n\nThe API is versioned in the URL path (`/v1`). Backwards-compatible additions ship within `/v1`; breaking changes ship as a new major version (`/v2`) alongside the old one. When an endpoint or version is scheduled for removal, its responses carry `Deprecation` and `Sunset` headers at least 90 days before the retirement date, and the change is announced at https://adam.new/changelog.\n\n## Rate limits\n\nEvery response reports quota via the standard `RateLimit` and `RateLimit-Policy` headers (draft-ietf-httpapi-ratelimit-headers) and the `X-RateLimit-*` set. A `429` includes `Retry-After` in seconds: wait that long before retrying.\n\n## Errors\n\nAll 4xx/5xx responses use one JSON shape: `{ \"error\": { \"type\", \"message\", \"requestId\" } }`, where `type` is a stable machine-readable code (e.g. `invalid_request`, `rate_limit_error`) and `requestId` can be quoted to support.","version":"1.0.0","contact":{}},"tags":[],"servers":[{"url":"https://api.adam.new","description":"Production"}],"components":{"securitySchemes":{"personalApiKey":{"scheme":"bearer","bearerFormat":"adam_pk_…","description":"A personal API key created in Adam. Send it as `Authorization: Bearer <key>`.","type":"http"},"adamId":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://api.adam.new/auth/oauth2/authorize","refreshUrl":"https://api.adam.new/auth/oauth2/token","scopes":{"offline_access":"Issue a refresh token so access can be renewed without a new sign-in.","automations:read":"List and inspect automations in the selected workspace.","automations:write":"Create, edit, pause, resume, and delete automations in the selected workspace.","billing:read":"Read subscription, entitlement, and usage information for the selected workspace.","files:read":"List files produced by projects and tasks.","files:write":"Upload task attachments and project files.","integrations:read":"List available and connected integrations in the selected workspace.","projects:read":"List and read projects in the selected workspace.","projects:write":"Create and update projects in the selected workspace.","tasks:read":"List tasks, task status, and task messages.","tasks:write":"Create, update, message, answer, and cancel tasks in the selected workspace."},"tokenUrl":"https://api.adam.new/auth/oauth2/token"}},"description":"Adam ID OAuth 2.0 authorization code flow with PKCE (S256). Send resource=https://api.adam.new/v1 on the authorization request and every token request, including refresh-token grants. Protected-resource metadata: https://api.adam.new/.well-known/oauth-protected-resource/v1."}},"schemas":{"GetPublicApiAuthContextResponseDto":{"type":"object","properties":{"credentialType":{"type":"string","enum":["personal_api_key","oauth_access_token"]},"user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"]},"team":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"}},"required":["id","slug"]},"scopes":{"type":"array","items":{"type":"string","enum":["projects:read","projects:write","tasks:read","tasks:write","files:read","files:write","billing:read","integrations:read","automations:read","automations:write"]}}},"required":["credentialType","user","team","scopes"]},"PublicApiErrorDto":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"}},"required":["type","message"]}},"required":["error"]},"ListPublicApiModelsResponseDto":{"type":"object","properties":{"models":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string"},"description":{"type":"string"},"fastAvailable":{"type":"boolean"},"requiresPlan":{"type":"boolean"}},"required":["slug","name","description","fastAvailable","requiresPlan"]}}},"required":["models"]},"ListPublicApiAutomationsResponseDto__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/ListPublicApiAutomationsResponseDto__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/ListPublicApiAutomationsResponseDto__schema0"}}]},"ListPublicApiAutomationsResponseDto":{"type":"object","properties":{"automations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"prompt":{"type":"string"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]},"enabled":{"type":"boolean"},"trigger":{"type":"string","enum":["schedule","webhook"]},"type":{"type":"string","enum":["recurring","one_time"]},"cron":{"anyOf":[{"type":"string"},{"type":"null"}]},"timezone":{"type":"string"},"runAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"nextRunAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"triggerProvider":{"anyOf":[{"type":"string","enum":["composio"]},{"type":"null"}]},"triggerEvent":{"anyOf":[{"type":"string"},{"type":"null"}]},"triggerApp":{"anyOf":[{"type":"string"},{"type":"null"}]},"triggerConfig":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/ListPublicApiAutomationsResponseDto__schema0"}},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]},"lastRunAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"lastStatus":{"anyOf":[{"type":"string","enum":["running","completed","failed","skipped"]},{"type":"null"}]},"runCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","name","prompt","effort","enabled","trigger","type","cron","timezone","runAt","nextRunAt","triggerProvider","triggerEvent","triggerApp","triggerConfig","taskId","visibility","lastRunAt","lastStatus","runCount","createdAt","updatedAt"]}}},"required":["automations"]},"CreatePublicApiAutomationRequestDto__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/CreatePublicApiAutomationRequestDto__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/CreatePublicApiAutomationRequestDto__schema0"}}]},"CreatePublicApiAutomationRequestDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"prompt":{"type":"string","minLength":1,"maxLength":20000},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]},"enabled":{"type":"boolean"},"visibility":{"type":"string","enum":["private","team"]},"trigger":{"type":"string","enum":["schedule","webhook"]},"type":{"type":"string","enum":["recurring","one_time"]},"cron":{"type":"string","minLength":1},"timezone":{"type":"string","minLength":1,"maxLength":100},"runAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"triggerProvider":{"type":"string","const":"composio"},"triggerEvent":{"type":"string","minLength":1,"maxLength":255},"triggerApp":{"type":"string","minLength":1,"maxLength":255},"triggerConfig":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/CreatePublicApiAutomationRequestDto__schema0"}}},"required":["name","prompt","trigger","type"]},"GetPublicApiAutomationResponseDto__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto__schema0"}}]},"GetPublicApiAutomationResponseDto":{"type":"object","properties":{"automation":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"prompt":{"type":"string"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]},"enabled":{"type":"boolean"},"trigger":{"type":"string","enum":["schedule","webhook"]},"type":{"type":"string","enum":["recurring","one_time"]},"cron":{"anyOf":[{"type":"string"},{"type":"null"}]},"timezone":{"type":"string"},"runAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"nextRunAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"triggerProvider":{"anyOf":[{"type":"string","enum":["composio"]},{"type":"null"}]},"triggerEvent":{"anyOf":[{"type":"string"},{"type":"null"}]},"triggerApp":{"anyOf":[{"type":"string"},{"type":"null"}]},"triggerConfig":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/GetPublicApiAutomationResponseDto__schema0"}},{"type":"null"}]},"taskId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]},"lastRunAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"lastStatus":{"anyOf":[{"type":"string","enum":["running","completed","failed","skipped"]},{"type":"null"}]},"runCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","name","prompt","effort","enabled","trigger","type","cron","timezone","runAt","nextRunAt","triggerProvider","triggerEvent","triggerApp","triggerConfig","taskId","visibility","lastRunAt","lastStatus","runCount","createdAt","updatedAt"]}},"required":["automation"]},"UpdatePublicApiAutomationRequestDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"prompt":{"type":"string","minLength":1,"maxLength":20000},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]},"cron":{"type":"string","minLength":1},"timezone":{"type":"string","minLength":1,"maxLength":100},"runAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]}}},"DeletePublicApiResourceResponseDto":{"type":"object","properties":{"deleted":{"type":"boolean","const":true}},"required":["deleted"]},"GetPublicApiBillingSummaryResponseDto":{"type":"object","properties":{"plan":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string","enum":["active","trialing","past_due","canceled","incomplete","unpaid","none"]},"isTrial":{"type":"boolean"},"interval":{"anyOf":[{"type":"string","enum":["monthly","annual"]},{"type":"null"}]},"priceCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"unlimited":{"type":"boolean"},"renewsAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]},"cancelAtPeriodEnd":{"type":"boolean"}},"required":["name","status","isTrial","interval","priceCents","unlimited","renewsAt","cancelAtPeriodEnd"]},"usage":{"type":"object","properties":{"included":{"anyOf":[{"type":"object","properties":{"period":{"type":"string","enum":["daily","weekly"]},"remainingPercent":{"type":"number","minimum":0,"maximum":100},"resetsAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["period","remainingPercent","resetsAt"]},{"type":"null"}]},"ultra":{"anyOf":[{"type":"object","properties":{"period":{"type":"string","enum":["daily","weekly"]},"remainingPercent":{"type":"number","minimum":0,"maximum":100},"resetsAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["period","remainingPercent","resetsAt"]},{"type":"null"}]},"topUpFundsDollars":{"type":"number","minimum":0}},"required":["included","ultra","topUpFundsDollars"]}},"required":["plan","usage"]},"ListPublicApiIntegrationsResponseDto":{"type":"object","properties":{"integrations":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"defaultScope":{"type":"string","enum":["team","user"]},"status":{"type":"string","enum":["available","coming-soon","connected"]},"connection":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string","enum":["team","user"]},"connectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["scope","connectedAt"]},{"type":"null"}]}},"required":["slug","name","description","defaultScope","status","connection"]}}},"required":["integrations"]},"GetPublicApiIntegrationResponseDto":{"type":"object","properties":{"integration":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"defaultScope":{"type":"string","enum":["team","user"]},"status":{"type":"string","enum":["available","coming-soon","connected"]},"connection":{"anyOf":[{"type":"object","properties":{"scope":{"type":"string","enum":["team","user"]},"connectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["scope","connectedAt"]},{"type":"null"}]}},"required":["slug","name","description","defaultScope","status","connection"]}},"required":["integration"]},"CreatePublicApiUploadResponseDto":{"type":"object","properties":{"upload":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mediaType":{"type":"string"},"size":{"type":"number"},"expiresAt":{"type":"string"}},"required":["id","name","mediaType","size","expiresAt"]}},"required":["upload"]},"ListPublicApiProjectsResponseDto":{"type":"object","properties":{"projects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]},"memoryScope":{"type":"string","enum":["project","workspace"]},"taskCount":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","description","visibility","memoryScope","taskCount","createdAt","updatedAt"]}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["projects","nextCursor"]},"CreatePublicApiProjectRequestDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","maxLength":4000},"visibility":{"type":"string","enum":["private","team"]},"memoryScope":{"type":"string","enum":["project","workspace"]}},"required":["name"]},"GetPublicApiProjectResponseDto":{"type":"object","properties":{"project":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]},"memoryScope":{"type":"string","enum":["project","workspace"]},"taskCount":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","description","visibility","memoryScope","taskCount","createdAt","updatedAt"]}},"required":["project"]},"UpdatePublicApiProjectRequestDto":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}]},"visibility":{"type":"string","enum":["private","team"]},"memoryScope":{"type":"string","enum":["project","workspace"]}}},"ListPublicApiFilesResponseDto":{"type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mediaType":{"type":"string"},"size":{"type":"number"},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"downloadUrl":{"type":"string","format":"uri"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","mediaType","size","taskId","projectId","downloadUrl","createdAt","updatedAt"]}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["files","nextCursor"]},"GetPublicApiFileResponseDto":{"type":"object","properties":{"file":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"mediaType":{"type":"string"},"size":{"type":"number"},"taskId":{"anyOf":[{"type":"string"},{"type":"null"}]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"downloadUrl":{"type":"string","format":"uri"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","mediaType","size","taskId","projectId","downloadUrl","createdAt","updatedAt"]}},"required":["file"]},"ListPublicApiTasksResponseDto":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["queued","running","awaiting_input","completed","cancelled","failed"]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"model":{"type":"object","properties":{"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"fast":{"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug","fast","effort"]},"pendingInteraction":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["question","approval"]},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","type","prompt"]},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","title","status","projectId","model","pendingInteraction","createdAt","updatedAt"]}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tasks","nextCursor"]},"CreatePublicApiTaskRequestDto":{"type":"object","properties":{"prompt":{"default":"","type":"string","maxLength":100000},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"uploadId":{"type":"string","minLength":1}},"required":["uploadId"]}},"title":{"type":"string","minLength":1,"maxLength":500},"model":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"fast":{"default":false,"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug"],"additionalProperties":false},"projectId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["model"]},"GetPublicApiTaskResponseDto__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}}]},"GetPublicApiTaskResponseDto":{"type":"object","properties":{"task":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["queued","running","awaiting_input","completed","cancelled","failed"]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"model":{"type":"object","properties":{"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"fast":{"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug","fast","effort"]},"pendingInteraction":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["question","approval"]},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","type","prompt"]},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","title","status","projectId","model","pendingInteraction","createdAt","updatedAt"]},"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["user","assistant"]},"parts":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"reasoning"},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"file"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mediaType":{"type":"string"},"downloadUrl":{"type":"string","format":"uri"}},"required":["type","id","name","mediaType","downloadUrl"]},{"type":"object","properties":{"type":{"type":"string","const":"source_url"},"sourceId":{"type":"string"},"url":{"type":"string","format":"uri"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","sourceId","url","title"]},{"type":"object","properties":{"type":{"type":"string","const":"source_document"},"sourceId":{"type":"string"},"mediaType":{"type":"string"},"title":{"type":"string"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","sourceId","mediaType","title","filename"]},{"type":"object","properties":{"type":{"type":"string","const":"reasoning_file"},"mediaType":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["type","mediaType","url"]},{"type":"object","properties":{"type":{"type":"string","const":"data"},"name":{"type":"string"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"data":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}},"required":["type","name","id","data"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"kind":{"type":"string"},"providerMetadata":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}},"required":["type","kind"]},{"type":"object","properties":{"type":{"type":"string","const":"step_start"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_call"},"toolCallId":{"type":"string"},"name":{"type":"string"},"input":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}},"required":["type","toolCallId","name"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"success"},"output":{"$ref":"#/components/schemas/GetPublicApiTaskResponseDto__schema0"}},"required":["type","toolCallId","name","status"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"type":"string"}},"required":["type","toolCallId","name","status"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"denied"}},"required":["type","toolCallId","name","status"]}]}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","role","parts","createdAt"]}}},"required":["task","messages"]},"ListPublicApiTaskMessagesResponseDto__schema0":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}}]},"ListPublicApiTaskMessagesResponseDto":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["user","assistant"]},"parts":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"reasoning"},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"]},{"type":"object","properties":{"type":{"type":"string","const":"file"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"mediaType":{"type":"string"},"downloadUrl":{"type":"string","format":"uri"}},"required":["type","id","name","mediaType","downloadUrl"]},{"type":"object","properties":{"type":{"type":"string","const":"source_url"},"sourceId":{"type":"string"},"url":{"type":"string","format":"uri"},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","sourceId","url","title"]},{"type":"object","properties":{"type":{"type":"string","const":"source_document"},"sourceId":{"type":"string"},"mediaType":{"type":"string"},"title":{"type":"string"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","sourceId","mediaType","title","filename"]},{"type":"object","properties":{"type":{"type":"string","const":"reasoning_file"},"mediaType":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["type","mediaType","url"]},{"type":"object","properties":{"type":{"type":"string","const":"data"},"name":{"type":"string"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"data":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}},"required":["type","name","id","data"]},{"type":"object","properties":{"type":{"type":"string","const":"custom"},"kind":{"type":"string"},"providerMetadata":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}},"required":["type","kind"]},{"type":"object","properties":{"type":{"type":"string","const":"step_start"}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_call"},"toolCallId":{"type":"string"},"name":{"type":"string"},"input":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}},"required":["type","toolCallId","name"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"success"},"output":{"$ref":"#/components/schemas/ListPublicApiTaskMessagesResponseDto__schema0"}},"required":["type","toolCallId","name","status"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"error"},"error":{"type":"string"}},"required":["type","toolCallId","name","status"]},{"type":"object","properties":{"type":{"type":"string","const":"tool_result"},"toolCallId":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","const":"denied"}},"required":["type","toolCallId","name","status"]}]}},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["id","role","parts","createdAt"]}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["messages","nextCursor"]},"UpdatePublicApiTaskRequestDto":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":500},"projectId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]}}},"AppendPublicApiTaskMessageRequestDto":{"type":"object","properties":{"content":{"default":"","type":"string","maxLength":100000},"attachments":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"uploadId":{"type":"string","minLength":1}},"required":["uploadId"]}},"model":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"fast":{"default":false,"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug"],"additionalProperties":false}}},"AppendPublicApiTaskMessageResponseDto":{"type":"object","properties":{"accepted":{"type":"boolean","const":true},"task":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["queued","running","awaiting_input","completed","cancelled","failed"]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"model":{"type":"object","properties":{"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"fast":{"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug","fast","effort"]},"pendingInteraction":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["question","approval"]},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","type","prompt"]},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","title","status","projectId","model","pendingInteraction","createdAt","updatedAt"]}},"required":["accepted","task"]},"ResolvePublicApiTaskInteractionRequestDto":{"type":"object","properties":{"response":{"anyOf":[{"type":"string","minLength":1,"maxLength":20000},{"type":"object","properties":{"answers":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"details":{"type":"string","maxLength":20000},"question":{"type":"string","minLength":1,"maxLength":2000},"selected":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":500}}},"required":["question","selected"],"additionalProperties":false}}},"required":["answers"],"additionalProperties":false}]}},"required":["response"]},"ResolvePublicApiTaskInteractionResponseDto":{"type":"object","properties":{"resolved":{"type":"boolean"},"task":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["queued","running","awaiting_input","completed","cancelled","failed"]},"projectId":{"anyOf":[{"type":"string"},{"type":"null"}]},"model":{"type":"object","properties":{"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},{"type":"null"}]},"fast":{"type":"boolean"},"effort":{"anyOf":[{"type":"string","enum":["low","medium","high","xhigh"]},{"type":"null"}]}},"required":["slug","fast","effort"]},"pendingInteraction":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["question","approval"]},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","type","prompt"]},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","title","status","projectId","model","pendingInteraction","createdAt","updatedAt"]}},"required":["resolved","task"]}},"headers":{"Deprecation":{"description":"RFC 9745 structured-field date (`@<Unix timestamp>`) indicating when this operation became or will become deprecated.","schema":{"pattern":"^@[0-9]+$","type":"string"}},"DeprecationLink":{"description":"RFC 8288 Link header with rel=\"deprecation\" pointing to migration guidance. Policy: https://docs.adam.new/api-reference/introduction#versioning-and-deprecation.","schema":{"type":"string"}},"Sunset":{"description":"RFC 8594 HTTP-date indicating when a deprecated operation is expected to become unavailable.","schema":{"format":"http-date","type":"string"}}}},"externalDocs":{"description":"Adam API versioning and deprecation policy","url":"https://docs.adam.new/api-reference/introduction#versioning-and-deprecation"},"x-versioning-policy":{"deprecationHeaders":["Deprecation","Sunset","Link"],"minimumSunsetNoticeDays":90,"policyUrl":"https://docs.adam.new/api-reference/introduction#versioning-and-deprecation","strategy":"URL path major versioning"}}