{"components":{"schemas":{"AccessKey":{"additionalProperties":false,"properties":{"acting_agent_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"activated_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"audiences":{"items":{"description":"Absolute ASCII HTTP(S) resource-server URL; non-ASCII octets use complete percent triplets and fragments are forbidden.","pattern":"^https?:\\/\\/[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?(?::(?:0|[1-9]\\d{0,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5]))?(?:\\/(?:[A-Za-z0-9._~!$&'()*+,;=:@/?-]|%[A-Fa-f0-9]{2})*)?$","type":"string"},"minItems":1,"type":"array"},"capabilities":{"items":{"maxLength":128,"minLength":1,"type":"string"},"minItems":1,"type":"array"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"environment_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":100,"minLength":2,"type":"string"},"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_type":{"const":"member","type":"string"},"resources":{"items":{"additionalProperties":false,"properties":{"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resource_type","resource_id"],"type":"object"},"type":"array"},"revoked_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"state":{"enum":["activating","active","revoke_requested","revoked","poisoned"],"type":"string"},"token_prefix":{"type":"string"},"type":{"const":"personal_key","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"version":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["id","name","type","token_prefix","principal_type","principal_id","capabilities","resources","environment_ids","audiences","state","acting_agent_id","expires_at","activated_at","revoked_at","created_at","updated_at","version"],"type":"object"},"AccountDeletionBlocked":{"additionalProperties":false,"properties":{"blocking_tenants":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["tenant_id","name"],"type":"object"},"type":"array"}},"required":["blocking_tenants"],"type":"object"},"AccountDeletionPreview":{"additionalProperties":false,"properties":{"blocking_tenants":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["tenant_id","name"],"type":"object"},"type":"array"},"memberships":{"items":{"additionalProperties":false,"properties":{"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["tenant_id"],"type":"object"},"type":"array"},"root_kind":{"const":"account","type":"string"},"subject_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["root_kind","subject_id","memberships","blocking_tenants"],"type":"object"},"AdmitAccountDeletion":{"additionalProperties":false,"properties":{"confirm_email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"}},"required":["confirm_email"],"type":"object"},"AdmitTenantDeletion":{"additionalProperties":false,"properties":{"confirm_name":{"minLength":1,"type":"string"},"fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"}},"required":["fingerprint","confirm_name"],"type":"object"},"Agent":{"additionalProperties":false,"properties":{"base_tools":{"items":{"type":"string"},"type":"array"},"connectors":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_active":{"type":"boolean"},"is_system":{"type":"boolean"},"max_budget_usd":{"type":"number"},"max_turns":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"model":{"type":"string"},"name":{"type":"string"},"permission_mode":{"enum":["acceptEdits","default","bypassPermissions"],"type":"string"},"slug":{"type":"string"},"system_prompt_preset":{"anyOf":[{"type":"string"},{"type":"null"}]},"system_prompt_text":{"type":"string"},"system_prompt_type":{"enum":["preset_append","custom"],"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","slug","name","description","is_system","is_active","model","created_at","max_turns","max_budget_usd","permission_mode","system_prompt_type","system_prompt_preset","system_prompt_text","base_tools","updated_at","connectors"],"type":"object"},"AgentConnectors":{"additionalProperties":false,"properties":{"connectors":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"}},"required":["connectors"],"type":"object"},"AgentSummary":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_active":{"type":"boolean"},"is_system":{"type":"boolean"},"model":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","slug","name","description","is_system","is_active","model","created_at"],"type":"object"},"ApplicationCatalog":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/ApplicationCatalogEntry"},"type":"array"}},"required":["data"],"type":"object"},"ApplicationCatalogEntry":{"additionalProperties":false,"properties":{"agent_guidance":{"anyOf":[{"maxLength":30000,"minLength":1,"type":"string"},{"type":"null"}]},"api_url_matches":{"items":{"additionalProperties":false,"properties":{"hostname":{"maxLength":253,"pattern":"^(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"hostname_mode":{"enum":["exact","subdomain"],"type":"string"},"path_prefix":{"anyOf":[{"maxLength":2048,"pattern":"^\\/[^?#]*$","type":"string"},{"type":"null"}]}},"required":["hostname","hostname_mode","path_prefix"],"type":"object"},"maxItems":100,"type":"array"},"authentication_options":{"items":{"additionalProperties":false,"properties":{"agent_guidance":{"anyOf":[{"maxLength":30000,"minLength":1,"type":"string"},{"type":"null"}]},"auth_setup_ref":{"anyOf":[{"additionalProperties":false,"properties":{"application_slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option_id":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["application_slug","authentication_option_id"],"type":"object"},{"type":"null"}]},"fields":{"items":{"additionalProperties":false,"properties":{"key":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"anyOf":[{"additionalProperties":false,"properties":{"pattern":{"maxLength":200,"minLength":1,"type":"string"},"position":{"enum":["starts_with","ends_with","contains"],"type":"string"}},"required":["position","pattern"],"type":"object"},{"type":"null"}]},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"text","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["kind","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"open","type":"string"},"page":{"maxLength":120,"minLength":1,"type":"string"},"site":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}]},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["kind","url","page","site"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"typenode_value","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"},"value":{"const":"redirect_uri","type":"string"}},"required":["kind","value","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"permissions","type":"string"}},"required":["kind"],"type":"object"}]},"maxItems":20,"type":"array"}},"required":["steps","format"],"type":"object"},{"type":"null"}]},"secret":{"type":"boolean"}},"required":["key","label","secret","recipe"],"type":"object"},"maxItems":20,"type":"array"},"id":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"kind":{"enum":["copy","connect"],"type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"}},"required":["id","label","kind","auth_setup_ref","agent_guidance","fields"],"type":"object"},"maxItems":50,"type":"array"},"cost_context":{"anyOf":[{"maxLength":30000,"minLength":1,"type":"string"},{"type":"null"}]},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"documentation_links":{"items":{"additionalProperties":false,"properties":{"description":{"maxLength":1000,"minLength":1,"type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["label","url","description"],"type":"object"},"maxItems":50,"type":"array"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["slug","name","icon","api_url_matches","agent_guidance","authentication_options","cost_context","documentation_links","created_at","updated_at"],"type":"object"},"AssignRole":{"properties":{"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_kind":{"enum":["member","service_account"],"type":"string"}},"required":["principal_kind","principal_id"],"type":"object"},"AuditEvent":{"additionalProperties":false,"properties":{"action":{"type":"string"},"actor_context":{"additionalProperties":{},"properties":{"agent":{"additionalProperties":false,"properties":{"app":{"minLength":1,"type":"string"},"grant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["grant_id","name","app"],"type":"object"}},"type":"object"},"actor_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"actor_type":{"enum":["member","service_account","ai_agent","system"],"type":"string"},"after_state":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"before_state":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"client_correlation_id":{"anyOf":[{"pattern":"^[A-Za-z0-9]{32}$","type":"string"},{"type":"null"}]},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"metadata":{"$ref":"#/components/schemas/AuditMetadata"},"occurred_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"outcome":{"enum":["success","denied","failure"],"type":"string"},"request_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"type":"string"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trace_id":{"anyOf":[{"pattern":"^(?!0{32}$)[0-9a-f]{32}$","type":"string"},{"type":"null"}]}},"required":["id","occurred_at","tenant_id","actor_type","actor_id","actor_context","action","resource_type","resource_id","outcome","error_code","before_state","after_state","request_id","client_correlation_id","trace_id","metadata"],"type":"object"},"AuditMetadata":{"additionalProperties":false,"properties":{"active_changed":{"type":"boolean"},"added_capabilities":{"items":{"$ref":"#/components/schemas/RoleCapabilityEntry"},"type":"array"},"ai_agent_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"assignee_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"attempt_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"audience_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"audiences":{"items":{"type":"string"},"type":"array"},"authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"authorization_evidence":{"anyOf":[{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"configDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionAt":{"type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"projectionGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"publicationExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"publicationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisherId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisherKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"anonymous_publication","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","triggerId","publicationId","projectionGeneration","publisherKind","publisherId","decisionAt","configDigest"],"type":"object"},{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionEngine":{"const":"postgres","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"principalId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principalKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"live_check","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","principalKind","principalId","decisionEngine"],"type":"object"},{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionEngine":{"const":"edge","type":"string"},"edgeModelId":{"minLength":1,"type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"principalId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principalKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"live_check","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","principalKind","principalId","decisionEngine","edgeModelId"],"type":"object"},{"additionalProperties":false,"properties":{"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"candidateDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"configDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"operationId":{"minLength":1,"type":"string"},"projectionGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"source":{"const":"managed_schedule","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowVersionId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowVersionNumber":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","triggerId","operationId","projectionGeneration","workflowVersionId","workflowVersionNumber","configDigest","candidateDigest"],"type":"object"},{"additionalProperties":false,"properties":{"deliveryId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"mailboxId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source":{"const":"email_delivery","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerDefinitionDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","triggerId","mailboxId","triggerDefinitionDigest","deliveryId"],"type":"object"},{"additionalProperties":false,"properties":{"deploymentGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"deploymentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"descriptorDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"destinationProfile":{"minLength":1,"type":"string"},"environmentAssignmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"governanceRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"installationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"kind":{"enum":["static_secret","hmac"],"type":"string"},"matchedName":{"minLength":1,"type":"string"},"routeAuthorityOperationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"runtimeDestinationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source":{"const":"webhook_verifier","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerAuthorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"triggerDefinitionDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"verifierGenerationId":{"pattern":"^[0-9a-f]{64}$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","environmentAssignmentId","installationId","runtimeDestinationId","destinationProfile","triggerId","deploymentId","deploymentGeneration","triggerAuthorityRevision","routeAuthorityOperationId","triggerDefinitionDigest","descriptorDigest","verifierGenerationId","governanceRevision","kind","matchedName"],"type":"object"}]},"backend_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"base_tools_changed":{"type":"boolean"},"capabilities":{"items":{"type":"string"},"type":"array"},"capability":{"anyOf":[{"type":"string"},{"type":"null"}]},"catalog_model_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"catalog_model_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"changed":{"type":"boolean"},"check_environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"check_parent_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"check_parent_owner_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"check_parent_owner_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"check_parent_type":{"anyOf":[{"pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},{"type":"null"}]},"check_resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"check_resource_owner_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"check_resource_owner_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"check_resource_type":{"anyOf":[{"pattern":"^[a-z][a-z0-9_]{0,63}$","type":"string"},{"type":"null"}]},"closed_publication_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"closed_publication_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"config_digest":{"anyOf":[{"type":"string"},{"type":"null"}]},"connector_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"content_hash":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_version":{"type":"boolean"},"creation_operation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"credential_audience":{"anyOf":[{"type":"string"},{"type":"null"}]},"credential_context":{"anyOf":[{"additionalProperties":false,"properties":{"acr":{"anyOf":[{"type":"string"},{"type":"null"}]},"act":{"anyOf":[{"type":"string"},{"type":"null"}]},"actingAgentId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"activationRevision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"agentName":{"type":"string"},"appName":{"type":"string"},"audience":{"type":"string"},"authTime":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"capabilities":{"items":{"type":"string"},"type":"array"},"ceiling":{"items":{"additionalProperties":false,"properties":{"capability":{"type":"string"},"environmentId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expiresAt":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"resourceId":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resourceType":{"anyOf":[{"type":"string"},{"type":"null"}]},"rowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"scopeKind":{"enum":["workspace","self","resource","parent","parent_self"],"type":"string"}},"required":["rowId","capability","scopeKind","resourceType","resourceId","environmentId","expiresAt"],"type":"object"},"type":"array"},"clientId":{"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentIds":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"expiresAt":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"grantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"holderId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"holderKind":{"enum":["member","service_account"],"type":"string"},"issuerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"issuerKind":{"enum":["member","service_account"],"type":"string"},"kind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"livenessRevision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"memberIncarnation":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"offlineAccess":{"type":"boolean"},"resources":{"items":{"additionalProperties":false,"properties":{"resourceId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resourceType":{"type":"string"}},"required":["resourceType","resourceId"],"type":"object"},"type":"array"},"restrictionExpiresAt":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"restrictionRevision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sessionId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"tokenExpiresAt":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"tokenIssuedAt":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"type":"object"},{"type":"null"}]},"credential_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"credential_kind":{"anyOf":[{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},{"type":"null"}]},"current_workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"decision_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"definition_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"deleted_authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"departure_report_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"description_changed":{"type":"boolean"},"edge_authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"enabled":{"type":"boolean"},"enabled_changed":{"type":"boolean"},"environment_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"environment_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"epoch":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"everyone_role_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expected_version":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]},"frozen_target_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"holder_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"holder_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"idempotency_key":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"inventory":{"additionalProperties":false,"properties":{"credentials":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environment_variables":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environments":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_servers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"roles":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"service_accounts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skills":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflow_triggers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflow_versions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflows":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["workflows","workflow_versions","workflow_triggers","environments","environment_variables","credentials","skills","mcp_servers","roles","service_accounts","members"],"type":"object"},"invitation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"is_everyone":{"type":"boolean"},"max_budget_changed":{"type":"boolean"},"max_skills":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"max_turns_changed":{"type":"boolean"},"mcp_server_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"member_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"member_incarnation":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"membership_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"model_changed":{"type":"boolean"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"name_changed":{"type":"boolean"},"new_auth_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"new_authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"new_config":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"new_enabled":{"type":"boolean"},"new_route_authority_operation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"node_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"nodes":{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},"oauth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"old_auth_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"old_authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"old_config":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"old_enabled":{"type":"boolean"},"old_route_authority_operation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"operation_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"operation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"operator_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"owner_role_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"patched_fields":{"$ref":"#/components/schemas/JsonValue"},"permission_mode_changed":{"type":"boolean"},"principal_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"principal_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"publication_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"publications":{"items":{"additionalProperties":false,"properties":{"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"projection_generation":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"publication_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"publication_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"route_authority_operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trigger_authority_revision":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["publication_id","environment_id","environment_name","projection_generation","publication_expires_at","trigger_authority_revision","route_authority_operation_id"],"type":"object"},"type":"array"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejected_publication_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"relation_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"relation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"removed_exact_relations":{"type":"boolean"},"resource_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"resources":{"items":{"additionalProperties":false,"properties":{"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resource_type","resource_id"],"type":"object"},"type":"array"},"retired_credential_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"revoked_auth_session_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revoked_credential_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"revoked_personal_credential_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"role_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"role_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"route_authority_operation_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"server_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"service_account_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"session_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"skill_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"slug_changed":{"type":"boolean"},"source_artifact_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"source_artifact_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_catalog_model_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"source_surface":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"subject_kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"system_prompt_text_changed":{"type":"boolean"},"system_prompt_type_changed":{"type":"boolean"},"target_catalog_model_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"target_member_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"token_kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"trigger_authority_revision":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"trigger_config_changed":{"type":"boolean"},"trigger_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"trigger_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"trigger_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"validation_status":{"anyOf":[{"type":"string"},{"type":"null"}]},"version_after":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"version_before":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"workflow_version_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]}},"type":"object"},"AuthoredNode":{"additionalProperties":false,"properties":{"code":{"properties":{"javascript":{"type":"string"}},"required":["javascript"],"type":"object"},"description":{"maxLength":500,"type":"string"},"fields":{"properties":{"human_approval_required":{"type":"boolean"},"input_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"output_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"timeout":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"handles":{"additionalProperties":{"properties":{"index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"target_node_key":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_node_key","index"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"key":{"$ref":"#/components/schemas/NodeKey"},"mode":{"enum":["read","write"],"type":"string"},"type":{"enum":["action","decision","transformation","merge","wait_for_input","loop","input","output"],"type":"string"}},"required":["key","type"],"type":"object"},"AuthorizationCapability":{"additionalProperties":false,"properties":{"action":{"type":"string"},"category":{"type":"string"},"environment_eligible":{"type":"boolean"},"resource_kind":{"type":"string"},"self_eligible":{"type":"boolean"},"token":{"type":"string"}},"required":["token","category","resource_kind","action","self_eligible","environment_eligible"],"type":"object"},"AuthorizationCheckResult":{"additionalProperties":false,"properties":{"capability_token":{"type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"granted":{"type":"boolean"},"parent_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"parent_owner_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"parent_owner_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"parent_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_kind":{"enum":["member","service_account"],"type":"string"},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_owner_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_owner_kind":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["principal_kind","principal_id","capability_token","resource_type","resource_id","resource_owner_kind","resource_owner_id","parent_type","parent_id","parent_owner_kind","parent_owner_id","environment_id","granted"],"type":"object"},"AuthorizationPrincipal":{"additionalProperties":false,"properties":{"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_type":{"enum":["member","service_account"],"type":"string"},"relation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_kind":{"enum":["direct","role"],"type":"string"}},"required":["principal_id","principal_type","source_kind","source_id","relation_id","expires_at"],"type":"object"},"AuthorizeCredential":{"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credential_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"provider":{"maxLength":64,"minLength":1,"type":"string"},"scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":50,"type":"array"}},"required":["provider"],"type":"object"},"AuthorizeResult":{"anyOf":[{"additionalProperties":false,"properties":{"authorization_url":{"type":"string"},"resolved_name":{"type":"string"},"status":{"const":"authorize_required","type":"string"}},"required":["status","authorization_url"],"type":"object"},{"additionalProperties":false,"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"status":{"const":"already_connected","type":"string"}},"required":["status","credential_id"],"type":"object"}]},"BillingCheckoutResult":{"additionalProperties":false,"properties":{"order_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","order_id"],"type":"object"},"BillingOffer":{"additionalProperties":false,"properties":{"catalog":{"additionalProperties":false,"properties":{"pack":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"pro":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"trial":{"additionalProperties":false,"properties":{"days":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"paid_price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","days","paid_price_cents"],"type":"object"}},"required":["trial","pro","pack"],"type":"object"},"has_workspace":{"type":"boolean"},"support_email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"trial_offer":{"enum":["free","paid"],"type":"string"}},"required":["has_workspace","trial_offer","support_email","catalog"],"type":"object"},"BillingPortalResult":{"additionalProperties":false,"properties":{"url":{"format":"uri","type":"string"}},"required":["url"],"type":"object"},"CapabilityEntryInput":{"properties":{"capability_token":{"maxLength":128,"type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"maxLength":64,"minLength":1,"type":"string"},{"type":"null"}]},"scope_kind":{"enum":["workspace","self","resource","parent","parent_self"],"type":"string"}},"required":["capability_token","scope_kind"],"type":"object"},"CloneTemplate":{"additionalProperties":false,"properties":{"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"snapshot_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["snapshot_id","operation_id"],"type":"object"},"CompleteSecretHandoffRequest":{"oneOf":[{"additionalProperties":false,"properties":{"client_secret":{"maxLength":2048,"minLength":1,"type":"string"},"kind":{"const":"oauth_app_registration","type":"string"},"payload":{"additionalProperties":false,"properties":{"additional_body_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"allowed_scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":100,"type":"array"},"already_revoked_answer":{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},"auth_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"authorize_url":{"maxLength":2048,"type":"string"},"client_id":{"maxLength":1024,"minLength":1,"type":"string"},"granted_scope_separator":{"enum":[" ",","],"type":"string"},"id":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"pkce_required":{"type":"boolean"},"revocation_url":{"maxLength":2048,"type":"string"},"scope_separator":{"enum":[" ",","],"type":"string"},"token_content_type":{"enum":["json","form"],"type":"string"},"token_endpoint_auth_method":{"enum":["basic","header","body","none"],"type":"string"},"token_url":{"maxLength":2048,"type":"string"}},"required":["id","name","authorize_url","token_url","client_id","allowed_scopes"],"type":"object"}},"required":["kind","payload","client_secret"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"secret_set","type":"string"},"value":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["kind","value"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key_create","type":"string"},"secret_digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"token_prefix":{"pattern":"^tn_pk_[A-Za-z0-9_-]{6}$","type":"string"}},"required":["kind","token_prefix","secret_digest"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"credential_connect","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"variable_set","type":"string"},"value":{"maxLength":65536,"type":"string"}},"required":["kind","value"],"type":"object"}]},"CompleteSecretHandoffResponse":{"oneOf":[{"additionalProperties":false,"properties":{"authorization_url":{"format":"uri","type":"string"},"flow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"status":{"const":"authorization_required","type":"string"}},"required":["status","authorization_url","flow_id"],"type":"object"},{"additionalProperties":false,"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"status":{"const":"connected","type":"string"}},"required":["status","credential_id"],"type":"object"},{"additionalProperties":false,"properties":{"status":{"const":"registered","type":"string"}},"required":["status"],"type":"object"},{"additionalProperties":false,"properties":{"status":{"const":"completed","type":"string"},"verifier_publication":{"$ref":"#/components/schemas/WebhookVerifierPublicationResult"}},"required":["status","verifier_publication"],"type":"object"},{"additionalProperties":false,"properties":{"key_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"status":{"const":"pending_proof","type":"string"}},"required":["status","key_id"],"type":"object"},{"additionalProperties":false,"properties":{"status":{"const":"saved","type":"string"},"version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["status","version"],"type":"object"}]},"ConfigDependentsResult":{"oneOf":[{"additionalProperties":false,"properties":{"dependents":{"items":{"additionalProperties":false,"properties":{"deployment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"effects":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"billing":{"const":"charged","type":"string"},"consequence":{"const":"step_failure","type":"string"},"use":{"const":"workflow_runtime","type":"string"}},"required":["use","consequence","billing"],"type":"object"},{"additionalProperties":false,"properties":{"billing":{"const":"not_charged","type":"string"},"consequence":{"const":"trigger_unavailable","type":"string"},"trigger_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"use":{"const":"webhook_admission","type":"string"}},"required":["use","trigger_id","consequence","billing"],"type":"object"}]},"minItems":1,"type":"array"},"environment":{"type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_name":{"type":"string"}},"required":["deployment_id","workflow_id","workflow_name","environment","effects"],"type":"object"},"type":"array"},"fingerprint":{"pattern":"^\"dependents:[0-9a-f]{64}\"$","type":"string"},"has_hidden":{"const":false,"type":"boolean"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["dependents","total","has_hidden","fingerprint"],"type":"object"},{"additionalProperties":false,"properties":{"dependents":{"items":{"additionalProperties":false,"properties":{"deployment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"effects":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"billing":{"const":"charged","type":"string"},"consequence":{"const":"step_failure","type":"string"},"use":{"const":"workflow_runtime","type":"string"}},"required":["use","consequence","billing"],"type":"object"},{"additionalProperties":false,"properties":{"billing":{"const":"not_charged","type":"string"},"consequence":{"const":"trigger_unavailable","type":"string"},"trigger_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"use":{"const":"webhook_admission","type":"string"}},"required":["use","trigger_id","consequence","billing"],"type":"object"}]},"minItems":1,"type":"array"},"environment":{"type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_name":{"type":"string"}},"required":["deployment_id","workflow_id","workflow_name","environment","effects"],"type":"object"},"type":"array"},"has_hidden":{"const":true,"type":"boolean"}},"required":["dependents","has_hidden"],"type":"object"}]},"Connector":{"additionalProperties":false,"properties":{"auth_method":{"enum":["none","api_key","basic","bearer","oauth2","custom"],"type":"string"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"creator_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"descriptor":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"auth_method":{"const":"none","type":"string"},"endpoint":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport"],"type":"object"},{"additionalProperties":false,"properties":{"api_key_injection":{"additionalProperties":false,"properties":{"location":{"enum":["header","query"],"type":"string"},"parameter_name":{"type":"string"},"prefix":{"type":"string"}},"required":["location","parameter_name"],"type":"object"},"auth_method":{"const":"api_key","type":"string"},"endpoint":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport","api_key_injection"],"type":"object"},{"additionalProperties":false,"properties":{"auth_method":{"const":"basic","type":"string"},"endpoint":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport"],"type":"object"},{"additionalProperties":false,"properties":{"auth_method":{"const":"bearer","type":"string"},"endpoint":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport"],"type":"object"},{"additionalProperties":false,"properties":{"auth_method":{"const":"oauth2","type":"string"},"authorize_url":{"type":"string"},"client_id":{"type":"string"},"endpoint":{"type":"string"},"grant_type":{"enum":["authorization_code","client_credentials"],"type":"string"},"issuer":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"registration_mode":{"enum":["pre_registered","cimd","dcr","manual"],"type":"string"},"resource":{"type":"string"},"revocation_endpoint":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"token_url":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport","grant_type","authorize_url","token_url","registration_mode"],"type":"object"},{"additionalProperties":false,"properties":{"auth_method":{"const":"custom","type":"string"},"endpoint":{"type":"string"},"quirks":{"additionalProperties":false,"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"source_ref":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["auth_method","endpoint","transport"],"type":"object"}]},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"last_verified_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"name":{"type":"string"},"sensitive_url":{"type":"boolean"},"source":{"enum":["manual","preset","mcp_registry","nango"],"type":"string"},"source_ref":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"static_headers":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"status":{"enum":["active","error","needs_reauth","disabled"],"type":"string"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"url":{"type":"string"}},"required":["id","name","url","sensitive_url","auth_method","transport","status","status_reason","descriptor","static_headers","source","source_ref","source_version","creator_id","last_verified_at","created_at","updated_at"],"type":"object"},"ConnectorDependents":{"additionalProperties":false,"properties":{"agents":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"type":"array"},"count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"truncated":{"type":"boolean"}},"required":["count","agents","truncated"],"type":"object"},"ConnectorPreset":{"additionalProperties":false,"properties":{"auth_method":{"enum":["none","api_key","basic","bearer","oauth2","custom"],"type":"string"},"endpoint":{"type":"string"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"id":{"type":"string"},"name":{"type":"string"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["id","name","icon","endpoint","transport","auth_method"],"type":"object"},"ConnectorPresets":{"additionalProperties":false,"properties":{"presets":{"items":{"$ref":"#/components/schemas/ConnectorPreset"},"type":"array"}},"required":["presets"],"type":"object"},"CountryCode":{"enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string"},"CreateAgent":{"additionalProperties":false,"properties":{"base_tools":{"items":{"type":"string"},"type":"array"},"connectors":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"description":{"maxLength":500,"type":"string"},"max_budget_usd":{"maximum":50,"minimum":0,"type":"number"},"max_turns":{"maximum":200,"minimum":1,"type":"integer"},"model":{"enum":["claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-opus-4-6"],"type":"string"},"name":{"maxLength":100,"minLength":1,"type":"string"},"permission_mode":{"enum":["acceptEdits","default","bypassPermissions"],"type":"string"},"slug":{"maxLength":50,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"},"system_prompt_text":{"maxLength":10000,"type":"string"},"system_prompt_type":{"enum":["preset_append","custom"],"type":"string"}},"required":["name"],"type":"object"},"CreateBillingWorkspace":{"additionalProperties":false,"properties":{"promo":{"$ref":"#/components/schemas/RedeemOfferCode"},"terms_accepted":{"const":true,"type":"boolean"},"workspace_name":{"maxLength":120,"minLength":1,"type":"string"}},"required":["workspace_name","terms_accepted"],"type":"object"},"CreateDeployment":{"additionalProperties":false,"properties":{"environment_id":{"description":"UUID of the exact environment row observed by the caller; it must identify the same row as environment_name.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"description":"Name of the exact environment row identified by environment_id.","type":"string"},"expected_draft_revision":{"description":"The exact workflows.draft_revision the caller observed.","minLength":1,"type":"string"},"expected_trigger_definition_revision":{"description":"The exact workflow_triggers.definition_revision the caller observed.","minLength":1,"type":"string"},"publication_expires_at":{"anyOf":[{"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{3}(?:Z))$","type":"string"},{"type":"null"}],"description":"Anonymous publication expiry as canonical UTC milliseconds (YYYY-MM-DDTHH:mm:ss.sssZ), or null for a permanent publication. A permanent publication requires unbounded workflow.publish and workflow.invoke authority; a bounded expiry must be later than the server decision time and within both authorities' credential and fact ceilings."},"trigger_id":{"description":"UUID of the trigger this deployment publishes.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trigger_state":{"description":"Requested trigger state for this exact-environment deployment.","enum":["enabled","paused"],"type":"string"}},"required":["expected_draft_revision","trigger_id","expected_trigger_definition_revision","environment_id","environment_name","trigger_state","publication_expires_at"],"type":"object"},"CreateEnvironment":{"properties":{"name":{"type":"string"}},"required":["name"],"type":"object"},"CreateInvitation":{"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"role_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"minItems":1,"type":"array"}},"required":["email","role_ids"],"type":"object"},"CreateKey":{"additionalProperties":false,"properties":{"capabilities":{"items":{"maxLength":128,"minLength":1,"type":"string"},"minItems":1,"type":"array"},"environment_ids":{"default":[],"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":2,"type":"string"},"resources":{"default":[],"items":{"additionalProperties":false,"properties":{"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resource_type","resource_id"],"type":"object"},"type":"array"},"secret_digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"token_prefix":{"pattern":"^tn_pk_[A-Za-z0-9_-]{6}$","type":"string"}},"required":["name","token_prefix","secret_digest","capabilities"],"type":"object"},"CreateMcpServer":{"properties":{"description":{"type":"string"},"name":{"maxLength":100,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"CreateMcpServerBinding":{"oneOf":[{"additionalProperties":false,"properties":{"is_enabled":{"type":"boolean"},"source_artifact_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_type":{"const":"workflow","type":"string"},"tool_description":{"maxLength":1024,"minLength":1,"type":"string"},"tool_name":{"pattern":"^[a-zA-Z0-9_-]{1,64}$","type":"string"}},"required":["source_artifact_id","is_enabled","source_artifact_type","tool_name","tool_description"],"type":"object"},{"additionalProperties":false,"properties":{"is_enabled":{"type":"boolean"},"source_artifact_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_type":{"const":"skill","type":"string"}},"required":["source_artifact_id","is_enabled","source_artifact_type"],"type":"object"}]},"CreateMcpServerBindings":{"additionalProperties":false,"properties":{"bindings":{"items":{"$ref":"#/components/schemas/CreateMcpServerBinding"},"maxItems":100,"minItems":1,"type":"array"},"mcp_server_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["mcp_server_id","bindings"],"type":"object"},"CreateOAuthClient":{"additionalProperties":false,"properties":{"name":{"description":"Display name after trimming surrounding whitespace.","maxLength":200,"minLength":1,"type":"string"},"scopes":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"minItems":1,"type":"array"}},"required":["name","scopes"],"type":"object"},"CreateRole":{"properties":{"capabilities":{"items":{"$ref":"#/components/schemas/CapabilityEntryInput"},"type":"array"},"description":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"CreateSecretHandoffRequest":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"oauth_app_registration","type":"string"},"payload":{"additionalProperties":false,"properties":{"additional_body_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"allowed_scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":100,"type":"array"},"already_revoked_answer":{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},"auth_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"authorize_url":{"maxLength":2048,"type":"string"},"client_id":{"maxLength":1024,"minLength":1,"type":"string"},"granted_scope_separator":{"enum":[" ",","],"type":"string"},"id":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"option":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option"],"type":"object"},"pkce_required":{"type":"boolean"},"revocation_url":{"maxLength":2048,"type":"string"},"scope_separator":{"enum":[" ",","],"type":"string"},"token_content_type":{"enum":["json","form"],"type":"string"},"token_endpoint_auth_method":{"enum":["basic","header","body","none"],"type":"string"},"token_url":{"maxLength":2048,"type":"string"}},"required":["id","name","authorize_url","token_url","allowed_scopes"],"type":"object"}},"required":["kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"secret_set","type":"string"},"payload":{"additionalProperties":false,"properties":{"environment":{"type":"string"},"expected_version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"field":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option","field"],"type":"object"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"permissions":{"items":{"maxLength":200,"minLength":1,"type":"string"},"maxItems":50,"minItems":1,"type":"array"},"write_mode":{"enum":["create","replace"],"type":"string"}},"required":["environment","name","write_mode"],"type":"object"}},"required":["kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key_create","type":"string"},"payload":{"additionalProperties":false,"properties":{"capabilities":{"items":{"maxLength":128,"minLength":1,"type":"string"},"minItems":1,"type":"array"},"environment_ids":{"default":[],"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":2,"type":"string"},"resources":{"default":[],"items":{"additionalProperties":false,"properties":{"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resource_type","resource_id"],"type":"object"},"type":"array"}},"required":["name","capabilities"],"type":"object"}},"required":["kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"credential_connect","type":"string"},"payload":{"oneOf":[{"additionalProperties":false,"properties":{"environment":{"type":"string"},"mode":{"const":"connect","type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"oauth_app":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":50,"type":"array"}},"required":["mode","environment","name","oauth_app","scopes"],"type":"object"},{"additionalProperties":false,"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment":{"type":"string"},"mode":{"const":"reconnect","type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"oauth_app":{"maxLength":64,"minLength":1,"type":"string"},"scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":50,"type":"array"}},"required":["mode","environment","name","oauth_app","scopes","credential_id"],"type":"object"}]}},"required":["kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"variable_set","type":"string"},"payload":{"additionalProperties":false,"properties":{"environment":{"type":"string"},"expected_version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"field":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option","field"],"type":"object"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"permissions":{"items":{"maxLength":200,"minLength":1,"type":"string"},"maxItems":50,"minItems":1,"type":"array"},"prefill":{"maxLength":65536,"type":"string"},"write_mode":{"enum":["create","replace"],"type":"string"}},"required":["environment","name","write_mode"],"type":"object"}},"required":["kind","payload"],"type":"object"}]},"CreateSecretHandoffResponse":{"additionalProperties":false,"properties":{"completion_url":{"format":"uri","type":"string"},"expires_at":{"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":"string"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["completion_url","expires_at","operation_id","intent_revision"],"type":"object"},"CreateServiceAccount":{"properties":{"description":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":2,"type":"string"}},"required":["name"],"type":"object"},"CreateSession":{"properties":{"ai_agent_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"backend_type":{"const":"agents-sdk","type":"string"},"current_workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["ai_agent_id"],"type":"object"},"CreateTrigger":{"oneOf":[{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"auth":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"static_secret","type":"string"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"in":{"const":"header","type":"string"},"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"scheme":{"enum":["Bearer","Basic"],"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"query","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"body","type":"string"},"path":{"description":"Slash-leading RFC 6901 JSON Pointer for JSON bodies, or a non-slash literal field name for form-encoded bodies","minLength":1,"type":"string"}},"required":["in","path"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"transform":{"enum":["raw","base64"],"type":"string"}},"required":["kind","location","transform","secrets"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"enum":["hmac-sha1","hmac-sha256","hmac-sha512","sha256-hash","sha1-hash"],"type":"string"},"body_digest":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"compare_to":{"additionalProperties":false,"properties":{"query":{"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"encoding":{"const":"hex","type":"string"}},"required":["algorithm","encoding","compare_to"],"type":"object"},"encoding":{"enum":["hex","base64","base64url"],"type":"string"},"json_array_lengths":{"items":{"additionalProperties":false,"properties":{"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"minLength":1,"type":"string"}},"required":["path","length"],"type":"object"},"maxItems":16,"type":"array"},"json_fields":{"additionalProperties":{"additionalProperties":false,"properties":{"escape":{"enum":["none","colon_backslash"],"type":"string"},"missing":{"enum":["reject","empty"],"type":"string"},"path":{"minLength":1,"type":"string"},"scalar":{"enum":["string","integer"],"type":"string"}},"required":["path","scalar","missing","escape"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"kind":{"const":"hmac","type":"string"},"required_headers":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"maxItems":16,"type":"array"},"secret_transform":{"anyOf":[{"enum":["raw","base64","hex"],"type":"string"},{"additionalProperties":false,"properties":{"strip_prefix":{"minLength":1,"type":"string"},"then":{"const":"base64","type":"string"}},"required":["strip_prefix","then"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"signature_header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"signature":{"additionalProperties":false,"properties":{"extract":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"whole","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prefix","type":"string"},"prefix":{"minLength":1,"type":"string"}},"required":["kind","prefix"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"scheme","type":"string"},"scheme":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["kind","scheme"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"minLength":1,"type":"string"},"kind":{"const":"pairs","type":"string"},"sep":{"enum":[",",";"],"type":"string"}},"required":["kind","sep","key"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"list","type":"string"},"prefix":{"minLength":1,"type":"string"},"sep":{"enum":[","," "],"type":"string"}},"required":["kind","sep","prefix"],"type":"object"}]},"from":{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]}},"required":["from","extract"],"type":"object"},"signed_string":{"type":"string"},"timestamp":{"additionalProperties":false,"properties":{"format":{"enum":["unix_s","unix_ms","rfc3339"],"type":"string"},"from":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]},{"additionalProperties":false,"properties":{"pairs_key":{"minLength":1,"type":"string"}},"required":["pairs_key"],"type":"object"}]},"tolerance_seconds":{"maximum":86400,"minimum":0,"type":"integer"}},"required":["from","format","tolerance_seconds"],"type":"object"},"url_percent_decode":{"items":{"pattern":"^[0-9A-F]{2}$","type":"string"},"type":"array"}},"required":["kind","signature","signed_string","algorithm","encoding","secret_transform","secrets"],"type":"object"}]},"response_mode":{"enum":["sync","async"],"type":"string"}},"required":["auth"],"type":"object"},"trigger_type":{"const":"webhook","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["trigger_type","workflow_id","config"],"type":"object"},{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"allowed_senders":{"items":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"minItems":1,"type":"array"}},"required":["allowed_senders"],"type":"object"},"trigger_type":{"const":"email","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["trigger_type","workflow_id","config"],"type":"object"},{"additionalProperties":false,"properties":{"config":{"properties":{"cron_expression":{"type":"string"},"input":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}},"required":["cron_expression"],"type":"object"},"trigger_type":{"const":"schedule","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["trigger_type","workflow_id","config"],"type":"object"}]},"CreateWorkflow":{"additionalProperties":false,"properties":{"name":{"description":"Workflow name; surrounding whitespace is trimmed and whitespace runs collapse to one space.","maxLength":100,"minLength":1,"type":"string"}},"type":"object"},"CreatedMcpServerBindings":{"additionalProperties":false,"properties":{"bindings":{"items":{"$ref":"#/components/schemas/McpServerBinding"},"maxItems":100,"minItems":1,"type":"array"}},"required":["bindings"],"type":"object"},"CreatedOAuthClient":{"additionalProperties":false,"properties":{"client_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"client_secret":{"minLength":1,"type":"string"},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"redirect_uris":{"items":{"format":"uri","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"revoked_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"scopes":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"token_endpoint_auth_method":{"enum":["none","client_secret_basic","client_secret_post","private_key_jwt"],"type":"string"},"updated_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"user_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","tenant_id","user_id","name","client_id","token_endpoint_auth_method","scopes","redirect_uris","revoked_at","created_at","updated_at","client_secret"],"type":"object"},"Credential":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"descriptor":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"environment_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"preset_slug":{"anyOf":[{"type":"string"},{"type":"null"}]},"provider":{"type":"string"},"provider_email":{"anyOf":[{"type":"string"},{"type":"null"}]},"scopes":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["connected","needs_reauth","reauth_required","oauth_app_rejected","token_expired","scope_revoked","refresh_failed","provider_unavailable","error"],"type":"string"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"token_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","provider","name","environment_name","status","label","provider_email","scopes","status_reason","preset_slug","token_expires_at","descriptor","created_at","updated_at"],"type":"object"},"CredentialFlowStatusResult":{"additionalProperties":false,"properties":{"status":{"enum":["connected","waiting","timed_out","declined","failed","not_found"],"type":"string"}},"required":["status"],"type":"object"},"CredentialLookupResult":{"additionalProperties":false,"properties":{"credential":{"anyOf":[{"$ref":"#/components/schemas/Credential"},{"type":"null"}]}},"required":["credential"],"type":"object"},"DeleteTriggerConfirmation":{"additionalProperties":false,"properties":{"expected_trigger_updated_at":{"description":"The `updated_at` of the trigger representation this deletion confirms.","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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["expected_trigger_updated_at"],"type":"object"},"DeleteWorkflowPrecondition":{"additionalProperties":false,"properties":{"expected_live_deployment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expected_triggers":{"items":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","updated_at"],"type":"object"},"type":"array"},"expected_workflow_updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["expected_workflow_updated_at","expected_live_deployment_id","expected_triggers"],"type":"object"},"DeletedName":{"additionalProperties":false,"properties":{"deleted":{"const":true,"type":"boolean"},"name":{"type":"string"}},"required":["name","deleted"],"type":"object"},"DeletedReceipt":{"additionalProperties":false,"properties":{"deleted":{"const":true,"type":"boolean"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","deleted"],"type":"object"},"DeletionOperationAccepted":{"additionalProperties":false,"properties":{"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"root_kind":{"enum":["tenant","account"],"type":"string"},"state":{"enum":["requested","complete","poisoned","abandoned"],"type":"string"},"status_url":{"type":"string"}},"required":["operation_id","root_kind","state","status_url"],"type":"object"},"DeletionOperationStatus":{"additionalProperties":false,"properties":{"completed_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"finalization_attempt_count":{"description":"Durable terminal-phase attempts since the last operator resume.","maximum":9007199254740991,"minimum":0,"type":"integer"},"finalization_next_attempt_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}],"description":"Server-owned next terminal retry time; null when parked, complete, or not retrying."},"finalization_retry_code":{"anyOf":[{"enum":["PAGE_BUDGET_EXHAUSTED","STORE_UNAVAILABLE","RESIDUE_PRESENT","CATALOG_TRANSITION","SERIALIZATION_RETRY","RESPONSE_UNKNOWN","PRECONDITION_UNMET","FOREIGN_KEY_CONFLICT"],"type":"string"},{"type":"null"}],"description":"Closed safe reason for a scheduled or parked terminal retry; null before terminal retry state or after resume/completion."},"finalization_retry_stage":{"anyOf":[{"enum":["gateway_auth","mcp_auth","credential_vault","store_evidence","postgres_finalizer"],"type":"string"},{"type":"null"}],"description":"Closed terminal stage scheduled for retry or retained on a parked operation; null before terminal retry state or after resume/completion."},"manifest_state":{"anyOf":[{"enum":["discovering","sealed","cleaning","complete"],"type":"string"},{"type":"null"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"outcome":{"anyOf":[{"enum":["zero_residue","best_effort_residue","residue_acknowledged"],"type":"string"},{"type":"null"}]},"receipt_available":{"type":"boolean"},"requested_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"residue":{"items":{"additionalProperties":false,"properties":{"attempt_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"child_id":{"type":"string"},"child_kind":{"type":"string"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["child_kind","child_id","error_code","attempt_count"],"type":"object"},"type":"array"},"root_kind":{"enum":["tenant","account"],"type":"string"},"state":{"enum":["requested","complete","poisoned","abandoned"],"type":"string"},"stores":{"items":{"additionalProperties":false,"properties":{"child_kind":{"type":"string"},"complete":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"failed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["child_kind","total","complete","failed"],"type":"object"},"type":"array"}},"required":["operation_id","root_kind","state","manifest_state","stores","residue","outcome","receipt_available","finalization_attempt_count","finalization_retry_stage","finalization_retry_code","finalization_next_attempt_at","requested_at","completed_at"],"type":"object"},"DepartureReport":{"additionalProperties":false,"properties":{"anonymous_publications":{"items":{"additionalProperties":false,"properties":{"authority_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"credential_audience":{"type":"string"},"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credential_kind":{"enum":["user_jwt","personal_key","oauth_access_token"],"type":"string"},"decision_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"publication_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisher_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisher_kind":{"const":"member","type":"string"},"trigger_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["publication_id","workflow_id","trigger_id","environment_id","environment_name","publisher_kind","publisher_id","credential_kind","credential_id","credential_audience","authority_revision","decision_at"],"type":"object"},"type":"array"},"authority_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"departure_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"gateway_oauth_clients":{"items":{"additionalProperties":false,"properties":{"authorization_server":{"enum":["gateway_as","mcp_as"],"type":"string"},"client_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"creator_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"creator_kind":{"const":"member","type":"string"},"credential_store":{"enum":["gateway_auth","mcp_auth"],"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"name":{"type":"string"}},"required":["id","client_id","name","authorization_server","credential_store","creator_kind","creator_id","member_incarnation"],"type":"object"},"type":"array"},"mcp_bindings_created":{"items":{"additionalProperties":false,"properties":{"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_kind":{"const":"member","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"mcp_server_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"source_artifact_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_type":{"enum":["workflow","skill"],"type":"string"},"tool_description":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","mcp_server_id","source_artifact_type","source_artifact_id","tool_name","tool_description","is_enabled","created_by_kind","created_by_id","member_incarnation","created_at"],"type":"object"},"type":"array"},"mcp_oauth_clients":{"items":{"additionalProperties":false,"properties":{"authorization_server":{"enum":["gateway_as","mcp_as"],"type":"string"},"client_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"creator_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"creator_kind":{"const":"member","type":"string"},"credential_store":{"enum":["gateway_auth","mcp_auth"],"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"name":{"type":"string"}},"required":["id","client_id","name","authorization_server","credential_store","creator_kind","creator_id","member_incarnation"],"type":"object"},"type":"array"},"mcp_servers_created":{"items":{"additionalProperties":false,"properties":{"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_kind":{"const":"member","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"name":{"type":"string"}},"required":["id","name","description","is_enabled","created_by_kind","created_by_id","member_incarnation","created_at"],"type":"object"},"type":"array"},"member_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"removed_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"removed_by_kind":{"enum":["member","service_account"],"type":"string"},"revocation_summary":{"additionalProperties":false,"properties":{"gateway_access_tokens":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"gateway_authorization_codes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"gateway_oauth_grants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"gateway_refresh_tokens":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_access_tokens":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_authorization_codes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_oauth_grants":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_refresh_tokens":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"postgres_personal_credentials":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"supabase_auth_sessions":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["postgres_personal_credentials","supabase_auth_sessions","gateway_oauth_grants","gateway_access_tokens","gateway_refresh_tokens","gateway_authorization_codes","mcp_oauth_grants","mcp_access_tokens","mcp_refresh_tokens","mcp_authorization_codes"],"type":"object"},"service_account_keys_minted":{"items":{"additionalProperties":false,"properties":{"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"issued_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"issued_by_kind":{"const":"member","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"name":{"type":"string"},"rotation_candidate":{"const":true,"type":"boolean"},"service_account_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"state":{"enum":["activating","active","revoke_requested"],"type":"string"}},"required":["id","name","service_account_id","state","issued_by_kind","issued_by_id","member_incarnation","rotation_candidate","created_at"],"type":"object"},"type":"array"},"service_accounts_created":{"items":{"additionalProperties":false,"properties":{"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_kind":{"const":"member","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"name":{"type":"string"}},"required":["id","name","description","created_by_kind","created_by_id","member_incarnation","created_at"],"type":"object"},"type":"array"},"shared_role_facts_authored":{"items":{"additionalProperties":false,"properties":{"all_capabilities":{"type":"boolean"},"capability_token":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_kind":{"const":"member","type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_everyone":{"type":"boolean"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"role_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"role_name":{"type":"string"},"role_template_key":{"anyOf":[{"type":"string"},{"type":"null"}]},"scope_kind":{"enum":["workspace","self","resource","parent","parent_self"],"type":"string"}},"required":["id","role_id","role_name","role_template_key","is_everyone","capability_token","all_capabilities","scope_kind","resource_type","resource_id","environment_id","expires_at","created_by_kind","created_by_id","member_incarnation","created_at"],"type":"object"},"type":"array"},"standing_consumer_grants_authored":{"items":{"additionalProperties":false,"properties":{"all_capabilities":{"type":"boolean"},"capability_token":{"anyOf":[{"type":"string"},{"type":"null"}]},"consumer_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"consumer_kind":{"const":"service_account","type":"string"},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"created_by_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_kind":{"const":"member","type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_incarnation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"scope_kind":{"enum":["workspace","self","resource","parent","parent_self"],"type":"string"}},"required":["id","consumer_kind","consumer_id","capability_token","all_capabilities","scope_kind","resource_type","resource_id","environment_id","expires_at","created_by_kind","created_by_id","member_incarnation","created_at"],"type":"object"},"type":"array"}},"required":["departure_id","member_id","member_incarnation","removed_by_kind","removed_by_id","service_accounts_created","service_account_keys_minted","shared_role_facts_authored","standing_consumer_grants_authored","anonymous_publications","mcp_servers_created","mcp_bindings_created","gateway_oauth_clients","mcp_oauth_clients","revocation_summary","authority_revision","created_at"],"type":"object"},"Deployment":{"additionalProperties":false,"properties":{"deployed_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"draft_revision":{"anyOf":[{"type":"string"},{"type":"null"}]},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"generation":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"sealed_release_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"enum":["deploying","deployed","unchanged","failed"],"type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","environment_id","environment_name","sealed_release_id","generation","status","deployed_at"],"type":"object"},"DiscoverConnector":{"properties":{"url":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["url"],"type":"object"},"DiscoverConnectorResult":{"anyOf":[{"additionalProperties":false,"properties":{"auth_method":{"enum":["none","api_key","basic","bearer","oauth2","custom"],"type":"string"},"authorization_servers":{"items":{"type":"string"},"type":"array"},"endpoint":{"type":"string"},"outcome":{"enum":["resolved","no_auth","manual_fallback"],"type":"string"},"registration_mode":{"enum":["pre_registered","cimd","dcr","manual"],"type":"string"},"requires_auth":{"type":"boolean"},"resource":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"}},"required":["outcome","endpoint","transport","requires_auth","auth_method"],"type":"object"},{"additionalProperties":false,"properties":{"cause":{"enum":["server_unreachable","auth_rejected","unsupported","not_allowed"],"type":"string"},"message":{"type":"string"},"outcome":{"const":"error","type":"string"}},"required":["outcome","cause","message"],"type":"object"}]},"EmailTrigger":{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"allowed_senders":{"items":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"minItems":1,"type":"array"}},"required":["allowed_senders"],"type":"object"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"definition_revision":{"type":"string"},"deployed":{"type":"boolean"},"deployed_environments":{"items":{"additionalProperties":false,"properties":{"email_address":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","readOnly":true,"type":"string"},"environment_name":{"type":"string"}},"required":["environment_name"],"type":"object"},"type":"array"},"email_address":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","readOnly":true,"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trigger_type":{"const":"email","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","definition_revision","deployed","created_at","updated_at","trigger_type","config"],"type":"object"},"Environment":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_deleting":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","is_deleting","created_at"],"type":"object"},"Execution":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"duration_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"ended_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ExecutionError"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_test_run":{"type":"boolean"},"output":{"$ref":"#/components/schemas/OutputRef"},"pending_input":{"items":{"$ref":"#/components/schemas/PendingInput"},"type":"array"},"started_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"status":{"enum":["queued","running","paused","waiting","success","error","cancelled"],"type":"string"},"step_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"steps":{"items":{"$ref":"#/components/schemas/StepSummary"},"type":"array"},"trace_state":{"enum":["pending","complete","unavailable"],"type":"string"},"trace_unavailable_reason":{"anyOf":[{"enum":["terminated","publication_failed","not_published","integrity","not_started"],"type":"string"},{"type":"null"}]},"trigger_type":{"anyOf":[{"enum":["webhook","email","schedule","manual"],"type":"string"},{"type":"null"}]},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_snapshot":{"$ref":"#/components/schemas/ExecutionWorkflowSnapshot"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","workflow_version_id","status","trigger_type","is_test_run","trace_state","trace_unavailable_reason","error","step_count","started_at","ended_at","duration_ms","created_at","workflow_snapshot","output","pending_input"],"type":"object"},"ExecutionError":{"additionalProperties":false,"properties":{"category":{"anyOf":[{"enum":["NODE_ERROR","LOOP_ERROR","PARTIAL_TRACE","PUBLICATION_ERROR"],"type":"string"},{"type":"null"}]},"code":{"type":"string"},"message":{"type":"string"}},"required":["code","category"],"type":"object"},"ExecutionSummary":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"duration_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"ended_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ExecutionError"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_test_run":{"type":"boolean"},"started_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"status":{"enum":["queued","running","paused","waiting","success","error","cancelled"],"type":"string"},"step_count":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"trace_state":{"enum":["pending","complete","unavailable"],"type":"string"},"trace_unavailable_reason":{"anyOf":[{"enum":["terminated","publication_failed","not_published","integrity","not_started"],"type":"string"},{"type":"null"}]},"trigger_type":{"anyOf":[{"enum":["webhook","email","schedule","manual"],"type":"string"},{"type":"null"}]},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","workflow_version_id","status","trigger_type","is_test_run","trace_state","trace_unavailable_reason","error","step_count","started_at","ended_at","duration_ms","created_at"],"type":"object"},"ExecutionWorkflowSnapshot":{"additionalProperties":false,"properties":{"nodes":{"items":{},"type":"array"},"version":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["workflow_id","workflow_version_id","version"],"type":"object"},"FieldError":{"additionalProperties":false,"properties":{"code":{"type":"string"},"constraints":{"additionalProperties":false,"properties":{"expected":{"enum":["string","number","integer","boolean","null","array","object"],"type":"string"},"inclusive":{"type":"boolean"},"maximum":{"type":"number"},"minimum":{"type":"number"}},"required":["expected"],"type":"object"},"detail":{"type":"string"},"pointer":{"type":"string"},"related_pointers":{"items":{"type":"string"},"type":"array"}},"required":["pointer","detail"],"type":"object"},"Integration":{"oneOf":[{"additionalProperties":false,"properties":{"allowed_scopes":{"items":{"type":"string"},"type":"array"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"id":{"type":"string"},"name":{"type":"string"},"provisioned":{"type":"boolean"},"type":{"const":"managed","type":"string"}},"required":["id","name","icon","allowed_scopes","type","provisioned"],"type":"object"},{"additionalProperties":false,"properties":{"allowed_scopes":{"items":{"type":"string"},"type":"array"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"id":{"type":"string"},"name":{"type":"string"},"provisioned":{"type":"null"},"type":{"const":"custom","type":"string"}},"required":["id","name","icon","allowed_scopes","type","provisioned"],"type":"object"}]},"Invitation":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"delivery_state":{"enum":["queued","submitted","delivered","failed","bounced","cancelled"],"type":"string"},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"inviter_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"recipient_email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"role_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"minItems":1,"type":"array"},"state":{"enum":["pending","accepted","expired","cancelled"],"type":"string"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","recipient_email","state","role_ids","delivery_state","expires_at","created_at","workspace_name","inviter_name"],"type":"object"},"InvitationAcceptance":{"additionalProperties":false,"properties":{"invitation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"member_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"replayed":{"type":"boolean"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["invitation_id","tenant_id","member_id","replayed"],"type":"object"},"JsonSchema":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"JsonValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"items":{"$ref":"#"},"type":"array"},{"additionalProperties":{"$ref":"#"},"propertyNames":{"type":"string"},"type":"object"}]},"ListIntegrationsResult":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/Integration"},"type":"array"}},"required":["data"],"type":"object"},"McpServer":{"additionalProperties":false,"properties":{"bindings":{"items":{"$ref":"#/components/schemas/McpServerBinding"},"type":"array"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"endpoint_url_template":{"description":"Connection URL for external AI clients, with {environment_name} to substitute. This server is separate from the Typenode management MCP server: the user adds this URL to their client as another server and signs in with OAuth there.","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"version":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["id","name","description","is_enabled","created_at","updated_at","version","endpoint_url_template"],"type":"object"},"McpServerBinding":{"oneOf":[{"$ref":"#/components/schemas/WorkflowMcpServerBinding"},{"$ref":"#/components/schemas/SkillMcpServerBinding"}]},"McpServerBindingSourcePreview":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"}},"required":["name","description"],"type":"object"},"McpServerSummary":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"version":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["id","name","description","is_enabled","created_at","updated_at","version"],"type":"object"},"Member":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"email":{"type":"string"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"roles":{"items":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"type":"string"},"template_key":{"anyOf":[{"enum":["owner","builder","operator","viewer","everyone"],"type":"string"},{"type":"null"}]}},"required":["id","name","template_key"],"type":"object"},"type":"array"},"status":{"const":"active","type":"string"}},"required":["id","email","first_name","last_name","status","created_at","roles"],"type":"object"},"MyInvitationsList":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/Invitation"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["data","has_more","next_cursor"],"type":"object"},"Node":{"additionalProperties":false,"properties":{"code":{"additionalProperties":false,"properties":{"javascript":{"type":"string"}},"required":["javascript"],"type":"object"},"description":{"maxLength":500,"type":"string"},"fields":{"additionalProperties":false,"properties":{"human_approval_required":{"type":"boolean"},"input_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"output_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"timeout":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"handles":{"additionalProperties":{"additionalProperties":false,"properties":{"index":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"target_node_key":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["target_node_key","index"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"key":{"maxLength":255,"minLength":3,"type":"string"},"mode":{"enum":["read","write"],"type":"string"},"type":{"enum":["action","decision","transformation","merge","wait_for_input","loop","input","output"],"type":"string"}},"required":["key","type"],"type":"object"},"NodeKey":{"maxLength":255,"minLength":3,"pattern":"^(?!(?:then|constructor)$)[a-z](?:[a-z0-9_]*[a-z0-9])?$","type":"string"},"OAuthApp":{"additionalProperties":false,"properties":{"allowed_scopes":{"items":{"type":"string"},"type":"array"},"already_revoked_answer":{"anyOf":[{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},{"type":"null"}]},"id":{"type":"string"},"name":{"type":"string"},"suggested_bundles":{"items":{"$ref":"#/components/schemas/OAuthAppBundle"},"type":"array"},"type":{"enum":["managed","custom"],"type":"string"}},"required":["id","type","name","allowed_scopes","suggested_bundles"],"type":"object"},"OAuthAppBundle":{"additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"}},"required":["id","label","scopes"],"type":"object"},"OAuthAppUpdateResult":{"additionalProperties":false,"properties":{"already_revoked_answer":{"anyOf":[{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},{"type":"null"}]},"id":{"type":"string"},"is_enabled":{"type":"boolean"}},"required":["id","is_enabled","already_revoked_answer"],"type":"object"},"OAuthApps":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/OAuthApp"},"type":"array"}},"required":["data"],"type":"object"},"OAuthClient":{"additionalProperties":false,"properties":{"client_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"redirect_uris":{"items":{"format":"uri","type":"string"},"maxItems":100,"minItems":1,"type":"array"},"revoked_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"scopes":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"token_endpoint_auth_method":{"enum":["none","client_secret_basic","client_secret_post","private_key_jwt"],"type":"string"},"updated_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"user_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","tenant_id","user_id","name","client_id","token_endpoint_auth_method","scopes","redirect_uris","revoked_at","created_at","updated_at"],"type":"object"},"OAuthClients":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/OAuthClient"},"type":"array"},"has_more":{"const":false,"type":"boolean"},"next_cursor":{"type":"null"}},"required":["data","has_more","next_cursor"],"type":"object"},"OAuthConsentContext":{"additionalProperties":false,"properties":{"access":{"additionalProperties":false,"properties":{"granted":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"},"not_given":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"}},"required":["granted","not_given"],"type":"object"},"server":{"anyOf":[{"$ref":"#/components/schemas/OAuthConsentServer"},{"type":"null"}]},"workspace":{"additionalProperties":false,"properties":{"can_connect":{"type":"boolean"},"name":{"minLength":1,"type":"string"}},"required":["name","can_connect"],"type":"object"}},"required":["workspace","access","server"],"type":"object"},"OAuthConsentDecision":{"additionalProperties":false,"properties":{"acr_values":{"maxLength":2048,"minLength":1,"type":"string"},"approved":{"type":"boolean"},"as_issuer":{"format":"uri","type":"string"},"client_id":{"maxLength":2048,"minLength":1,"type":"string"},"code_challenge":{"pattern":"^[A-Za-z0-9_-]{43}$","type":"string"},"code_challenge_method":{"const":"S256","type":"string"},"connection_name":{"maxLength":80,"minLength":1,"type":"string"},"environmentIds":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"maxItems":256,"type":"array"},"expected_current_grant_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expiresAt":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"redirect_uri":{"format":"uri","type":"string"},"resource":{"format":"uri","type":"string"},"resources":{"items":{"$ref":"#/components/schemas/OAuthResourceRestriction"},"maxItems":256,"type":"array"},"response_type":{"const":"code","type":"string"},"scope":{"maxLength":16384,"minLength":1,"type":"string"},"state":{"maxLength":2048,"type":"string"}},"required":["as_issuer","client_id","response_type","scope","redirect_uri","code_challenge","code_challenge_method","resource","approved"],"type":"object"},"OAuthConsentResult":{"additionalProperties":false,"properties":{"redirect_url":{"format":"uri","type":"string"}},"required":["redirect_url"],"type":"object"},"OAuthConsentServer":{"oneOf":[{"additionalProperties":false,"properties":{"same_workspace":{"const":false,"type":"boolean"}},"required":["same_workspace"],"type":"object"},{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"environment":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"same_workspace":{"const":true,"type":"boolean"},"tools":{"items":{"$ref":"#/components/schemas/OAuthConsentServerTool"},"type":"array"}},"required":["same_workspace","name","environment","enabled","tools"],"type":"object"}]},"OAuthConsentServerTool":{"additionalProperties":false,"properties":{"kind":{"enum":["workflow","skill"],"type":"string"},"name":{"minLength":1,"type":"string"},"runnable":{"type":"boolean"}},"required":["name","kind","runnable"],"type":"object"},"OAuthGrant":{"additionalProperties":false,"properties":{"as_issuer":{"format":"uri","type":"string"},"audience":{"format":"uri","type":"string"},"capabilities":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"},"client_id":{"maxLength":2048,"minLength":1,"type":"string"},"client_name":{"maxLength":200,"minLength":1,"type":"string"},"connection_name":{"maxLength":80,"minLength":1,"type":"string"},"created_at":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environment_ids":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"maxItems":256,"type":"array"},"expires_at":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"grant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"lapses_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"last_used_at":{"anyOf":[{"maximum":9007199254740991,"minimum":0,"type":"integer"},{"type":"null"}]},"offline_access":{"type":"boolean"},"resources":{"items":{"$ref":"#/components/schemas/OAuthResourceRestriction"},"maxItems":256,"type":"array"}},"required":["grant_id","as_issuer","client_id","client_name","connection_name","capabilities","resources","environment_ids","audience","expires_at","offline_access","created_at","last_used_at","lapses_at"],"type":"object"},"OAuthGrants":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/OAuthGrant"},"type":"array"},"has_more":{"const":false,"type":"boolean"},"next_cursor":{"type":"null"}},"required":["data","has_more","next_cursor"],"type":"object"},"OAuthPublicClientInfo":{"additionalProperties":false,"properties":{"client_origin":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"maxLength":200,"minLength":1,"type":"string"},"redirect_host":{"anyOf":[{"type":"string"},{"type":"null"}]},"renewable":{"type":"boolean"},"scope_source":{"enum":["client_declared","issuer_default"],"type":"string"},"scopes":{"items":{"maxLength":128,"minLength":1,"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"maxItems":256,"type":"array"},"source":{"enum":["first_party","dcr","cimd"],"type":"string"},"verified":{"type":"boolean"}},"required":["name","scopes","client_origin","redirect_host","source","verified","scope_source","renewable"],"type":"object"},"OAuthResourceRestriction":{"additionalProperties":false,"properties":{"resourceId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resourceType":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resourceType","resourceId"],"type":"object"},"OfferCodePreview":{"additionalProperties":false,"properties":{"code_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"context":{"pattern":"^[a-f0-9]{64}$","type":"string"},"extra_days":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"extra_runs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"normal_trial_runs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"public_name":{"type":"string"},"revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"trial_activated":{"type":"boolean"},"trial_after":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_change":{"enum":["activate","extend","reopen","none"],"type":"string"}},"required":["code_id","revision","context","public_name","trial_change","trial_activated","normal_trial_runs","extra_days","extra_runs","trial_after"],"type":"object"},"Op":{"oneOf":[{"additionalProperties":false,"properties":{"node":{"$ref":"#/components/schemas/AuthoredNode"},"op":{"const":"add_node","type":"string"}},"required":["op","node"],"type":"object"},{"additionalProperties":false,"properties":{"node_key":{"minLength":1,"type":"string"},"op":{"const":"remove_node","type":"string"}},"required":["op","node_key"],"type":"object"},{"additionalProperties":false,"properties":{"code":{},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"fields":{},"mode":{"anyOf":[{"enum":["read","write"],"type":"string"},{"type":"null"}]},"node_key":{"minLength":1,"type":"string"},"op":{"const":"patch_node","type":"string"}},"required":["op","node_key"],"type":"object"},{"additionalProperties":false,"properties":{"op":{"const":"connect_node_handle","type":"string"},"source_handle":{"minLength":3,"type":"string"},"source_node_key":{"minLength":1,"type":"string"},"target_node_key":{"minLength":1,"type":"string"}},"required":["op","source_node_key","source_handle","target_node_key"],"type":"object"},{"additionalProperties":false,"properties":{"op":{"const":"disconnect_node_handle","type":"string"},"source_handle":{"minLength":3,"type":"string"},"source_node_key":{"minLength":1,"type":"string"}},"required":["op","source_node_key","source_handle"],"type":"object"}]},"Operation":{"additionalProperties":false,"properties":{"actor":{"additionalProperties":false,"properties":{"actor_kind":{"enum":["member","service_account"],"type":"string"}},"required":["actor_kind"],"type":"object"},"completed_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"deployment":{"additionalProperties":false,"properties":{"committed_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"confirming_started_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"control_outcome":{"anyOf":[{"enum":["applied","ignored_older","already_current","tombstone_won"],"type":"string"},{"type":"null"}]},"deployment_phase":{"enum":["preparing","activating","confirming_deployment","needs_attention","syncing_status","deployed","unchanged","failed"],"type":"string"},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"expected_generation":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"expected_sealed_release_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"failure_code":{"anyOf":[{"enum":["workflow_invalid","compilation_failed","runtime_contract_unsupported","configuration_reference_invalid","stale_assignment","stale_predecessor","integrity_failed","projection_failed","destination_rejected","unsupported_drift","invalid_source","workspace_departed","workflow_closed"],"type":"string"},{"type":"null"}]},"generation":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"outcome":{"anyOf":[{"enum":["deployed","unchanged","failed"],"type":"string"},{"type":"null"}]},"receipt_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"retryable":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"safe_message":{"anyOf":[{"type":"string"},{"type":"null"}]},"sealed_release_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["deployment_phase","environment_id","environment_name","expected_sealed_release_id","expected_generation","confirming_started_at","outcome","sealed_release_id","generation","receipt_id","control_outcome","failure_code","safe_message","retryable","committed_at"],"type":"object"},"kind":{"enum":["trigger.control","trigger.delete","workflow.delete","workflow.deploy","workflow.unpublish","credential.activate","credential.revoke"],"type":"string"},"milestones":{"items":{"additionalProperties":false,"properties":{"at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"name":{"maxLength":128,"minLength":1,"type":"string"}},"required":["name","at"],"type":"object"},"type":"array"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"outcome_code":{"anyOf":[{"enum":["succeeded","hold_expired","cancelled_by_administrator","superseded_by_workflow_delete","superseded_by_credential_revoke","proof_failed","operation_failed"],"type":"string"},{"type":"null"}]},"proof_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"retry_after":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"state":{"enum":["held","queued","in_progress","succeeded","failed","cancelled"],"type":"string"},"status_url":{"type":"string"},"target":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"workflow","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","workflow_id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"trigger","type":"string"},"trigger_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","workflow_id","trigger_id"],"type":"object"},{"additionalProperties":false,"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"kind":{"const":"credential","type":"string"}},"required":["kind","credential_id"],"type":"object"}]},"terminal":{"type":"boolean"},"unpublish":{"$ref":"#/components/schemas/UnpublishOperationDetails"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["operation_id","kind","target","state","terminal","created_at","updated_at","completed_at","milestones","retry_after","outcome_code","proof_expires_at","actor","status_url"],"type":"object"},"OperationAdmission":{"additionalProperties":false,"properties":{"hold":{"type":"boolean"}},"type":"object"},"OperationInProgressDetails":{"additionalProperties":false,"properties":{"operation_url":{"type":"string"},"retryAfter":{"const":1,"type":"number"}},"required":["retryAfter"],"type":"object"},"OperationList":{"additionalProperties":false,"properties":{"operations":{"items":{"$ref":"#/components/schemas/Operation"},"type":"array"}},"required":["operations"],"type":"object"},"OutputRef":{"additionalProperties":false,"properties":{"data_type":{"enum":["object","array","string","number","boolean","null","empty"],"type":"string"},"is_available":{"type":"boolean"},"size_bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["is_available"],"type":"object"},"PatchNode":{"additionalProperties":false,"properties":{"code":{"properties":{"javascript":{"type":"string"}},"required":["javascript"],"type":"object"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"fields":{"properties":{"human_approval_required":{"type":"boolean"},"input_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"output_json_schema":{"$ref":"#/components/schemas/JsonSchema"},"timeout":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"mode":{"anyOf":[{"enum":["read","write"],"type":"string"},{"type":"null"}]}},"type":"object"},"PendingInput":{"additionalProperties":false,"properties":{"input_json_schema":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"node_key":{"type":"string"},"requested_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"waiting_until":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["node_key","input_json_schema","requested_at","waiting_until"],"type":"object"},"PreviewOfferCode":{"additionalProperties":false,"properties":{"code":{"maxLength":64,"minLength":1,"type":"string"}},"required":["code"],"type":"object"},"Problem":{"additionalProperties":false,"properties":{"code":{"enum":["BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","NOT_IMPLEMENTED","CONFLICT","OPERATION_IN_PROGRESS","PRECONDITION_FAILED","PRECONDITION_REQUIRED","PAYLOAD_TOO_LARGE","UNSUPPORTED_MEDIA_TYPE","RANGE_NOT_SATISFIABLE","VALIDATION_ERROR","RATE_LIMIT_EXCEEDED","QUOTA_EXCEEDED","INTERNAL_ERROR","BAD_GATEWAY","CONTENT_REJECTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","NO_SUBSCRIPTION","TRIAL_EXPIRED","INSUFFICIENT_CREDITS","PAYMENT_FAILED","SUBSCRIPTION_CANCELED","STRIPE_ERROR","GRANT_EXPIRED","GRANT_EXHAUSTED","ACCESS_PAUSED","TENANT_DELETING","EARLY_ACCESS_APPLICATION_PENDING","INTERNAL_AUTH_MISSING","INTERNAL_AUTH_INVALID","INTERNAL_AUTH_FORBIDDEN","INVALID_ISS","INVALID_TARGET","INVALID_SCOPE","USER_REQUIRED","RESERVED_NAME","ALREADY_REGISTERED","NAME_CONFLICT","PROVIDER_NOT_PROVISIONED","CLIENT_NOT_FOUND","SCOPE_NOT_ALLOWED","OAUTH_LIST_LIMIT_EXCEEDED","CONNECTION_STALE","OAUTH_CONNECTION_LIMIT_EXCEEDED","CONSENT_POLICY_PENDING","NOTHING_TO_GRANT","MCP_SERVER_NOT_IN_WORKSPACE","TRIGGER_TYPE_MISMATCH","WORKFLOW_HAS_TRIGGER","TRIGGER_DISABLED","TRIGGER_NOT_FOUND","EXECUTION_TIMEOUT","NODE_EXECUTION_ERROR","WORKFLOW_ERRORED","ACTION_OUTCOME_UNKNOWN","OUTPUT_UNAVAILABLE","OUTPUT_PROTECTION_CONFLICT","OUTPUT_CONTRACT_VIOLATION","INVALID_SELECTOR","DEFINITION_FETCH_FAILED","SIGNING_KEY_UNAVAILABLE","RUN_NOT_STARTED_RELEASE_OUTDATED","RUN_NOT_STARTED_DESTINATION_CHANGED","RUN_NOT_STARTED_TARGET_CLOSED","RUN_NOT_STARTED","TEMPORARILY_UNAVAILABLE","TRIGGER_ID_MISSING","ENVIRONMENT_MISSING","VERSION_MISSING","TENANT_MISMATCH","NOT_DEPLOYED","WORKFLOW_NAME_TAKEN","VERSION_CONFLICT","EXECUTION_ALREADY_TERMINAL","NOT_WAITING","UNKNOWN_NODE_KEY","ALREADY_RESOLVED","TIMED_OUT","WAIT_FAILED","DELIVERY_IN_PROGRESS","DELIVERY_FAILED","DELIVERY_FAILED_STATE_UNKNOWN","DEPLOY_REQUEST_INVALID","WORKFLOW_NOT_FOUND","DRAFT_INVALID","CODEGEN_INVALID","NO_TRIGGER","MCP_GUARD_BLOCKED","INVALID_CRON","ENVIRONMENT_REQUIRED","NO_VERSION_SNAPSHOT","VERSION_NOT_FOUND","VERSION_WORKFLOW_MISMATCH","VERSION_INVALID","CONFIG_REFERENCE_INVALID","UNAUTHORIZED_CAPABILITY","STALE_REVISION","INVALID_INTENT","TRIGGER_DELETING","NO_ACTIVE_RELEASE","DEPLOYMENT_OUTCOME_UNRESOLVED","DEPLOY_IN_PROGRESS","DESTINATION_UNAVAILABLE","ENVIRONMENT_NAME_TAKEN","ENVIRONMENT_LIMIT_REACHED","ENVIRONMENT_NOT_FOUND","ENVIRONMENT_IN_USE","LAST_ENVIRONMENT","NAME_KIND_CONFLICT","ENVIRONMENT_DELETING","DEPENDENTS_NOT_VISIBLE","DELETION_IN_PROGRESS","STEP_NOT_IN_EXECUTION","NODE_TYPE_HAS_NO_OUTPUT","LOOP_ITERATION_OUT_OF_RANGE","SECRET_HANDOFF_NOT_FOUND","SECRET_HANDOFF_UNAVAILABLE","HANDOFF_INTENT_MISMATCH","HANDOFF_SUPERSEDED","HANDOFF_FIELD_UNAVAILABLE","CREDENTIAL_BACKED_SECRET","STALE_GOVERNANCE","PROJECTION_SNAPSHOT_TOO_LARGE","REPLAY_RESULT_ARCHIVED","TEMPLATE_SNAPSHOT_NOT_CURRENT"],"type":"string"},"detail":{"type":"string"},"details":{},"errors":{"items":{"$ref":"#/components/schemas/FieldError"},"type":"array"},"instance":{"type":"string"},"status":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"title":{"type":"string"},"type":{"type":"string"}},"required":["type","title","status","code"],"type":"object"},"PublishSkill":{"additionalProperties":false,"properties":{"body":{"type":"string"},"description":{"maxLength":1024,"minLength":1,"type":"string"},"name":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9]([a-z0-9-]*[a-z0-9])?$","type":"string"}},"required":["name","description","body"],"type":"object"},"ReadyBrowserPageOverrides":{"additionalProperties":false,"properties":{"overrides":{"additionalProperties":{"type":"boolean"},"propertyNames":{"enum":["app/home","app/workflows","app/runs","app/mcp-servers","settings/environments","settings/integrations","settings/connections","settings/workflow-connections","settings/access-keys"],"type":"string"},"type":"object"}},"required":["overrides"],"type":"object"},"ReconnectConnectorResult":{"additionalProperties":false,"properties":{"authorization_url":{"type":"string"},"status":{"enum":["active","error","needs_reauth","disabled"],"type":"string"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","status_reason"],"type":"object"},"ReconnectCredential":{"properties":{},"type":"object"},"RedeemOfferCode":{"additionalProperties":false,"properties":{"code":{"maxLength":64,"minLength":1,"type":"string"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"preview":{"$ref":"#/components/schemas/OfferCodePreview"}},"required":["code","operation_id","preview"],"type":"object"},"RegisterConnector":{"properties":{"api_key_injection":{"properties":{"location":{"enum":["header","query"],"type":"string"},"parameter_name":{"minLength":1,"type":"string"},"prefix":{"type":"string"}},"required":["location","parameter_name"],"type":"object"},"auth_method":{"enum":["none","api_key","basic","bearer","oauth2","custom"],"type":"string"},"basic_username":{"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"oauth2":{"properties":{"authorize_url":{"minLength":1,"type":"string"},"client_id":{"type":"string"},"grant_type":{"enum":["authorization_code","client_credentials"],"type":"string"},"pkce_required":{"type":"boolean"},"revocation_endpoint":{"minLength":1,"type":"string"},"token_url":{"minLength":1,"type":"string"}},"required":["authorize_url","token_url"],"type":"object"},"quirks":{"properties":{"extra_authorize_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"extra_token_params":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"no_iss_param":{"type":"boolean"},"omit_resource_param":{"type":"boolean"},"omit_scope_param":{"type":"boolean"}},"type":"object"},"scopes":{"items":{"type":"string"},"type":"array"},"secret":{"properties":{"api_key":{"type":"string"},"client_secret":{"type":"string"},"password":{"type":"string"},"token":{"type":"string"}},"type":"object"},"sensitive_url":{"type":"boolean"},"source":{"enum":["manual","preset","mcp_registry","nango"],"type":"string"},"source_ref":{"type":"string"},"static_headers":{"additionalProperties":{"maxLength":1024,"type":"string"},"maxProperties":20,"propertyNames":{"maxLength":128,"type":"string"},"type":"object"},"transport":{"enum":["streamable_http","sse","auto"],"type":"string"},"url":{"maxLength":2048,"minLength":1,"type":"string"}},"required":["name","url","auth_method"],"type":"object"},"RegisterConnectorResult":{"anyOf":[{"additionalProperties":false,"properties":{"authorization_url":{"type":"string"},"status":{"const":"oauth_required","type":"string"}},"required":["status","authorization_url"],"type":"object"},{"additionalProperties":false,"properties":{"connector":{"$ref":"#/components/schemas/Connector"},"status":{"const":"connected","type":"string"},"warning":{"type":"string"}},"required":["status","connector"],"type":"object"}]},"RegisterCustomOAuthApp":{"properties":{"additional_body_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"allowed_scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":100,"type":"array"},"already_revoked_answer":{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},"auth_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"authorize_url":{"maxLength":2048,"type":"string"},"client_id":{"maxLength":1024,"minLength":1,"type":"string"},"granted_scope_separator":{"enum":[" ",","],"type":"string"},"id":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"pkce_required":{"type":"boolean"},"revocation_url":{"maxLength":2048,"type":"string"},"scope_separator":{"enum":[" ",","],"type":"string"},"token_content_type":{"enum":["json","form"],"type":"string"},"token_endpoint_auth_method":{"enum":["basic","header","body","none"],"type":"string"},"token_url":{"maxLength":2048,"type":"string"}},"required":["id","name","authorize_url","token_url","client_id","allowed_scopes"],"type":"object"},"RegisterOAuthAppResult":{"anyOf":[{"additionalProperties":false,"properties":{"oauth_app_id":{"type":"string"},"open_url":{"type":"string"},"status":{"const":"secret_required","type":"string"}},"required":["status","oauth_app_id"],"type":"object"},{"additionalProperties":false,"properties":{"oauth_app_id":{"type":"string"},"status":{"const":"already_registered","type":"string"}},"required":["status","oauth_app_id"],"type":"object"}]},"ReplaceNodes":{"additionalProperties":false,"properties":{"nodes":{"items":{"$ref":"#/components/schemas/AuthoredNode"},"type":"array"}},"required":["nodes"],"type":"object"},"ReplaceSecret":{"properties":{"value":{"maxLength":65536,"minLength":1,"type":"string"}},"required":["value"],"type":"object"},"ReplaceVariable":{"properties":{"value":{"maxLength":65536,"type":"string"}},"required":["value"],"type":"object"},"ReplayResultArchivedDetails":{"additionalProperties":false,"properties":{"disposition":{"const":"archived","type":"string"},"execution_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["execution_id","disposition"],"type":"object"},"ResolveSecretHandoffResponse":{"oneOf":[{"additionalProperties":false,"properties":{"expires_at":{"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":"string"},"guide":{"additionalProperties":false,"properties":{"application_name":{"maxLength":120,"minLength":1,"type":"string"},"client_id":{"additionalProperties":false,"properties":{"key":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"anyOf":[{"additionalProperties":false,"properties":{"pattern":{"maxLength":200,"minLength":1,"type":"string"},"position":{"enum":["starts_with","ends_with","contains"],"type":"string"}},"required":["position","pattern"],"type":"object"},{"type":"null"}]},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"text","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["kind","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"open","type":"string"},"page":{"maxLength":120,"minLength":1,"type":"string"},"site":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}]},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["kind","url","page","site"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"typenode_value","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"},"value":{"const":"redirect_uri","type":"string"}},"required":["kind","value","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"permissions","type":"string"}},"required":["kind"],"type":"object"}]},"maxItems":20,"type":"array"}},"required":["steps","format"],"type":"object"},{"type":"null"}]},"secret":{"type":"boolean"}},"required":["key","label","secret","recipe"],"type":"object"},"client_secret":{"additionalProperties":false,"properties":{"key":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"anyOf":[{"additionalProperties":false,"properties":{"pattern":{"maxLength":200,"minLength":1,"type":"string"},"position":{"enum":["starts_with","ends_with","contains"],"type":"string"}},"required":["position","pattern"],"type":"object"},{"type":"null"}]},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"text","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["kind","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"open","type":"string"},"page":{"maxLength":120,"minLength":1,"type":"string"},"site":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}]},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["kind","url","page","site"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"typenode_value","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"},"value":{"const":"redirect_uri","type":"string"}},"required":["kind","value","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"permissions","type":"string"}},"required":["kind"],"type":"object"}]},"maxItems":20,"type":"array"}},"required":["steps","format"],"type":"object"},{"type":"null"}]},"secret":{"type":"boolean"}},"required":["key","label","secret","recipe"],"type":"object"}},"required":["application_name","client_id","client_secret"],"type":"object"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"const":"oauth_app_registration","type":"string"},"lifecycle":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"pending","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"retry_at":{"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":"string"},"state":{"const":"processing","type":"string"}},"required":["state","retry_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["lease_expired","write_retry"],"type":"string"},"state":{"const":"recoverable","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["submission_window","recovery_window","replay_window"],"type":"string"},"state":{"const":"expired","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"result":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"},"state":{"const":"completed","type":"string"}},"required":["state","result"],"type":"object"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"payload":{"additionalProperties":false,"properties":{"additional_body_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"allowed_scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":100,"type":"array"},"already_revoked_answer":{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},"auth_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"authorize_url":{"maxLength":2048,"type":"string"},"client_id":{"maxLength":1024,"minLength":1,"type":"string"},"granted_scope_separator":{"enum":[" ",","],"type":"string"},"id":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"option":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option"],"type":"object"},"pkce_required":{"type":"boolean"},"revocation_url":{"maxLength":2048,"type":"string"},"scope_separator":{"enum":[" ",","],"type":"string"},"token_content_type":{"enum":["json","form"],"type":"string"},"token_endpoint_auth_method":{"enum":["basic","header","body","none"],"type":"string"},"token_url":{"maxLength":2048,"type":"string"}},"required":["id","name","authorize_url","token_url","allowed_scopes"],"type":"object"},"server_time":{"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":"string"},"workspace_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","payload","operation_id","intent_revision","workspace_id","expires_at","server_time","lifecycle"],"type":"object"},{"additionalProperties":false,"properties":{"expires_at":{"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":"string"},"guide":{"additionalProperties":false,"properties":{"application_name":{"maxLength":120,"minLength":1,"type":"string"},"field":{"additionalProperties":false,"properties":{"key":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"anyOf":[{"additionalProperties":false,"properties":{"pattern":{"maxLength":200,"minLength":1,"type":"string"},"position":{"enum":["starts_with","ends_with","contains"],"type":"string"}},"required":["position","pattern"],"type":"object"},{"type":"null"}]},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"text","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["kind","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"open","type":"string"},"page":{"maxLength":120,"minLength":1,"type":"string"},"site":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}]},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["kind","url","page","site"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"typenode_value","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"},"value":{"const":"redirect_uri","type":"string"}},"required":["kind","value","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"permissions","type":"string"}},"required":["kind"],"type":"object"}]},"maxItems":20,"type":"array"}},"required":["steps","format"],"type":"object"},{"type":"null"}]},"secret":{"type":"boolean"}},"required":["key","label","secret","recipe"],"type":"object"},"target_exists":{"type":"boolean"}},"required":["application_name","field","target_exists"],"type":"object"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"const":"secret_set","type":"string"},"lifecycle":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"pending","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"retry_at":{"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":"string"},"state":{"const":"processing","type":"string"}},"required":["state","retry_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["lease_expired","write_retry"],"type":"string"},"state":{"const":"recoverable","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["submission_window","recovery_window","replay_window"],"type":"string"},"state":{"const":"expired","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"result":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"},"state":{"const":"completed","type":"string"}},"required":["state","result"],"type":"object"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"payload":{"additionalProperties":false,"properties":{"environment":{"type":"string"},"expected_version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"field":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option","field"],"type":"object"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"permissions":{"items":{"maxLength":200,"minLength":1,"type":"string"},"maxItems":50,"minItems":1,"type":"array"},"write_mode":{"enum":["create","replace"],"type":"string"}},"required":["environment","name","write_mode"],"type":"object"},"server_time":{"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":"string"},"workspace_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","payload","operation_id","intent_revision","workspace_id","expires_at","server_time","lifecycle"],"type":"object"},{"additionalProperties":false,"properties":{"expires_at":{"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":"string"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"const":"access_key_create","type":"string"},"lifecycle":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"pending","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"retry_at":{"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":"string"},"state":{"const":"processing","type":"string"}},"required":["state","retry_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["lease_expired","write_retry"],"type":"string"},"state":{"const":"recoverable","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["submission_window","recovery_window","replay_window"],"type":"string"},"state":{"const":"expired","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"result":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"},"state":{"const":"completed","type":"string"}},"required":["state","result"],"type":"object"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"payload":{"additionalProperties":false,"properties":{"capabilities":{"items":{"maxLength":128,"minLength":1,"type":"string"},"minItems":1,"type":"array"},"environment_ids":{"default":[],"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"name":{"maxLength":100,"minLength":2,"type":"string"},"resources":{"default":[],"items":{"additionalProperties":false,"properties":{"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"maxLength":64,"minLength":1,"type":"string"}},"required":["resource_type","resource_id"],"type":"object"},"type":"array"}},"required":["name","capabilities","resources","environment_ids"],"type":"object"},"server_time":{"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":"string"},"workspace_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","payload","operation_id","intent_revision","workspace_id","expires_at","server_time","lifecycle"],"type":"object"},{"additionalProperties":false,"properties":{"expires_at":{"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":"string"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"const":"credential_connect","type":"string"},"lifecycle":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"pending","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"retry_at":{"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":"string"},"state":{"const":"processing","type":"string"}},"required":["state","retry_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["lease_expired","write_retry"],"type":"string"},"state":{"const":"recoverable","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["submission_window","recovery_window","replay_window"],"type":"string"},"state":{"const":"expired","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"result":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"},"state":{"const":"completed","type":"string"}},"required":["state","result"],"type":"object"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"payload":{"oneOf":[{"additionalProperties":false,"properties":{"environment":{"type":"string"},"mode":{"const":"connect","type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"oauth_app":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":50,"type":"array"}},"required":["mode","environment","name","oauth_app","scopes"],"type":"object"},{"additionalProperties":false,"properties":{"credential_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment":{"type":"string"},"mode":{"const":"reconnect","type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"oauth_app":{"maxLength":64,"minLength":1,"type":"string"},"scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":50,"type":"array"}},"required":["mode","environment","name","oauth_app","scopes","credential_id"],"type":"object"}]},"server_time":{"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":"string"},"workspace_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","payload","operation_id","intent_revision","workspace_id","expires_at","server_time","lifecycle"],"type":"object"},{"additionalProperties":false,"properties":{"expires_at":{"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":"string"},"guide":{"additionalProperties":false,"properties":{"application_name":{"maxLength":120,"minLength":1,"type":"string"},"field":{"additionalProperties":false,"properties":{"key":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"format":{"anyOf":[{"additionalProperties":false,"properties":{"pattern":{"maxLength":200,"minLength":1,"type":"string"},"position":{"enum":["starts_with","ends_with","contains"],"type":"string"}},"required":["position","pattern"],"type":"object"},{"type":"null"}]},"steps":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"text","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"}},"required":["kind","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"open","type":"string"},"page":{"maxLength":120,"minLength":1,"type":"string"},"site":{"anyOf":[{"maxLength":120,"minLength":1,"type":"string"},{"type":"null"}]},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["kind","url","page","site"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"typenode_value","type":"string"},"text":{"maxLength":1000,"minLength":1,"type":"string"},"value":{"const":"redirect_uri","type":"string"}},"required":["kind","value","text"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"permissions","type":"string"}},"required":["kind"],"type":"object"}]},"maxItems":20,"type":"array"}},"required":["steps","format"],"type":"object"},{"type":"null"}]},"secret":{"type":"boolean"}},"required":["key","label","secret","recipe"],"type":"object"},"target_exists":{"type":"boolean"}},"required":["application_name","field","target_exists"],"type":"object"},"intent_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"const":"variable_set","type":"string"},"lifecycle":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"pending","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"retry_at":{"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":"string"},"state":{"const":"processing","type":"string"}},"required":["state","retry_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["lease_expired","write_retry"],"type":"string"},"state":{"const":"recoverable","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"enum":["submission_window","recovery_window","replay_window"],"type":"string"},"state":{"const":"expired","type":"string"}},"required":["state","reason"],"type":"object"},{"additionalProperties":false,"properties":{"result":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"},"state":{"const":"completed","type":"string"}},"required":["state","result"],"type":"object"}]},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"payload":{"additionalProperties":false,"properties":{"environment":{"type":"string"},"expected_version":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"field":{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"}},"required":["application","authentication_option","field"],"type":"object"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"permissions":{"items":{"maxLength":200,"minLength":1,"type":"string"},"maxItems":50,"minItems":1,"type":"array"},"prefill":{"maxLength":65536,"type":"string"},"write_mode":{"enum":["create","replace"],"type":"string"}},"required":["environment","name","write_mode"],"type":"object"},"server_time":{"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":"string"},"workspace_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["kind","payload","operation_id","intent_revision","workspace_id","expires_at","server_time","lifecycle"],"type":"object"}]},"ResourceAccess":{"additionalProperties":false,"properties":{"capability_token":{"maxLength":128,"minLength":1,"type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"resource_type":{"enum":["workflow","skill","mcp_server"],"type":"string"},"subject_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"subject_kind":{"enum":["member","service_account","role"],"type":"string"}},"required":["id","subject_kind","subject_id","capability_token","resource_type","resource_id","environment_id","expires_at"],"type":"object"},"ResumeAck":{"additionalProperties":false,"properties":{"execution_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"node_key":{"type":"string"},"status":{"const":"received","type":"string"}},"required":["execution_id","node_key","status"],"type":"object"},"ResumeRequest":{"properties":{"input":{},"node_key":{"$ref":"#/components/schemas/NodeKey"}},"required":["node_key","input"],"type":"object"},"Role":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"type":"string"},"template_key":{"anyOf":[{"enum":["owner","builder","operator","viewer","everyone"],"type":"string"},{"type":"null"}]}},"required":["id","name","description","template_key"],"type":"object"},"RoleAssignment":{"additionalProperties":false,"properties":{"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_kind":{"enum":["member","service_account"],"type":"string"},"role_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["principal_kind","principal_id","role_id"],"type":"object"},"RoleAssignmentRemoval":{"additionalProperties":false,"properties":{"deleted":{"type":"boolean"},"principal_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principal_kind":{"enum":["member","service_account"],"type":"string"},"role_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["principal_kind","principal_id","role_id","deleted"],"type":"object"},"RoleCapabilityEntry":{"additionalProperties":false,"properties":{"all_capabilities":{"type":"boolean"},"capability_token":{"anyOf":[{"type":"string"},{"type":"null"}]},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"resource_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"resource_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"scope_kind":{"enum":["workspace","self","resource","parent","parent_self"],"type":"string"}},"required":["capability_token","all_capabilities","scope_kind","resource_type","resource_id","environment_id","expires_at"],"type":"object"},"RoleDetail":{"additionalProperties":false,"properties":{"assignee_count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"capabilities":{"items":{"$ref":"#/components/schemas/RoleCapabilityEntry"},"type":"array"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"type":"string"},"template_key":{"anyOf":[{"enum":["owner","builder","operator","viewer","everyone"],"type":"string"},{"type":"null"}]},"version":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"required":["id","name","description","template_key","version","capabilities","created_at","assignee_count"],"type":"object"},"RunAuthorizationEvidence":{"anyOf":[{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"configDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionAt":{"type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"projectionGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"publicationExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"publicationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisherId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"publisherKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"anonymous_publication","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","triggerId","publicationId","projectionGeneration","publisherKind","publisherId","decisionAt","publicationExpiresAt","configDigest"],"type":"object"},{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionEngine":{"const":"postgres","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"principalId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principalKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"live_check","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","principalKind","principalId","decisionEngine"],"type":"object"},{"additionalProperties":false,"properties":{"actingAgentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"credentialAudience":{"minLength":1,"type":"string"},"credentialId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"credentialKind":{"enum":["user_jwt","personal_key","service_key","oauth_access_token"],"type":"string"},"decisionEngine":{"const":"edge","type":"string"},"edgeModelId":{"minLength":1,"type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"oauthClientId":{"minLength":1,"type":"string"},"principalId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"principalKind":{"enum":["member","service_account"],"type":"string"},"source":{"const":"live_check","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","credentialKind","credentialId","credentialAudience","principalKind","principalId","decisionEngine","edgeModelId"],"type":"object"},{"additionalProperties":false,"properties":{"authorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"candidateDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"catalogModelId":{"minLength":1,"type":"string"},"catalogModelRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"configDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"operationId":{"minLength":1,"type":"string"},"projectionGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"source":{"const":"managed_schedule","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowVersionId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowVersionNumber":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["source","tenantId","workflowId","environmentId","environmentName","catalogModelId","catalogModelRevision","authorityRevision","triggerId","operationId","projectionGeneration","workflowVersionId","workflowVersionNumber","configDigest","candidateDigest"],"type":"object"},{"additionalProperties":false,"properties":{"deliveryId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"mailboxId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source":{"const":"email_delivery","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerDefinitionDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","triggerId","mailboxId","triggerDefinitionDigest","deliveryId"],"type":"object"},{"additionalProperties":false,"properties":{"deploymentGeneration":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"deploymentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"descriptorDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"destinationProfile":{"minLength":1,"type":"string"},"environmentAssignmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environmentName":{"maxLength":63,"pattern":"^[a-z][a-z0-9-]*$","type":"string"},"governanceRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"installationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"kind":{"enum":["static_secret","hmac"],"type":"string"},"matchedName":{"minLength":1,"type":"string"},"routeAuthorityOperationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"runtimeDestinationId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source":{"const":"webhook_verifier","type":"string"},"tenantId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"triggerAuthorityRevision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"triggerDefinitionDigest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"triggerId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"verifierGenerationId":{"pattern":"^[0-9a-f]{64}$","type":"string"},"workflowId":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["source","tenantId","workflowId","environmentId","environmentName","environmentAssignmentId","installationId","runtimeDestinationId","destinationProfile","triggerId","deploymentId","deploymentGeneration","triggerAuthorityRevision","routeAuthorityOperationId","triggerDefinitionDigest","descriptorDigest","verifierGenerationId","governanceRevision","kind","matchedName"],"type":"object"}]},"RunRequest":{"properties":{"environment_name":{"type":"string"},"input":{},"response_mode":{"default":"sync","enum":["sync","async"],"type":"string"}},"type":"object"},"RunResult":{"anyOf":[{"additionalProperties":false,"properties":{"execution_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_test_run":{"type":"boolean"},"pending_input":{"items":{"$ref":"#/components/schemas/PendingInput"},"type":"array"},"status":{"const":"waiting","type":"string"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["execution_id","workflow_version_id","is_test_run","status","pending_input"],"type":"object"},{"additionalProperties":false,"properties":{"execution_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_test_run":{"type":"boolean"},"output":{},"status":{"enum":["queued","running","paused","waiting","success","error","cancelled"],"type":"string"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["execution_id","workflow_version_id","is_test_run","status"],"type":"object"},{"additionalProperties":false,"properties":{"execution_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_test_run":{"type":"boolean"},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["execution_id","workflow_version_id","is_test_run"],"type":"object"}]},"ScheduleTrigger":{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"cron_expression":{"type":"string"},"input":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"last_run_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"next_run_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["cron_expression","next_run_at","last_run_at"],"type":"object"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"definition_revision":{"type":"string"},"deployed":{"type":"boolean"},"deployed_environments":{"items":{"additionalProperties":false,"properties":{"environment_name":{"type":"string"}},"required":["environment_name"],"type":"object"},"type":"array"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trigger_type":{"const":"schedule","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","definition_revision","deployed","created_at","updated_at","trigger_type","config"],"type":"object"},"Secret":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"credential_backed":{"type":"boolean"},"name":{"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["name","version","credential_backed","created_at","updated_at"],"type":"object"},"SecretDeletionResult":{"additionalProperties":false,"properties":{"deleted":{"const":true,"type":"boolean"},"name":{"type":"string"},"verifier_publication":{"$ref":"#/components/schemas/WebhookVerifierPublicationResult"}},"required":["name","deleted","verifier_publication"],"type":"object"},"SecretMutationResult":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"credential_backed":{"type":"boolean"},"name":{"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"verifier_publication":{"$ref":"#/components/schemas/WebhookVerifierPublicationResult"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["name","version","credential_backed","created_at","updated_at","verifier_publication"],"type":"object"},"ServiceAccount":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"created_by":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"created_by_type":{"enum":["member","service_account"],"type":"string"},"description":{"anyOf":[{"maxLength":1024,"type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":100,"minLength":2,"type":"string"},"revoked_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"revoked_by":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"revoked_by_type":{"anyOf":[{"enum":["member","service_account"],"type":"string"},{"type":"null"}]},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","name","description","created_by","created_by_type","revoked_at","revoked_by","revoked_by_type","created_at","updated_at"],"type":"object"},"Session":{"additionalProperties":false,"properties":{"ai_agent_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"cost_usd_total":{"type":"number"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"current_workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"last_message_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"last_turn_status":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]}},"required":["id","ai_agent_id","workflow_id","current_workflow_id","title","last_message_at","last_turn_status","cost_usd_total","created_at","updated_at"],"type":"object"},"SessionListItem":{"additionalProperties":false,"properties":{"ai_agent_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"ai_agents":{"additionalProperties":false,"properties":{"is_system":{"type":"boolean"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["name","slug","is_system"],"type":"object"},"cost_usd_total":{"type":"number"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"current_workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"last_message_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"title":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]}},"required":["id","ai_agent_id","workflow_id","current_workflow_id","title","last_message_at","cost_usd_total","created_at","updated_at","ai_agents"],"type":"object"},"SetConnectorEnabled":{"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"SetConnectors":{"additionalProperties":false,"properties":{"connectors":{"items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"type":"array"}},"required":["connectors"],"type":"object"},"SetTriggerState":{"additionalProperties":false,"properties":{"environment_name":{"description":"The exact environment slug the path's environment_id must resolve to.","type":"string"},"state":{"description":"The desired operational state for this exact target.","enum":["enabled","paused"],"type":"string"}},"required":["environment_name","state"],"type":"object"},"ShareResource":{"properties":{"capability_token":{"maxLength":128,"minLength":1,"type":"string"},"environment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"subject_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"subject_kind":{"enum":["member","service_account","role"],"type":"string"}},"required":["subject_kind","subject_id","capability_token"],"type":"object"},"Skill":{"additionalProperties":false,"properties":{"author":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"content_hash":{"type":"string"},"created_at":{"type":"string"},"description":{"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9]([a-z0-9-]*[a-z0-9])?$","type":"string"},"updated_at":{"type":"string"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["id","name","description","author","content_hash","version","created_at","updated_at"],"type":"object"},"SkillAuthoritySummary":{"additionalProperties":false,"properties":{"authority_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"relation_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["relation_count","authority_revision"],"type":"object"},"SkillDetail":{"additionalProperties":false,"properties":{"author":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"body":{"type":"string"},"content_hash":{"type":"string"},"created_at":{"type":"string"},"description":{"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9]([a-z0-9-]*[a-z0-9])?$","type":"string"},"updated_at":{"type":"string"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["id","name","description","author","content_hash","version","created_at","updated_at","body"],"type":"object"},"SkillMcpServerBinding":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"mcp_server_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_type":{"const":"skill","type":"string"},"source_preview":{"anyOf":[{"$ref":"#/components/schemas/McpServerBindingSourcePreview"},{"type":"null"}]},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","mcp_server_id","source_artifact_id","is_enabled","source_preview","created_at","updated_at","source_artifact_type"],"type":"object"},"StartBillingCheckout":{"additionalProperties":false,"properties":{"kind":{"enum":["paid_trial","pro","pack"],"type":"string"},"return_to":{"maxLength":2048,"type":"string"}},"required":["kind"],"type":"object"},"StartBillingPortal":{"additionalProperties":false,"properties":{"flow":{"enum":["payment_method_update","subscription_cancel"],"type":"string"}},"type":"object"},"Step":{"additionalProperties":false,"properties":{"decision_handles":{"items":{"type":"string"},"type":"array"},"duration_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"ended_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/StepError"},{"type":"null"}]},"iteration_count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"loop_iteration":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"node_key":{"type":"string"},"node_type":{"enum":["action","decision","transformation","merge","wait_for_input","loop","input","output"],"type":"string"},"output":{"$ref":"#/components/schemas/OutputRef"},"started_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"status":{"enum":["success","error","pending","skipped","retrying"],"type":"string"},"timing_provenance":{"enum":["observed","durable_replay","reconstructed","unavailable"],"type":"string"}},"required":["node_key","node_type","status","error","timing_provenance","started_at","ended_at","duration_ms","output"],"type":"object"},"StepBatch":{"additionalProperties":false,"properties":{"operations":{"items":{"$ref":"#/components/schemas/Op"},"maxItems":50,"minItems":1,"type":"array"}},"required":["operations"],"type":"object"},"StepDiagnostic":{"additionalProperties":false,"properties":{"code":{"enum":["LOOP_INVALID_RETURN","LOOP_LIMIT_EXCEEDED","NODE_ERROR","PUBLICATION_ERROR","RUN_INPUT_INVALID","RUN_INPUT_UNAVAILABLE","WAIT_FOR_INPUT_FAILED","WORKFLOW_STEP_LIMIT_EXCEEDED","ACTION_OUTCOME_UNKNOWN","HTTP_REQUEST_FAILED","HTTP_TIMEOUT","HTTP_BODY_RECEPTION_FAILED","HTTP_BODY_PARSE_FAILED","HTTP_RESPONSE_REJECTED","HTTP_BODY_MISMATCH","HTTP_BODY_NOT_PARSED","HTTP_RESULT_NOT_SERIALIZABLE","HTTP_EXCHANGE_MISSING","HTTP_SECOND_FETCH","HTTP_PARSE_METHOD_UNSUPPORTED","HTTP_FETCH_FORBIDDEN","STEP_TIMEOUT","RUNTIME_RESOURCE_LIMIT","STEP_INPUT_UNAVAILABLE","OUTPUT_PROJECTION_FAILED","auth_error","credential_revoked","missing_config","network_error","rate_limit","timeout"],"type":"string"},"kind":{"const":"diagnostic","type":"string"},"message":{"type":"string"}},"required":["kind","code","message"],"type":"object"},"StepError":{"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["message"],"type":"object"},"StepExchangeFailure":{"additionalProperties":false,"properties":{"body":{"oneOf":[{"additionalProperties":false,"properties":{"state":{"const":"complete","type":"string"},"text":{"type":"string"},"value":{}},"required":["state","text"],"type":"object"},{"additionalProperties":false,"properties":{"state":{"const":"absent","type":"string"}},"required":["state"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"state":{"const":"unavailable","type":"string"}},"required":["state","reason"],"type":"object"}]},"code":{"enum":["HTTP_REQUEST_FAILED","HTTP_TIMEOUT","HTTP_BODY_RECEPTION_FAILED","HTTP_BODY_PARSE_FAILED","HTTP_RESPONSE_REJECTED","HTTP_BODY_MISMATCH","HTTP_BODY_NOT_PARSED","HTTP_RESULT_NOT_SERIALIZABLE","HTTP_EXCHANGE_MISSING","HTTP_SECOND_FETCH","HTTP_PARSE_METHOD_UNSUPPORTED","HTTP_FETCH_FORBIDDEN","STEP_TIMEOUT","RUNTIME_RESOURCE_LIMIT","STEP_INPUT_UNAVAILABLE","OUTPUT_PROJECTION_FAILED"],"type":"string"},"kind":{"const":"exchange","type":"string"},"message":{"type":"string"},"phase":{"enum":["request","response","parse","user","backstop","infrastructure"],"type":"string"},"request":{"additionalProperties":false,"properties":{"method":{"type":"string"},"query":{"additionalProperties":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}]},"propertyNames":{"type":"string"},"type":"object"},"url":{"type":"string"}},"required":["method","url","query"],"type":"object"},"response":{"additionalProperties":false,"properties":{"headers":{"additionalProperties":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}]},"propertyNames":{"type":"string"},"type":"object"},"status":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"status_text":{"type":"string"},"url":{"type":"string"}},"required":["url","status","status_text","headers"],"type":"object"}},"required":["kind","code","phase","message","body"],"type":"object"},"StepFailure":{"oneOf":[{"$ref":"#/components/schemas/StepExchangeFailure"},{"$ref":"#/components/schemas/StepDiagnostic"}]},"StepOutputResult":{"additionalProperties":false,"properties":{"error":{"anyOf":[{"$ref":"#/components/schemas/StepFailure"},{"type":"null"}]},"loop_iteration":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"meta":{"additionalProperties":false,"properties":{"data_type":{"type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"size_bytes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"transport":{"enum":["inline","ranged"],"type":"string"}},"required":["size_bytes","data_type","transport"],"type":"object"},"output":{}},"required":["output","error","loop_iteration","meta"],"type":"object"},"StepSummary":{"additionalProperties":false,"properties":{"decision_handles":{"items":{"type":"string"},"type":"array"},"duration_ms":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"ended_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/StepError"},{"type":"null"}]},"iteration_count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"node_key":{"type":"string"},"node_type":{"enum":["action","decision","transformation","merge","wait_for_input","loop","input","output"],"type":"string"},"started_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"status":{"enum":["success","error","pending","skipped","retrying"],"type":"string"},"timing_provenance":{"enum":["observed","durable_replay","reconstructed","unavailable"],"type":"string"}},"required":["node_key","node_type","status","error","timing_provenance","started_at","ended_at","duration_ms"],"type":"object"},"SubmitCustomOAuthAppSecret":{"properties":{"additional_body_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"allowed_scopes":{"items":{"maxLength":256,"minLength":1,"pattern":"^[\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"maxItems":100,"type":"array"},"already_revoked_answer":{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},"auth_params":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"authorize_url":{"maxLength":2048,"type":"string"},"client_id":{"maxLength":1024,"minLength":1,"type":"string"},"client_secret":{"maxLength":2048,"minLength":1,"type":"string"},"granted_scope_separator":{"enum":[" ",","],"type":"string"},"id":{"maxLength":64,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"pkce_required":{"type":"boolean"},"revocation_url":{"maxLength":2048,"type":"string"},"scope_separator":{"enum":[" ",","],"type":"string"},"token_content_type":{"enum":["json","form"],"type":"string"},"token_endpoint_auth_method":{"enum":["basic","header","body","none"],"type":"string"},"token_url":{"maxLength":2048,"type":"string"}},"required":["id","name","authorize_url","token_url","client_id","allowed_scopes","client_secret"],"type":"object"},"SubmitOAuthAppSecretResult":{"anyOf":[{"additionalProperties":false,"properties":{"oauth_app_id":{"type":"string"},"status":{"const":"registered","type":"string"}},"required":["status","oauth_app_id"],"type":"object"},{"additionalProperties":false,"properties":{"oauth_app_id":{"type":"string"},"status":{"const":"already_registered","type":"string"}},"required":["status","oauth_app_id"],"type":"object"}]},"TeamEligibility":{"additionalProperties":false,"properties":{"assignable_roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array"},"authority_revision":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"can_edit":{"type":"boolean"},"invitations":{"items":{"additionalProperties":false,"properties":{"cancel":{"additionalProperties":false,"properties":{"allowed":{"type":"boolean"},"reason":{"anyOf":[{"enum":["self","owner","last_owner","authority","unavailable","billing","role_unavailable","pending","state"],"type":"string"},{"type":"null"}]}},"required":["allowed","reason"],"type":"object"},"invitation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"reissue":{"additionalProperties":false,"properties":{"allowed":{"type":"boolean"},"reason":{"anyOf":[{"enum":["self","owner","last_owner","authority","unavailable","billing","role_unavailable","pending","state"],"type":"string"},{"type":"null"}]}},"required":["allowed","reason"],"type":"object"}},"required":["invitation_id","cancel","reissue"],"type":"object"},"type":"array"},"invite":{"additionalProperties":false,"properties":{"allowed":{"type":"boolean"},"reason":{"anyOf":[{"enum":["self","owner","last_owner","authority","unavailable","billing","role_unavailable","pending","state"],"type":"string"},{"type":"null"}]}},"required":["allowed","reason"],"type":"object"},"members":{"items":{"additionalProperties":false,"properties":{"member_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"remove":{"additionalProperties":false,"properties":{"allowed":{"type":"boolean"},"reason":{"anyOf":[{"enum":["self","owner","last_owner","authority","unavailable","billing","role_unavailable","pending","state"],"type":"string"},{"type":"null"}]}},"required":["allowed","reason"],"type":"object"},"roles":{"items":{"additionalProperties":false,"properties":{"remove":{"additionalProperties":false,"properties":{"allowed":{"type":"boolean"},"reason":{"anyOf":[{"enum":["self","owner","last_owner","authority","unavailable","billing","role_unavailable","pending","state"],"type":"string"},{"type":"null"}]}},"required":["allowed","reason"],"type":"object"},"role_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["role_id","remove"],"type":"object"},"type":"array"}},"required":["member_id","remove","roles"],"type":"object"},"type":"array"},"roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array"}},"required":["authority_revision","can_edit","invite","assignable_roles","roles","members","invitations"],"type":"object"},"TemplateCloneResult":{"additionalProperties":false,"properties":{"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"snapshot_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"template_slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"workflows":{"items":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"key":{"maxLength":120,"minLength":1,"pattern":"^[a-z][a-z0-9_]*$","type":"string"},"name":{"description":"Workflow name; surrounding whitespace is trimmed and whitespace runs collapse to one space.","maxLength":100,"minLength":1,"type":"string"},"trigger_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["key","id","name","trigger_id"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"}},"required":["operation_id","template_slug","snapshot_id","workflows"],"type":"object"},"TemplateDetail":{"additionalProperties":false,"properties":{"applications":{"items":{"additionalProperties":false,"properties":{"authentication":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"}},"required":["id","label"],"type":"object"},{"type":"null"}]},"cost_context":{"anyOf":[{"maxLength":60001,"minLength":1,"type":"string"},{"type":"null"}]},"description":{"maxLength":30000,"minLength":1,"type":"string"},"documentation_links":{"items":{"additionalProperties":false,"properties":{"description":{"maxLength":1000,"minLength":1,"type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["label","url","description"],"type":"object"},"maxItems":50,"type":"array"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"},"required_permissions":{"items":{"maxLength":120,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"required_scopes":{"items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["slug","name","icon","description","authentication","required_scopes","required_permissions","cost_context","documentation_links"],"type":"object"},"type":"array"},"description":{"maxLength":1500,"minLength":300,"type":"string"},"disclaimer":{"anyOf":[{"maxLength":600,"minLength":1,"type":"string"},{"type":"null"}]},"examples":{"items":{"additionalProperties":false,"properties":{"content":{"maxLength":1200,"minLength":1,"type":"string"},"title":{"maxLength":140,"minLength":1,"type":"string"}},"required":["title","content"],"type":"object"},"maxItems":3,"minItems":1,"type":"array"},"faqs":{"items":{"additionalProperties":false,"properties":{"answer":{"maxLength":600,"minLength":1,"type":"string"},"question":{"maxLength":100,"minLength":1,"type":"string"}},"required":["question","answer"],"type":"object"},"maxItems":6,"minItems":3,"type":"array"},"first_published_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"how_it_works":{"items":{"additionalProperties":false,"properties":{"content":{"maxLength":400,"minLength":1,"type":"string"},"title":{"maxLength":140,"minLength":1,"type":"string"}},"required":["title","content"],"type":"object"},"maxItems":8,"minItems":3,"type":"array"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"kind":{"enum":["mcp_toolkit","workflow"],"type":"string"},"name":{"maxLength":60,"minLength":1,"type":"string"},"requirements":{"items":{"additionalProperties":false,"properties":{"description":{"maxLength":1000,"minLength":1,"type":"string"},"kind":{"enum":["secret","variable"],"type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"source":{"oneOf":[{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"kind":{"const":"copied","type":"string"}},"required":["kind","application","authentication_option","field"],"type":"object"},{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"kind":{"const":"credential","type":"string"}},"required":["kind","application","authentication_option"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}]},"kind":{"const":"choice","type":"string"},"shape":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"type":{"const":"number","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"yes_no","type":"string"}},"required":["type"],"type":"object"}]},{"type":"null"}]}},"required":["kind","default","shape"],"type":"object"}]}},"required":["name","description","source","kind"],"type":"object"},"type":"array"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"snapshot_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"summary":{"maxLength":155,"minLength":70,"type":"string"},"tool_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"tools":{"items":{"additionalProperties":false,"properties":{"display_name":{"maxLength":120,"minLength":1,"type":"string"},"tool_description":{"maxLength":1024,"minLength":1,"type":"string"},"tool_name":{"pattern":"^[a-zA-Z0-9_-]{1,64}$","type":"string"},"workflow_key":{"maxLength":120,"minLength":1,"pattern":"^[a-z][a-z0-9_]*$","type":"string"}},"required":["workflow_key","tool_name","display_name","tool_description"],"type":"object"},"type":"array"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_count":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["id","slug","snapshot_id","name","summary","kind","tool_count","workflow_count","first_published_at","updated_at","applications","description","how_it_works","examples","faqs","disclaimer","requirements","tools"],"type":"object"},"TemplateGuidance":{"additionalProperties":false,"properties":{"agent_guidance":{"maxLength":30000,"minLength":1,"type":"string"},"application_guidance":{"items":{"additionalProperties":false,"properties":{"agent_guidance":{"anyOf":[{"maxLength":150004,"minLength":1,"type":"string"},{"type":"null"}]},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["slug","agent_guidance"],"type":"object"},"type":"array"},"applications":{"items":{"additionalProperties":false,"properties":{"authentication":{"anyOf":[{"additionalProperties":false,"properties":{"id":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"}},"required":["id","label"],"type":"object"},{"type":"null"}]},"cost_context":{"anyOf":[{"maxLength":60001,"minLength":1,"type":"string"},{"type":"null"}]},"description":{"maxLength":30000,"minLength":1,"type":"string"},"documentation_links":{"items":{"additionalProperties":false,"properties":{"description":{"maxLength":1000,"minLength":1,"type":"string"},"label":{"maxLength":120,"minLength":1,"type":"string"},"url":{"maxLength":2048,"pattern":"^https:\\/\\/([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]([a-z0-9-]*[a-z0-9])?([/?#][^\\s\\\\]*)?$","type":"string"}},"required":["label","url","description"],"type":"object"},"maxItems":50,"type":"array"},"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"},"required_permissions":{"items":{"maxLength":120,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"required_scopes":{"items":{"maxLength":2048,"minLength":1,"type":"string"},"maxItems":100,"type":"array"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["slug","name","icon","description","authentication","required_scopes","required_permissions","cost_context","documentation_links"],"type":"object"},"type":"array"},"description":{"maxLength":1500,"minLength":300,"type":"string"},"disclaimer":{"anyOf":[{"maxLength":600,"minLength":1,"type":"string"},{"type":"null"}]},"examples":{"items":{"additionalProperties":false,"properties":{"content":{"maxLength":1200,"minLength":1,"type":"string"},"title":{"maxLength":140,"minLength":1,"type":"string"}},"required":["title","content"],"type":"object"},"maxItems":3,"minItems":1,"type":"array"},"faqs":{"items":{"additionalProperties":false,"properties":{"answer":{"maxLength":600,"minLength":1,"type":"string"},"question":{"maxLength":100,"minLength":1,"type":"string"}},"required":["question","answer"],"type":"object"},"maxItems":6,"minItems":3,"type":"array"},"first_published_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"how_it_works":{"items":{"additionalProperties":false,"properties":{"content":{"maxLength":400,"minLength":1,"type":"string"},"title":{"maxLength":140,"minLength":1,"type":"string"}},"required":["title","content"],"type":"object"},"maxItems":8,"minItems":3,"type":"array"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"install_guidance":{"maxLength":30000,"minLength":1,"type":"string"},"kind":{"enum":["mcp_toolkit","workflow"],"type":"string"},"name":{"maxLength":60,"minLength":1,"type":"string"},"requirements":{"items":{"additionalProperties":false,"properties":{"description":{"maxLength":1000,"minLength":1,"type":"string"},"kind":{"enum":["secret","variable"],"type":"string"},"name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"source":{"oneOf":[{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"field":{"maxLength":64,"pattern":"^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$","type":"string"},"kind":{"const":"copied","type":"string"}},"required":["kind","application","authentication_option","field"],"type":"object"},{"additionalProperties":false,"properties":{"application":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"authentication_option":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"kind":{"const":"credential","type":"string"}},"required":["kind","application","authentication_option"],"type":"object"},{"additionalProperties":false,"properties":{"default":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}]},"kind":{"const":"choice","type":"string"},"shape":{"anyOf":[{"oneOf":[{"additionalProperties":false,"properties":{"type":{"const":"number","type":"string"}},"required":["type"],"type":"object"},{"additionalProperties":false,"properties":{"type":{"const":"yes_no","type":"string"}},"required":["type"],"type":"object"}]},{"type":"null"}]}},"required":["kind","default","shape"],"type":"object"}]}},"required":["name","description","source","kind"],"type":"object"},"type":"array"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"snapshot_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"summary":{"maxLength":155,"minLength":70,"type":"string"},"tool_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"tools":{"items":{"additionalProperties":false,"properties":{"display_name":{"maxLength":120,"minLength":1,"type":"string"},"tool_description":{"maxLength":1024,"minLength":1,"type":"string"},"tool_name":{"pattern":"^[a-zA-Z0-9_-]{1,64}$","type":"string"},"workflow_key":{"maxLength":120,"minLength":1,"pattern":"^[a-z][a-z0-9_]*$","type":"string"}},"required":["workflow_key","tool_name","display_name","tool_description"],"type":"object"},"type":"array"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_count":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"workflows":{"items":{"additionalProperties":false,"properties":{"binding":{"anyOf":[{"additionalProperties":false,"properties":{"display_name":{"maxLength":120,"minLength":1,"type":"string"},"tool_description":{"maxLength":1024,"minLength":1,"type":"string"},"tool_name":{"pattern":"^[a-zA-Z0-9_-]{1,64}$","type":"string"}},"required":["tool_name","display_name","tool_description"],"type":"object"},{"type":"null"}]},"key":{"maxLength":120,"minLength":1,"pattern":"^[a-z][a-z0-9_]*$","type":"string"},"trigger_recipes":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"auth":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"static_secret","type":"string"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"in":{"const":"header","type":"string"},"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"scheme":{"enum":["Bearer","Basic"],"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"query","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"body","type":"string"},"path":{"description":"Slash-leading RFC 6901 JSON Pointer for JSON bodies, or a non-slash literal field name for form-encoded bodies","minLength":1,"type":"string"}},"required":["in","path"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"transform":{"enum":["raw","base64"],"type":"string"}},"required":["kind","location","transform","secrets"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"enum":["hmac-sha1","hmac-sha256","hmac-sha512","sha256-hash","sha1-hash"],"type":"string"},"body_digest":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"compare_to":{"additionalProperties":false,"properties":{"query":{"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"encoding":{"const":"hex","type":"string"}},"required":["algorithm","encoding","compare_to"],"type":"object"},"encoding":{"enum":["hex","base64","base64url"],"type":"string"},"json_array_lengths":{"items":{"additionalProperties":false,"properties":{"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"minLength":1,"type":"string"}},"required":["path","length"],"type":"object"},"maxItems":16,"type":"array"},"json_fields":{"additionalProperties":{"additionalProperties":false,"properties":{"escape":{"enum":["none","colon_backslash"],"type":"string"},"missing":{"enum":["reject","empty"],"type":"string"},"path":{"minLength":1,"type":"string"},"scalar":{"enum":["string","integer"],"type":"string"}},"required":["path","scalar","missing","escape"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"kind":{"const":"hmac","type":"string"},"required_headers":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"maxItems":16,"type":"array"},"secret_transform":{"anyOf":[{"enum":["raw","base64","hex"],"type":"string"},{"additionalProperties":false,"properties":{"strip_prefix":{"minLength":1,"type":"string"},"then":{"const":"base64","type":"string"}},"required":["strip_prefix","then"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"signature_header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"signature":{"additionalProperties":false,"properties":{"extract":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"whole","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prefix","type":"string"},"prefix":{"minLength":1,"type":"string"}},"required":["kind","prefix"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"scheme","type":"string"},"scheme":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["kind","scheme"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"minLength":1,"type":"string"},"kind":{"const":"pairs","type":"string"},"sep":{"enum":[",",";"],"type":"string"}},"required":["kind","sep","key"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"list","type":"string"},"prefix":{"minLength":1,"type":"string"},"sep":{"enum":[","," "],"type":"string"}},"required":["kind","sep","prefix"],"type":"object"}]},"from":{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]}},"required":["from","extract"],"type":"object"},"signed_string":{"type":"string"},"timestamp":{"additionalProperties":false,"properties":{"format":{"enum":["unix_s","unix_ms","rfc3339"],"type":"string"},"from":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]},{"additionalProperties":false,"properties":{"pairs_key":{"minLength":1,"type":"string"}},"required":["pairs_key"],"type":"object"}]},"tolerance_seconds":{"maximum":86400,"minimum":0,"type":"integer"}},"required":["from","format","tolerance_seconds"],"type":"object"},"url_percent_decode":{"items":{"pattern":"^[0-9A-F]{2}$","type":"string"},"type":"array"}},"required":["kind","signature","signed_string","algorithm","encoding","secret_transform","secrets"],"type":"object"}]},"response_mode":{"enum":["sync","async"],"type":"string"}},"required":["auth"],"type":"object"},"trigger_type":{"const":"webhook","type":"string"}},"required":["trigger_type","config"],"type":"object"},{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"allowed_senders":{"items":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"minItems":1,"type":"array"}},"required":["allowed_senders"],"type":"object"},"trigger_type":{"const":"email","type":"string"}},"required":["trigger_type","config"],"type":"object"},{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"cron_expression":{"type":"string"},"input":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}},"required":["cron_expression"],"type":"object"},"trigger_type":{"const":"schedule","type":"string"}},"required":["trigger_type","config"],"type":"object"}]},"type":"array"}},"required":["key","binding","trigger_recipes"],"type":"object"},"type":"array"}},"required":["id","slug","snapshot_id","name","summary","kind","tool_count","workflow_count","first_published_at","updated_at","applications","description","how_it_works","examples","faqs","disclaimer","requirements","tools","install_guidance","agent_guidance","application_guidance","workflows"],"type":"object"},"TemplateList":{"additionalProperties":false,"properties":{"data":{"items":{"$ref":"#/components/schemas/TemplateSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"anyOf":[{"minLength":1,"type":"string"},{"type":"null"}]}},"required":["data","has_more","next_cursor"],"type":"object"},"TemplateSummary":{"additionalProperties":false,"properties":{"applications":{"items":{"additionalProperties":false,"properties":{"icon":{"anyOf":[{"additionalProperties":false,"properties":{"dark":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"},"light":{"additionalProperties":false,"properties":{"background":{"enum":["own","none"],"type":"string"},"url":{"pattern":"^https:\\/\\/cdn\\.typenode\\.ai\\/icons\\/[a-f0-9]{64}\\.(?:svg|png|webp)$","type":"string"}},"required":["url","background"],"type":"object"}},"required":["light","dark"],"type":"object"},{"type":"null"}]},"name":{"maxLength":120,"minLength":1,"type":"string"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"}},"required":["slug","name","icon"],"type":"object"},"type":"array"},"first_published_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"kind":{"enum":["mcp_toolkit","workflow"],"type":"string"},"name":{"maxLength":60,"minLength":1,"type":"string"},"slug":{"maxLength":120,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"snapshot_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"summary":{"maxLength":155,"minLength":70,"type":"string"},"tool_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"workflow_count":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["id","slug","snapshot_id","name","summary","kind","tool_count","workflow_count","first_published_at","updated_at","applications"],"type":"object"},"TenantDeletionPreview":{"additionalProperties":false,"properties":{"destinations":{"items":{"additionalProperties":false,"properties":{"destination_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"profile_id":{"minLength":1,"type":"string"}},"required":["destination_id","profile_id"],"type":"object"},"type":"array"},"fingerprint":{"pattern":"^[0-9a-f]{64}$","type":"string"},"inventory":{"additionalProperties":false,"properties":{"credentials":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environment_variables":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"environments":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"mcp_servers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"members":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"roles":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"service_accounts":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skills":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflow_triggers":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflow_versions":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"workflows":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["workflows","workflow_versions","workflow_triggers","environments","environment_variables","credentials","skills","mcp_servers","roles","service_accounts","members"],"type":"object"},"lifecycle_state":{"enum":["active","deleting"],"type":"string"},"name":{"minLength":1,"type":"string"},"root_kind":{"const":"tenant","type":"string"},"subject_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["root_kind","subject_id","name","lifecycle_state","inventory","fingerprint","destinations"],"type":"object"},"TestResult":{"anyOf":[{"additionalProperties":false,"properties":{"expires_in_seconds":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"last_refresh_at":{"anyOf":[{"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":"string"},{"type":"null"}]},"status":{"const":"valid","type":"string"}},"required":["status","expires_in_seconds","last_refresh_at"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"type":"string"},"status":{"const":"invalid","type":"string"}},"required":["status","reason"],"type":"object"}]},"Trigger":{"oneOf":[{"$ref":"#/components/schemas/WebhookTrigger"},{"$ref":"#/components/schemas/EmailTrigger"},{"$ref":"#/components/schemas/ScheduleTrigger"}]},"UnpublishOperationDetails":{"additionalProperties":false,"properties":{"completion":{"anyOf":[{"additionalProperties":false,"properties":{"admission_closed":{"const":true,"type":"boolean"},"at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"installed_release_removed":{"const":true,"type":"boolean"},"projections_removed":{"const":true,"type":"boolean"}},"required":["at","admission_closed","projections_removed","installed_release_removed"],"type":"object"},{"type":"null"}]},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"expected_generation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"expected_sealed_release_id":{"pattern":"^[0-9a-f]{64}$","type":"string"},"failure_code":{"anyOf":[{"enum":["busy","no_active_release","stale_predecessor","lifecycle_pending"],"type":"string"},{"type":"null"}]},"remediation":{"anyOf":[{"enum":["finish_or_cancel_runs_and_submit_new_request","refresh_published_release_and_submit_new_request","wait_for_pending_operation_and_retry"],"type":"string"},{"type":"null"}]},"request_id":{"description":"Client request identity from Idempotency-Key; operation_id identifies the server Operation.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"state":{"enum":["queued","cleanup_pending","completed","refused"],"type":"string"}},"required":["request_id","environment_id","environment_name","expected_sealed_release_id","expected_generation","state","failure_code","remediation","completion"],"type":"object"},"UnpublishWorkflow":{"additionalProperties":false,"properties":{"environment_id":{"description":"UUID of the exact Environment reviewed, alongside its name.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"description":"Name of the same Environment incarnation.","type":"string"},"expected_generation":{"description":"Installed generation reviewed by the caller, even when a later generation has identical content.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"expected_sealed_release_id":{"description":"Digest of the installed release reviewed by the caller.","pattern":"^[0-9a-f]{64}$","type":"string"}},"required":["environment_id","environment_name","expected_sealed_release_id","expected_generation"],"type":"object"},"UpdateAgent":{"additionalProperties":false,"properties":{"base_tools":{"items":{"type":"string"},"type":"array"},"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"is_active":{"type":"boolean"},"max_budget_usd":{"maximum":50,"minimum":0,"type":"number"},"max_turns":{"maximum":200,"minimum":1,"type":"integer"},"model":{"enum":["claude-sonnet-4-6","claude-haiku-4-5-20251001","claude-opus-4-6"],"type":"string"},"name":{"maxLength":100,"minLength":1,"type":"string"},"permission_mode":{"enum":["acceptEdits","default","bypassPermissions"],"type":"string"},"slug":{"maxLength":50,"pattern":"^[a-z0-9]+(-[a-z0-9]+)*$","type":"string"},"system_prompt_text":{"maxLength":10000,"type":"string"},"system_prompt_type":{"enum":["preset_append","custom"],"type":"string"}},"type":"object"},"UpdateKey":{"additionalProperties":false,"properties":{"name":{"maxLength":100,"minLength":2,"type":"string"}},"required":["name"],"type":"object"},"UpdateMcpServer":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_enabled":{"type":"boolean"},"name":{"maxLength":100,"minLength":1,"type":"string"}},"type":"object"},"UpdateMcpServerBinding":{"additionalProperties":false,"properties":{"is_enabled":{"type":"boolean"},"tool_description":{"maxLength":1024,"minLength":1,"type":"string"},"tool_name":{"pattern":"^[a-zA-Z0-9_-]{1,64}$","type":"string"}},"type":"object"},"UpdateOAuthApp":{"additionalProperties":false,"properties":{"already_revoked_answer":{"anyOf":[{"additionalProperties":false,"properties":{"error":{"maxLength":128,"minLength":1,"pattern":"^[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]+$","type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"}},"required":["status","error"],"type":"object"},{"type":"null"}]},"is_enabled":{"type":"boolean"}},"type":"object"},"UpdateOAuthClient":{"additionalProperties":false,"properties":{"name":{"description":"Display name after trimming surrounding whitespace.","maxLength":200,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"UpdateRole":{"properties":{"capabilities":{"items":{"$ref":"#/components/schemas/CapabilityEntryInput"},"type":"array"},"description":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}]},"name":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"UpdateSkill":{"additionalProperties":false,"properties":{"body":{"type":"string"},"description":{"maxLength":1024,"minLength":1,"type":"string"},"name":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9]([a-z0-9-]*[a-z0-9])?$","type":"string"}},"type":"object"},"UpdateTrigger":{"additionalProperties":false,"properties":{"config":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"expected_definition_revision":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"type":"object"},"UpdateWorkflowMetadata":{"additionalProperties":false,"properties":{"name":{"description":"Workflow name; surrounding whitespace is trimmed and whitespace runs collapse to one space.","maxLength":100,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"ValidateWorkflowVersion":{"additionalProperties":false,"properties":{"expected_draft_updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"type":"object"},"Variable":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"name":{"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"value":{"type":"string"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["name","value","version","created_at","updated_at"],"type":"object"},"VariableInventoryItem":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"name":{"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"value":{"type":"string"},"version":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["name","value","version","created_at","updated_at"],"type":"object"},"VerifyConnectorResult":{"additionalProperties":false,"properties":{"status":{"enum":["active","error","needs_reauth","disabled"],"type":"string"},"status_reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"tool_count":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"tool_names":{"items":{"type":"string"},"type":"array"}},"required":["status","status_reason","tool_count","tool_names"],"type":"object"},"WebhookTrigger":{"additionalProperties":false,"properties":{"config":{"additionalProperties":false,"properties":{"auth":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"static_secret","type":"string"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"in":{"const":"header","type":"string"},"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"scheme":{"enum":["Bearer","Basic"],"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"query","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"body","type":"string"},"path":{"description":"Slash-leading RFC 6901 JSON Pointer for JSON bodies, or a non-slash literal field name for form-encoded bodies","minLength":1,"type":"string"}},"required":["in","path"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"transform":{"enum":["raw","base64"],"type":"string"}},"required":["kind","location","transform","secrets"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"enum":["hmac-sha1","hmac-sha256","hmac-sha512","sha256-hash","sha1-hash"],"type":"string"},"body_digest":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"compare_to":{"additionalProperties":false,"properties":{"query":{"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"encoding":{"const":"hex","type":"string"}},"required":["algorithm","encoding","compare_to"],"type":"object"},"encoding":{"enum":["hex","base64","base64url"],"type":"string"},"json_array_lengths":{"items":{"additionalProperties":false,"properties":{"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"minLength":1,"type":"string"}},"required":["path","length"],"type":"object"},"maxItems":16,"type":"array"},"json_fields":{"additionalProperties":{"additionalProperties":false,"properties":{"escape":{"enum":["none","colon_backslash"],"type":"string"},"missing":{"enum":["reject","empty"],"type":"string"},"path":{"minLength":1,"type":"string"},"scalar":{"enum":["string","integer"],"type":"string"}},"required":["path","scalar","missing","escape"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"kind":{"const":"hmac","type":"string"},"required_headers":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"maxItems":16,"type":"array"},"secret_transform":{"anyOf":[{"enum":["raw","base64","hex"],"type":"string"},{"additionalProperties":false,"properties":{"strip_prefix":{"minLength":1,"type":"string"},"then":{"const":"base64","type":"string"}},"required":["strip_prefix","then"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"signature_header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"signature":{"additionalProperties":false,"properties":{"extract":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"whole","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prefix","type":"string"},"prefix":{"minLength":1,"type":"string"}},"required":["kind","prefix"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"scheme","type":"string"},"scheme":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["kind","scheme"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"minLength":1,"type":"string"},"kind":{"const":"pairs","type":"string"},"sep":{"enum":[",",";"],"type":"string"}},"required":["kind","sep","key"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"list","type":"string"},"prefix":{"minLength":1,"type":"string"},"sep":{"enum":[","," "],"type":"string"}},"required":["kind","sep","prefix"],"type":"object"}]},"from":{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]}},"required":["from","extract"],"type":"object"},"signed_string":{"type":"string"},"timestamp":{"additionalProperties":false,"properties":{"format":{"enum":["unix_s","unix_ms","rfc3339"],"type":"string"},"from":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]},{"additionalProperties":false,"properties":{"pairs_key":{"minLength":1,"type":"string"}},"required":["pairs_key"],"type":"object"}]},"tolerance_seconds":{"maximum":86400,"minimum":0,"type":"integer"}},"required":["from","format","tolerance_seconds"],"type":"object"},"url_percent_decode":{"items":{"pattern":"^[0-9A-F]{2}$","type":"string"},"type":"array"}},"required":["kind","signature","signed_string","algorithm","encoding","secret_transform","secrets"],"type":"object"}]},"response_mode":{"enum":["sync","async"],"type":"string"}},"required":["response_mode","auth"],"type":"object"},"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"definition_revision":{"type":"string"},"deployed":{"type":"boolean"},"deployed_environments":{"items":{"additionalProperties":false,"properties":{"environment_name":{"type":"string"},"installed_webhook":{"oneOf":[{"additionalProperties":false,"properties":{"definition_digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"definition_revision":{"type":"string"},"deployment_generation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"publication_state":{"const":"pending","type":"string"}},"required":["environment_id","environment_name","deployment_generation","definition_revision","definition_digest","publication_state"],"type":"object"},{"additionalProperties":false,"properties":{"auth":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"access_key","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"static_secret","type":"string"},"location":{"oneOf":[{"additionalProperties":false,"properties":{"in":{"const":"header","type":"string"},"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"scheme":{"enum":["Bearer","Basic"],"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"query","type":"string"},"name":{"minLength":1,"type":"string"}},"required":["in","name"],"type":"object"},{"additionalProperties":false,"properties":{"in":{"const":"body","type":"string"},"path":{"description":"Slash-leading RFC 6901 JSON Pointer for JSON bodies, or a non-slash literal field name for form-encoded bodies","minLength":1,"type":"string"}},"required":["in","path"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"transform":{"enum":["raw","base64"],"type":"string"}},"required":["kind","location","transform","secrets"],"type":"object"},{"additionalProperties":false,"properties":{"algorithm":{"enum":["hmac-sha1","hmac-sha256","hmac-sha512","sha256-hash","sha1-hash"],"type":"string"},"body_digest":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"compare_to":{"additionalProperties":false,"properties":{"query":{"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"encoding":{"const":"hex","type":"string"}},"required":["algorithm","encoding","compare_to"],"type":"object"},"encoding":{"enum":["hex","base64","base64url"],"type":"string"},"json_array_lengths":{"items":{"additionalProperties":false,"properties":{"length":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"path":{"minLength":1,"type":"string"}},"required":["path","length"],"type":"object"},"maxItems":16,"type":"array"},"json_fields":{"additionalProperties":{"additionalProperties":false,"properties":{"escape":{"enum":["none","colon_backslash"],"type":"string"},"missing":{"enum":["reject","empty"],"type":"string"},"path":{"minLength":1,"type":"string"},"scalar":{"enum":["string","integer"],"type":"string"}},"required":["path","scalar","missing","escape"],"type":"object"},"propertyNames":{"type":"string"},"type":"object"},"kind":{"const":"hmac","type":"string"},"required_headers":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"},"value":{"type":"string"}},"required":["name","value"],"type":"object"},"maxItems":16,"type":"array"},"secret_transform":{"anyOf":[{"enum":["raw","base64","hex"],"type":"string"},{"additionalProperties":false,"properties":{"strip_prefix":{"minLength":1,"type":"string"},"then":{"const":"base64","type":"string"}},"required":["strip_prefix","then"],"type":"object"}]},"secrets":{"items":{"additionalProperties":false,"properties":{"secret_name":{"maxLength":100,"minLength":1,"pattern":"^[A-Z][A-Z0-9_]*$","type":"string"},"signature_header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["secret_name"],"type":"object"},"maxItems":8,"minItems":1,"type":"array"},"signature":{"additionalProperties":false,"properties":{"extract":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"whole","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"prefix","type":"string"},"prefix":{"minLength":1,"type":"string"}},"required":["kind","prefix"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"scheme","type":"string"},"scheme":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["kind","scheme"],"type":"object"},{"additionalProperties":false,"properties":{"key":{"minLength":1,"type":"string"},"kind":{"const":"pairs","type":"string"},"sep":{"enum":[",",";"],"type":"string"}},"required":["kind","sep","key"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"list","type":"string"},"prefix":{"minLength":1,"type":"string"},"sep":{"enum":[","," "],"type":"string"}},"required":["kind","sep","prefix"],"type":"object"}]},"from":{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]}},"required":["from","extract"],"type":"object"},"signed_string":{"type":"string"},"timestamp":{"additionalProperties":false,"properties":{"format":{"enum":["unix_s","unix_ms","rfc3339"],"type":"string"},"from":{"anyOf":[{"anyOf":[{"additionalProperties":false,"properties":{"header":{"minLength":1,"pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","type":"string"}},"required":["header"],"type":"object"},{"additionalProperties":false,"properties":{"body":{"minLength":1,"type":"string"}},"required":["body"],"type":"object"}]},{"additionalProperties":false,"properties":{"pairs_key":{"minLength":1,"type":"string"}},"required":["pairs_key"],"type":"object"}]},"tolerance_seconds":{"maximum":86400,"minimum":0,"type":"integer"}},"required":["from","format","tolerance_seconds"],"type":"object"},"url_percent_decode":{"items":{"pattern":"^[0-9A-F]{2}$","type":"string"},"type":"array"}},"required":["kind","signature","signed_string","algorithm","encoding","secret_transform","secrets"],"type":"object"}]},"definition_digest":{"pattern":"^[0-9a-f]{64}$","type":"string"},"definition_revision":{"type":"string"},"deployment_generation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"publication_state":{"const":"acknowledged","type":"string"},"webhook_url":{"type":"string"}},"required":["environment_id","environment_name","deployment_generation","definition_revision","definition_digest","auth","webhook_url","publication_state"],"type":"object"}]},"webhook_url":{"type":"string"}},"required":["environment_name"],"type":"object"},"type":"array"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trigger_type":{"const":"webhook","type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"webhook_url":{"type":"string"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","definition_revision","deployed","created_at","updated_at","trigger_type","config"],"type":"object"},"WebhookVerifierPublicationResult":{"additionalProperties":false,"properties":{"command_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"state":{"enum":["acknowledged","unavailable","superseded"],"type":"string"}},"required":["command_id","state"],"type":"object"},"Workflow":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"draft_revision":{"type":"string"},"has_changes":{"type":"boolean"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"live_deployment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"live_sealed_release_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"nodes":{"items":{"$ref":"#/components/schemas/Node"},"type":"array"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","name","has_changes","live_sealed_release_id","draft_revision","live_deployment_id","created_at","updated_at","nodes","triggers"],"type":"object"},"WorkflowMcpServerBinding":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_enabled":{"type":"boolean"},"mcp_server_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"source_artifact_type":{"const":"workflow","type":"string"},"source_preview":{"anyOf":[{"$ref":"#/components/schemas/McpServerBindingSourcePreview"},{"type":"null"}]},"tool_description":{"type":"string"},"tool_name":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","mcp_server_id","source_artifact_id","is_enabled","source_preview","created_at","updated_at","source_artifact_type","tool_name","tool_description"],"type":"object"},"WorkflowMetadata":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"WorkflowStepBatchResult":{"additionalProperties":false,"properties":{"applied":{},"diagnostics":{"anyOf":[{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},{"type":"null"}]},"workflow_version_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["applied","workflow_version_id","diagnostics"],"type":"object"},"WorkflowSummary":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"draft_revision":{"type":"string"},"has_changes":{"type":"boolean"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"live_deployment_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"live_sealed_release_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"updated_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","name","has_changes","live_sealed_release_id","draft_revision","live_deployment_id","created_at","updated_at"],"type":"object"},"WorkflowUnpublishReport":{"additionalProperties":false,"properties":{"affected_tool_count":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"busy":{"additionalProperties":false,"properties":{"launch_pending":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"launch_unknown":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"paused":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"queued":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"running":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"waiting":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["queued","running","paused","waiting","launch_pending","launch_unknown"],"type":"object"},"can_publish_again":{"const":true,"type":"boolean"},"environment_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"environment_name":{"type":"string"},"installed_release":{"anyOf":[{"additionalProperties":false,"properties":{"generation":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"sealed_release_id":{"pattern":"^[0-9a-f]{64}$","type":"string"},"trigger_state":{"enum":["enabled","paused"],"type":"string"}},"required":["sealed_release_id","generation","trigger_state"],"type":"object"},{"type":"null"}]},"lifecycle_pending":{"type":"boolean"},"request_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"retains":{"prefixItems":[{"const":"workflow","type":"string"},{"const":"versions","type":"string"},{"const":"bindings","type":"string"},{"const":"shared_configuration","type":"string"},{"const":"credentials","type":"string"},{"const":"other_deployments","type":"string"}],"type":"array"},"runtime_consequence":{"type":"string"},"stops_new_admission":{"const":true,"type":"boolean"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"workflow_name":{"type":"string"}},"required":["request_id","workflow_id","workflow_name","environment_id","environment_name","installed_release","busy","lifecycle_pending","affected_tool_count","stops_new_admission","retains","can_publish_again","runtime_consequence"],"type":"object"},"WorkflowValidationDiagnostic":{"additionalProperties":false,"properties":{"code":{"type":"string"},"field":{"type":"string"},"message":{"type":"string"},"received":{},"severity":{"enum":["error","warning"],"type":"string"}},"required":["field","message","code","severity"],"type":"object"},"WorkflowValidationResult":{"oneOf":[{"additionalProperties":false,"properties":{"cached":{"type":"boolean"},"nodes":{"anyOf":[{"items":{"$ref":"#/components/schemas/Node"},"type":"array"},{"type":"null"}]},"requirements":{"additionalProperties":false,"properties":{"secrets":{"items":{"type":"string"},"type":"array"},"variables":{"items":{"type":"string"},"type":"array"}},"required":["secrets","variables"],"type":"object"},"timestamp":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"valid":{"const":true,"type":"boolean"},"validation_status":{"const":"valid","type":"string"},"version_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"version_number":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"warnings":{"items":{"$ref":"#/components/schemas/WorkflowValidationDiagnostic"},"type":"array"}},"required":["warnings","version_id","version_number","nodes","cached","timestamp","valid","validation_status","requirements"],"type":"object"},{"additionalProperties":false,"properties":{"cached":{"type":"boolean"},"errors":{"items":{"$ref":"#/components/schemas/WorkflowValidationDiagnostic"},"type":"array"},"nodes":{"anyOf":[{"items":{"$ref":"#/components/schemas/Node"},"type":"array"},{"type":"null"}]},"requirements":{"type":"null"},"timestamp":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"valid":{"const":false,"type":"boolean"},"validation_status":{"const":"invalid","type":"string"},"version_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},{"type":"null"}]},"version_number":{"anyOf":[{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},{"type":"null"}]},"warnings":{"items":{"$ref":"#/components/schemas/WorkflowValidationDiagnostic"},"type":"array"}},"required":["warnings","version_id","version_number","nodes","cached","timestamp","valid","errors","validation_status","requirements"],"type":"object"}]},"WorkflowVersion":{"additionalProperties":false,"properties":{"created_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"created_via":{"enum":["platform","ai_agent","api"],"type":"string"},"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"is_published":{"type":"boolean"},"nodes":{"items":{"$ref":"#/components/schemas/Node"},"type":"array"},"published_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"validated_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"validation_status":{"enum":["pending","valid","invalid"],"type":"string"},"version":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"workflow_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},"required":["id","workflow_id","version","validation_status","validated_at","is_published","published_at","created_via","created_at"],"type":"object"},"WorkspaceBillingStatus":{"additionalProperties":false,"properties":{"can_edit":{"type":"boolean"},"can_manage_billing":{"type":"boolean"},"can_run":{"type":"boolean"},"cancel_at_period_end":{"type":"boolean"},"catalog":{"additionalProperties":false,"properties":{"pack":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"pro":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"trial":{"additionalProperties":false,"properties":{"days":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"paid_price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","days","paid_price_cents"],"type":"object"}},"required":["trial","pro","pack"],"type":"object"},"complimentary_remaining":{"minimum":0,"type":"number"},"has_redeemed_offer_code":{"type":"boolean"},"has_stripe_customer":{"type":"boolean"},"included_allowance":{"minimum":0,"type":"number"},"included_remaining":{"minimum":0,"type":"number"},"payment_retry_ends_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"period_end":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"period_start":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"purchased_remaining":{"minimum":0,"type":"number"},"purchased_total":{"minimum":0,"type":"number"},"recent_offers":{"items":{"additionalProperties":false,"properties":{"awarded_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"extra_days":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"extra_runs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"public_name":{"type":"string"},"trial_activated":{"type":"boolean"},"trial_after":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_before":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["operation_id","public_name","awarded_at","trial_activated","extra_days","extra_runs","trial_before","trial_after"],"type":"object"},"type":"array"},"state":{"enum":["trial_pending","trial_active","trial_expired","pro_active","pro_expired"],"type":"string"},"subscription_status":{"anyOf":[{"enum":["active","past_due","canceled"],"type":"string"},{"type":"null"}]},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"total_spendable":{"minimum":0,"type":"number"},"trial_activated_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_offer":{"anyOf":[{"enum":["free","paid"],"type":"string"},{"type":"null"}]},"trial_payment_received":{"type":"boolean"},"workspace_name":{"type":"string"}},"required":["tenant_id","workspace_name","state","trial_offer","has_stripe_customer","trial_payment_received","recent_offers","has_redeemed_offer_code","trial_activated_at","trial_expires_at","period_start","period_end","subscription_status","cancel_at_period_end","payment_retry_ends_at","included_allowance","included_remaining","complimentary_remaining","purchased_remaining","purchased_total","total_spendable","can_edit","can_run","can_manage_billing","catalog"],"type":"object"},"WorkspaceMemberCapabilities":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":{"const":true,"type":"boolean"},"description":"Every capability token the member can use somewhere in this workspace now, each mapped to true; an absent token is not held. A token is present when the workspace product policy releases it and the member holds it through at least one live grant (a role, Everyone included, a direct grant, or a share) at any scope: the whole workspace, their own resources, one shared resource, or one environment. This is the workspace-level set the API applies before each route's own exact check, the same set the authoring MCP uses to list tools: a present token means a request needing it can succeed for some resource, not for every one (a list returns only the resources the member may read; acting on another member's resource can still be refused). Billing is separate: product policy's ordinary_product_ready says whether edits and runs are currently allowed.","propertyNames":{"type":"string"},"type":"object"}},"required":["capabilities"],"type":"object"},"WorkspaceOfferAward":{"additionalProperties":false,"properties":{"awarded_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"billing":{"additionalProperties":false,"properties":{"can_edit":{"type":"boolean"},"can_run":{"type":"boolean"},"cancel_at_period_end":{"type":"boolean"},"catalog":{"additionalProperties":false,"properties":{"pack":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"pro":{"additionalProperties":false,"properties":{"price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","price_cents"],"type":"object"},"trial":{"additionalProperties":false,"properties":{"days":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"paid_price_cents":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"runs":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["runs","days","paid_price_cents"],"type":"object"}},"required":["trial","pro","pack"],"type":"object"},"complimentary_remaining":{"minimum":0,"type":"number"},"has_redeemed_offer_code":{"type":"boolean"},"has_stripe_customer":{"type":"boolean"},"included_allowance":{"minimum":0,"type":"number"},"included_remaining":{"minimum":0,"type":"number"},"payment_retry_ends_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"period_end":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"period_start":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"purchased_remaining":{"minimum":0,"type":"number"},"purchased_total":{"minimum":0,"type":"number"},"recent_offers":{"items":{"additionalProperties":false,"properties":{"awarded_at":{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"extra_days":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"extra_runs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"public_name":{"type":"string"},"trial_activated":{"type":"boolean"},"trial_after":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_before":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["operation_id","public_name","awarded_at","trial_activated","extra_days","extra_runs","trial_before","trial_after"],"type":"object"},"type":"array"},"state":{"enum":["trial_pending","trial_active","trial_expired","pro_active","pro_expired"],"type":"string"},"subscription_status":{"anyOf":[{"enum":["active","past_due","canceled"],"type":"string"},{"type":"null"}]},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"total_spendable":{"minimum":0,"type":"number"},"trial_activated_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_expires_at":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_offer":{"anyOf":[{"enum":["free","paid"],"type":"string"},{"type":"null"}]},"trial_payment_received":{"type":"boolean"},"workspace_name":{"type":"string"}},"required":["tenant_id","workspace_name","state","trial_offer","has_stripe_customer","trial_payment_received","recent_offers","has_redeemed_offer_code","trial_activated_at","trial_expires_at","period_start","period_end","subscription_status","cancel_at_period_end","payment_retry_ends_at","included_allowance","included_remaining","complimentary_remaining","purchased_remaining","purchased_total","total_spendable","can_edit","can_run","catalog"],"type":"object"},"extra_days":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"extra_runs":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"operation_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"public_name":{"type":"string"},"tenant_id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"},"trial_activated":{"type":"boolean"},"trial_after":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"trial_before":{"anyOf":[{"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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["operation_id","tenant_id","awarded_at","public_name","trial_activated","extra_days","extra_runs","trial_before","trial_after","billing"],"type":"object"},"WorkspaceProductPolicy":{"additionalProperties":false,"properties":{"capabilities":{"additionalProperties":{"type":"boolean"},"propertyNames":{"type":"string"},"type":"object"},"execution_stop_reason":{"anyOf":[{"enum":["inactive_billing","credits_exhausted"],"type":"string"},{"type":"null"}]},"ordinary_product_ready":{"type":"boolean"},"state":{"enum":["ready","grant_ended"],"type":"string"},"tools":{"items":{"type":"string"},"type":"array"}},"required":["state","ordinary_product_ready","execution_stop_reason","tools","capabilities"],"type":"object"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"},"invocationKeyAuth":{"type":"http","scheme":"bearer","bearerFormat":"Invocation key (tn_pk_ / tn_sk_)","description":"A Typenode invocation key (`tn_pk_` personal or `tn_sk_` service). It reaches only the six `deployed-command` operations: the two deployed commands and the four self-scoped execution reads."}}},"info":{"description":"The first-party `/v1` control-plane API for workflows + executions on api.typenode.ai.","title":"Typenode Management API","version":"v1"},"openapi":"3.1.0","paths":{"/v1/account/invitations":{"get":{"operationId":"account-invitations-list","parameters":[{"description":"Revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/Invitation"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"One authorization snapshot of team invitations."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The pagination cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.read is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List team invitations","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"read"},"post":{"operationId":"account-invitations-create","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"]},"schema":{"$ref":"#/components/schemas/CreateInvitation"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/Invitation"}}},"description":"The original invitation metadata for an identical completed retry."},"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/Invitation"}}},"description":"The created invitation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid invitation data or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.invite and authority to confer every requested role are required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts, an invite is already pending, or the user already exists."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or notification enqueue boundary is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Invite a teammate","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/account/invitations/{invitation_id}/cancel":{"post":{"operationId":"account-invitations-cancel","parameters":[{"description":"The opaque invitation id.","in":"path","name":"invitation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"cancelled","workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/Invitation"}}},"description":"The terminal cancelled invitation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation id or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.invite is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation is already terminal or the idempotency key conflicts."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Cancel a pending team invitation","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/account/invitations/{invitation_id}/reissue":{"post":{"operationId":"account-invitations-reissue","parameters":[{"description":"The opaque invitation id.","in":"path","name":"invitation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/Invitation"}}},"description":"The original replacement invitation for an identical completed retry."},"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/Invitation"}}},"description":"A new opaque pending invitation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation id or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.invite is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation is still pending or the idempotency key conflicts."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or notification enqueue boundary is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Reissue a cancelled or expired team invitation","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/account/members":{"get":{"operationId":"account-members-list","parameters":[{"description":"Revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"created_at":"2026-06-01T00:00:00Z","email":"alice@example.com","first_name":"Alice","id":"00000000-0000-4000-8000-00000000000a","last_name":null,"roles":[{"id":"00000000-0000-4000-8000-000000000009","name":"Owner","template_key":"owner"}],"status":"active"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/Member"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"One authorization snapshot of members and all their additive roles."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The pagination cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.read is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List team members","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/account/members/{member_id}":{"delete":{"operationId":"account-members-delete","parameters":[{"description":"The team member id.","in":"path","name":"member_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"anonymous_publications":[],"authority_revision":7,"created_at":1717200000,"departure_id":"00000000-0000-4000-8000-0000000000d7","gateway_oauth_clients":[],"mcp_bindings_created":[],"mcp_oauth_clients":[],"mcp_servers_created":[],"member_id":"00000000-0000-4000-8000-00000000000f","member_incarnation":1,"removed_by_id":"00000000-0000-4000-8000-000000000011","removed_by_kind":"member","revocation_summary":{"gateway_access_tokens":0,"gateway_authorization_codes":0,"gateway_oauth_grants":0,"gateway_refresh_tokens":0,"mcp_access_tokens":0,"mcp_authorization_codes":0,"mcp_oauth_grants":0,"mcp_refresh_tokens":0,"postgres_personal_credentials":0,"supabase_auth_sessions":1},"service_account_keys_minted":[],"service_accounts_created":[],"shared_role_facts_authored":[],"standing_consumer_grants_authored":[]},"schema":{"$ref":"#/components/schemas/DepartureReport"}}},"description":"The complete durable departure report committed atomically with removal."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The member id or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.delete is required, or this would remove the last Owner."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The member does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or a destructive authority operation is already in flight."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Remove a team member","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"destructive"}},"/v1/account/members/{member_id}/departure-report":{"get":{"operationId":"member-departure-report","parameters":[{"description":"The team member id.","in":"path","name":"member_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"anonymous_publications":[],"authority_revision":7,"created_at":1717200000,"departure_id":"00000000-0000-4000-8000-0000000000d7","gateway_oauth_clients":[],"mcp_bindings_created":[],"mcp_oauth_clients":[],"mcp_servers_created":[],"member_id":"00000000-0000-4000-8000-00000000000f","member_incarnation":1,"removed_by_id":"00000000-0000-4000-8000-000000000011","removed_by_kind":"member","revocation_summary":{"gateway_access_tokens":0,"gateway_authorization_codes":0,"gateway_oauth_grants":0,"gateway_refresh_tokens":0,"mcp_access_tokens":0,"mcp_authorization_codes":0,"mcp_oauth_grants":0,"mcp_refresh_tokens":0,"postgres_personal_credentials":0,"supabase_auth_sessions":1},"service_account_keys_minted":[],"service_accounts_created":[],"shared_role_facts_authored":[],"standing_consumer_grants_authored":[]},"schema":{"$ref":"#/components/schemas/DepartureReport"}}},"description":"The departure report — ids and names of what the member minted or shared. Survives the member's removal."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No departure report exists for this member in this tenant."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read a removed member's departure report","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/account/team-eligibility":{"get":{"operationId":"account-team-eligibility","responses":{"200":{"content":{"application/json":{"example":{"assignable_roles":[],"authority_revision":7,"can_edit":true,"invitations":[],"invite":{"allowed":true,"reason":null},"members":[],"roles":[]},"schema":{"$ref":"#/components/schemas/TeamEligibility"}}},"description":"Read-only display eligibility within the caller's scoped Team visibility. Commands revalidate live policy."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"member.read is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Action availability is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Inspect available Team actions","tags":["account"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/agents":{"get":{"operationId":"agents-list","parameters":[{"description":"Authority-revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"active | inactive | all (default: active).","in":"query","name":"status","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":1,"data":[{"created_at":"2026-06-01T00:00:00Z","description":"Builds workflows","id":"00000000-0000-4000-8000-000000000008","is_active":true,"is_system":true,"model":"claude-sonnet-4-6","name":"Type","slug":"type"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/AgentSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authorized page of agent summaries."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List agents","tags":["agents"],"x-surfaces":[],"x-tier":"read"},"post":{"operationId":"agents-create","requestBody":{"content":{"application/json":{"example":{"connectors":["00000000-0000-4000-8000-000000000005"],"model":"claude-sonnet-4-6","name":"Sales assistant"},"schema":{"$ref":"#/components/schemas/CreateAgent"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"base_tools":["bash","edit"],"connectors":["00000000-0000-4000-8000-000000000005"],"created_at":"2026-06-01T00:00:00Z","description":"Builds workflows","id":"00000000-0000-4000-8000-000000000008","is_active":true,"is_system":true,"max_budget_usd":5,"max_turns":20,"model":"claude-sonnet-4-6","name":"Type","permission_mode":"default","slug":"type","system_prompt_preset":"type","system_prompt_text":"","system_prompt_type":"preset_append","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Agent"}}},"description":"The created agent, including its atomically assigned initial connectors."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create an agent","tags":["agents"],"x-surfaces":[],"x-tier":"write"}},"/v1/agents/{agent_id}":{"delete":{"operationId":"agents-delete","parameters":[{"description":"The agent id.","in":"path","name":"agent_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000008"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The agent was deactivated (soft delete) — returns the receipt; the agent persists and is reactivatable via PATCH {is_active:true}."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete an agent","tags":["agents"],"x-surfaces":[],"x-tier":"destructive"},"get":{"operationId":"agents-get","parameters":[{"description":"The agent id.","in":"path","name":"agent_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"base_tools":["bash","edit"],"connectors":["00000000-0000-4000-8000-000000000005"],"created_at":"2026-06-01T00:00:00Z","description":"Builds workflows","id":"00000000-0000-4000-8000-000000000008","is_active":true,"is_system":true,"max_budget_usd":5,"max_turns":20,"model":"claude-sonnet-4-6","name":"Type","permission_mode":"default","slug":"type","system_prompt_preset":"type","system_prompt_text":"","system_prompt_type":"preset_append","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Agent"}}},"description":"The agent detail (incl. connectors)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an agent","tags":["agents"],"x-surfaces":[],"x-tier":"read"},"patch":{"operationId":"agents-update","parameters":[{"description":"The agent id.","in":"path","name":"agent_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"is_active":false},"schema":{"$ref":"#/components/schemas/UpdateAgent"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"base_tools":["bash","edit"],"connectors":["00000000-0000-4000-8000-000000000005"],"created_at":"2026-06-01T00:00:00Z","description":"Builds workflows","id":"00000000-0000-4000-8000-000000000008","is_active":false,"is_system":true,"max_budget_usd":5,"max_turns":20,"model":"claude-sonnet-4-6","name":"Type","permission_mode":"default","slug":"type","system_prompt_preset":"type","system_prompt_text":"","system_prompt_type":"preset_append","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Agent"}}},"description":"The updated agent."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update an agent","tags":["agents"],"x-surfaces":[],"x-tier":"write"}},"/v1/agents/{agent_id}/connectors":{"get":{"operationId":"agents-get-connectors","parameters":[{"description":"The agent id.","in":"path","name":"agent_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"connectors":["00000000-0000-4000-8000-000000000005"]},"schema":{"$ref":"#/components/schemas/AgentConnectors"}}},"description":"The agent's connector set (MCP server ids)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an agent's connectors","tags":["agents"],"x-surfaces":[],"x-tier":"read"},"put":{"operationId":"agents-set-connectors","parameters":[{"description":"The agent id.","in":"path","name":"agent_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"connectors":["00000000-0000-4000-8000-000000000005"]},"schema":{"$ref":"#/components/schemas/SetConnectors"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"connectors":["00000000-0000-4000-8000-000000000005"]},"schema":{"$ref":"#/components/schemas/AgentConnectors"}}},"description":"The updated connector set."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Replace an agent's connectors","tags":["agents"],"x-surfaces":[],"x-tier":"write"}},"/v1/audit-events":{"get":{"operationId":"audit-events-list","parameters":[{"description":"Comma-separated list of resource types to match (for example workflow,skill). An unrecognized value returns an empty page, never an error.","in":"query","name":"resource_type","required":false,"schema":{"type":"string"}},{"description":"Filter by resource id, a UUID.","in":"query","name":"resource_id","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by actor type.","in":"query","name":"actor_type","required":false,"schema":{"enum":["member","service_account","ai_agent","system"],"type":"string"}},{"description":"Filter by actor id, a UUID.","in":"query","name":"actor_id","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by action. Exact match when the value contains a dot (workflow.deploy matches only that action); namespace-scoped when it does not (workflow matches every workflow.* action).","in":"query","name":"action","required":false,"schema":{"type":"string"}},{"description":"Filter by outcome.","in":"query","name":"outcome","required":false,"schema":{"enum":["success","denied","failure"],"type":"string"}},{"description":"Only events at or after this timestamp.","in":"query","name":"occurred_after","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Only events strictly before this timestamp.","in":"query","name":"occurred_before","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Filter by the server-owned request UUID that produced the event. Absence proves only that no matching audit row is visible; for cross-store operations, inspect the journal because missing terminal evidence is unknown.","in":"query","name":"request_id","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by the caller-provided 32-character diagnostic correlation value. This is distinct from request, replay, and authorization identities.","in":"query","name":"client_correlation_id","required":false,"schema":{"type":"string"}},{"description":"Filter by the lowercase, non-zero 32-character W3C trace identifier.","in":"query","name":"trace_id","required":false,"schema":{"type":"string"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"action":"service_account.create","actor_context":{},"actor_id":"00000000-0000-4000-8000-00000000000f","actor_type":"member","after_state":null,"before_state":null,"client_correlation_id":"AbCdEfGhIjKlMnOpQrStUvWxYz012345","error_code":null,"id":"00000000-0000-4000-8000-000000000010","metadata":{},"occurred_at":"2026-08-07T12:00:00Z","outcome":"success","request_id":"00000000-0000-4000-8000-000000000099","resource_id":"00000000-0000-4000-8000-00000000000d","resource_type":"service_account","tenant_id":"00000000-0000-4000-8000-000000000000","trace_id":null}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AuditEvent"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of audit events, newest first."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A cursor, UUID-shaped filter, or timestamp filter is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List the tenant's centralized audit trail","tags":["audit"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/authorization/capabilities":{"get":{"operationId":"authorization-capabilities-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"action":"invite","category":"member","environment_eligible":false,"resource_kind":"member","self_eligible":false,"token":"member.invite"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AuthorizationCapability"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of customer-assignable capability catalog entries."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List customer-assignable authorization capabilities","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"]}},"/v1/authorization/check":{"get":{"operationId":"authorization-check","parameters":[{"description":"Canonical capability token to check.","in":"query","name":"capability_token","required":true,"schema":{"type":"string"}},{"description":"Resource kind for a resource-scoped decision. Must be paired with resource_id.","in":"query","name":"resource_type","required":false,"schema":{"type":"string"}},{"description":"Resource UUID for a resource-scoped decision. Must be paired with resource_type.","in":"query","name":"resource_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Owning principal kind used by self-scoped policy. Must be paired with resource_owner_id.","in":"query","name":"resource_owner_kind","required":false,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"Owning principal UUID used by self-scoped policy. Must be paired with resource_owner_kind.","in":"query","name":"resource_owner_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Parent resource kind used by parent-scoped policy. Must be paired with parent_id.","in":"query","name":"parent_type","required":false,"schema":{"type":"string"}},{"description":"Parent resource UUID used by parent-scoped policy. Must be paired with parent_type.","in":"query","name":"parent_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Owning parent principal kind used by parent-self policy. Must be paired with parent_owner_id.","in":"query","name":"parent_owner_kind","required":false,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"Owning parent principal UUID used by parent-self policy. Must be paired with parent_owner_kind.","in":"query","name":"parent_owner_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Environment UUID for environment-scoped policy.","in":"query","name":"environment_id","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"capability_token":"member.invite","environment_id":null,"granted":true,"parent_id":null,"parent_owner_id":null,"parent_owner_kind":null,"parent_type":null,"principal_id":"00000000-0000-4000-8000-00000000000f","principal_kind":"member","resource_id":null,"resource_owner_id":null,"resource_owner_kind":null,"resource_type":null},"schema":{"$ref":"#/components/schemas/AuthorizationCheckResult"}}},"description":"The effective capability decision for the authenticated caller and credential."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The capability token or explicit authority coordinate is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Check whether the authenticated caller holds a capability","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"]}},"/v1/authorization/principals":{"get":{"operationId":"authorization-principals-list","parameters":[{"description":"Canonical capability token to filter by.","in":"query","name":"capability_token","required":true,"schema":{"type":"string"}},{"description":"Resource kind for a resource-scoped decision. Must be paired with resource_id.","in":"query","name":"resource_type","required":false,"schema":{"type":"string"}},{"description":"Resource UUID for a resource-scoped decision. Must be paired with resource_type.","in":"query","name":"resource_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Owning principal kind used by self-scoped policy. Must be paired with resource_owner_id.","in":"query","name":"resource_owner_kind","required":false,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"Owning principal UUID used by self-scoped policy. Must be paired with resource_owner_kind.","in":"query","name":"resource_owner_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Parent resource kind used by parent-scoped policy. Must be paired with parent_id.","in":"query","name":"parent_type","required":false,"schema":{"type":"string"}},{"description":"Parent resource UUID used by parent-scoped policy. Must be paired with parent_type.","in":"query","name":"parent_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Owning parent principal kind used by parent-self policy. Must be paired with parent_owner_id.","in":"query","name":"parent_owner_kind","required":false,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"Owning parent principal UUID used by parent-self policy. Must be paired with parent_owner_kind.","in":"query","name":"parent_owner_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Environment UUID for environment-scoped policy.","in":"query","name":"environment_id","required":false,"schema":{"format":"uuid","type":"string"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"expires_at":null,"principal_id":"00000000-0000-4000-8000-00000000000f","principal_type":"member","relation_id":"00000000-0000-4000-8000-000000000013","source_id":"00000000-0000-4000-8000-000000000012","source_kind":"role"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AuthorizationPrincipal"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of principals holding the given capability."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The capability token, explicit authority coordinate, page size, or cursor is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed during pagination; restart from the first page."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List principals holding a capability","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/billing/checkout":{"post":{"operationId":"billing-checkout-create","requestBody":{"content":{"application/json":{"example":{"kind":"pro"},"schema":{"$ref":"#/components/schemas/StartBillingCheckout"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"order_id":"11111111-1111-4111-8111-111111111111","url":"https://checkout.stripe.com/c/pay/cs_example"},"schema":{"$ref":"#/components/schemas/BillingCheckoutResult"}}},"description":"Stripe Checkout link for the reserved order."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Workspace owner permission is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Purchase not available in the current state."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Open a paid trial, Pro, or credit-pack Checkout","tags":["billing"],"x-surfaces":["v1-session"],"x-tier":"financial"}},"/v1/billing/offer":{"get":{"operationId":"billing-offer-get","responses":{"200":{"content":{"application/json":{"example":{"catalog":{"pack":{"price_cents":500,"runs":2000},"pro":{"price_cents":2000,"runs":10000},"trial":{"days":7,"paid_price_cents":500,"runs":1000}},"has_workspace":false,"support_email":"support@typenode.ai","trial_offer":"free"},"schema":{"$ref":"#/components/schemas/BillingOffer"}}},"description":"The fixed trial offer for a new workspace."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Verify the account email first."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"See the verified account's trial offer","tags":["billing"],"x-surfaces":["v1-session"]}},"/v1/billing/portal":{"post":{"operationId":"billing-portal-create","requestBody":{"content":{"application/json":{"example":{"flow":"payment_method_update"},"schema":{"$ref":"#/components/schemas/StartBillingPortal"}}},"required":false},"responses":{"200":{"content":{"application/json":{"example":{"url":"https://billing.stripe.com/p/session/example"},"schema":{"$ref":"#/components/schemas/BillingPortalResult"}}},"description":"Stripe billing portal link."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unknown portal task."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Workspace owner permission is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No Stripe customer exists yet, or no subscription to cancel."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Open Stripe's workspace billing portal, optionally on one task","tags":["billing"],"x-surfaces":["v1-session"],"x-tier":"financial"}},"/v1/billing/promo-code/preview":{"post":{"operationId":"v1-billing-promo-code-preview","requestBody":{"content":{"application/json":{"example":{"code":"EARLYACCESS"},"schema":{"$ref":"#/components/schemas/PreviewOfferCode"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferCodePreview"}}},"description":"Workspace-specific public benefits."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid promo-code request."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Verified account or Workspace Owner required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unavailable, ineffective or changed offer; refresh the preview."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Access delivery is unavailable; retry the same redemption identity."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Preview non-reserving evaluation-code benefits","tags":["billing"],"x-surfaces":["v1-session"],"x-tier":"financial"}},"/v1/billing/promo-code/redeem":{"post":{"operationId":"v1-billing-promo-code-redeem","requestBody":{"content":{"application/json":{"example":{"code":"EXAMPLE","operation_id":"00000000-0000-4000-8000-000000000001","preview":{"code_id":"00000000-0000-4000-8000-000000000002","context":"0000000000000000000000000000000000000000000000000000000000000000","extra_days":3,"extra_runs":100,"normal_trial_runs":1000,"public_name":"Welcome","revision":1,"trial_activated":true,"trial_after":"2027-01-01T00:00:00Z","trial_change":"activate"}},"schema":{"$ref":"#/components/schemas/RedeemOfferCode"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceOfferAward"}}},"description":"Original successful redemption receipt."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid promo-code request."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Verified account or Workspace Owner required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unavailable, ineffective or changed offer; refresh the preview."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Access delivery is unavailable; retry the same redemption identity."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Apply reviewed evaluation-code benefits","tags":["billing"],"x-surfaces":["v1-session"],"x-tier":"financial"}},"/v1/billing/setup/promo-code/preview":{"post":{"operationId":"v1-billing-setup-promo-code-preview","requestBody":{"content":{"application/json":{"example":{"code":"EARLYACCESS"},"schema":{"$ref":"#/components/schemas/PreviewOfferCode"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferCodePreview"}}},"description":"Workspace-specific public benefits."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid promo-code request."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Verified account or Workspace Owner required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unavailable, ineffective or changed offer; refresh the preview."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Access delivery is unavailable; retry the same redemption identity."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Preview non-reserving evaluation-code benefits","tags":["billing"],"x-surfaces":["v1-session"]}},"/v1/billing/status":{"get":{"operationId":"billing-status-get","responses":{"200":{"content":{"application/json":{"example":{"can_edit":true,"can_manage_billing":true,"can_run":true,"cancel_at_period_end":false,"catalog":{"pack":{"price_cents":500,"runs":2000},"pro":{"price_cents":2000,"runs":10000},"trial":{"days":7,"paid_price_cents":500,"runs":1000}},"complimentary_remaining":0,"has_redeemed_offer_code":false,"has_stripe_customer":false,"included_allowance":1000,"included_remaining":900,"payment_retry_ends_at":null,"period_end":"2026-10-07T00:00:00Z","period_start":"2026-09-29T12:00:00Z","purchased_remaining":2000,"purchased_total":2000,"recent_offers":[],"state":"trial_active","subscription_status":null,"total_spendable":2900,"trial_activated_at":"2026-09-29T12:00:00Z","trial_expires_at":"2026-10-07T00:00:00Z","trial_offer":"free","trial_payment_received":false},"schema":{"$ref":"#/components/schemas/WorkspaceBillingStatus"}}},"description":"The workspace billing status."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Workspace access is required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read the workspace period and shared execution credits","tags":["billing"],"x-surfaces":["v1-session"],"x-tier":"financial"}},"/v1/billing/workspace":{"post":{"operationId":"billing-workspace-create","requestBody":{"content":{"application/json":{"example":{"terms_accepted":true,"workspace_name":"Acme"},"schema":{"$ref":"#/components/schemas/CreateBillingWorkspace"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"can_edit":true,"can_manage_billing":true,"can_run":true,"cancel_at_period_end":false,"catalog":{"pack":{"price_cents":500,"runs":2000},"pro":{"price_cents":2000,"runs":10000},"trial":{"days":7,"paid_price_cents":500,"runs":1000}},"complimentary_remaining":0,"has_redeemed_offer_code":false,"has_stripe_customer":false,"included_allowance":1000,"included_remaining":1000,"payment_retry_ends_at":null,"period_end":"2026-10-07T00:00:00Z","period_start":"2026-09-29T12:00:00Z","purchased_remaining":0,"purchased_total":0,"recent_offers":[],"state":"trial_active","subscription_status":null,"total_spendable":1000,"trial_activated_at":"2026-09-29T12:00:00Z","trial_expires_at":"2026-10-07T00:00:00Z","trial_offer":"free","trial_payment_received":false},"schema":{"$ref":"#/components/schemas/WorkspaceBillingStatus"}}},"description":"The new workspace's billing status."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Verify the account email first."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create the first workspace and its fixed trial offer","tags":["billing"],"x-surfaces":["v1-session"]}},"/v1/catalogs/applications":{"get":{"operationId":"catalogs-applications-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"agent_guidance":null,"api_url_matches":[{"hostname":"sheets.googleapis.com","hostname_mode":"exact","path_prefix":null}],"authentication_options":[],"cost_context":null,"created_at":"2026-10-08T00:00:00Z","documentation_links":[],"icon":null,"name":"Google Sheets","slug":"google-sheets","updated_at":"2026-10-08T00:00:00Z"}]},"schema":{"$ref":"#/components/schemas/ApplicationCatalog"}}},"description":"The safe global App reference catalog."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List curated App identity and setup context","tags":["credentials"],"x-surfaces":["public"]}},"/v1/catalogs/templates":{"get":{"operationId":"catalogs-templates-list","parameters":[{"description":"Search template title, overview and App names.","in":"query","name":"query","required":false,"schema":{"maxLength":120,"minLength":1,"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque continuation from this search.","in":"query","name":"after","required":false,"schema":{"maxLength":2048,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[],"has_more":false,"next_cursor":null},"schema":{"$ref":"#/components/schemas/TemplateList"}}},"description":"Safe summaries in curated order."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"security":[],"summary":"Discover curated templates","tags":["templates"],"x-surfaces":["public","authoring-mcp"]}},"/v1/catalogs/templates/{slug}":{"get":{"operationId":"catalogs-templates-get","parameters":[{"description":"Stable curated template identity.","in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"description":"The template's current snapshot; omitted selects it. Earlier snapshots are not offered.","in":"query","name":"snapshot_id","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"applications":[],"deliverable_kind":"workflow","description":"Start with a simple greeting Workflow.","disclaimers":[],"example_prompts":["Return a greeting."],"headline":"Your first greeting","id":"00000000-0000-4000-8000-000000000001","name":"Hello world","outcome":"A returned greeting","overview":"Return a greeting.","requirements":[],"slug":"hello-world","snapshot_id":"00000000-0000-4000-8000-000000000002","tool_count":0,"tools":[],"workflow_count":1},"schema":{"$ref":"#/components/schemas/TemplateDetail"}}},"description":"Safe exact-version context, with no executable Workflow source."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"TEMPLATE_SNAPSHOT_NOT_CURRENT: the snapshot is not the template's current one; details.current_snapshot_id names it."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"security":[],"summary":"Inspect a curated template","tags":["templates"],"x-surfaces":["public"]}},"/v1/catalogs/templates/{slug}/guidance":{"get":{"operationId":"catalogs-templates-guidance","parameters":[{"description":"Stable curated template identity.","in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"description":"The template's current snapshot; omitted selects it. Earlier snapshots are not offered.","in":"query","name":"snapshot_id","required":false,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"agent_guidance":"Clone the Workflow, then deploy it to switch its trigger on.","application_guidance":[],"applications":[],"deliverable_kind":"workflow","description":"Start with a simple greeting Workflow.","disclaimers":[],"example_prompts":["Return a greeting."],"headline":"Your first greeting","id":"00000000-0000-4000-8000-000000000001","install_guidance":"Install every Template in this order. 1. Clone: call clone_template with a new request_id, reused on retry.","mcp_servers":[],"name":"Hello world","outcome":"A returned greeting","overview":"Return a greeting.","requirements":[],"slug":"hello-world","snapshot_id":"00000000-0000-4000-8000-000000000002","tool_count":0,"tools":[],"workflow_count":1,"workflows":[{"key":"greeting","name":"Hello world","trigger_recipes":[{"config":{"auth":{"kind":"access_key"},"response_mode":"sync"},"trigger_type":"webhook"}]}]},"schema":{"$ref":"#/components/schemas/TemplateGuidance"}}},"description":"Safe exact-version context, with no executable Workflow source."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"TEMPLATE_SNAPSHOT_NOT_CURRENT: the snapshot is not the template's current one; details.current_snapshot_id names it."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Retrieve exact template setup guidance","tags":["templates"],"x-surfaces":["v1-session","authoring-mcp"]}},"/v1/connectors":{"get":{"operationId":"connectors-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"auth_method":"oauth2","created_at":"2026-06-01T00:00:00Z","creator_id":"00000000-0000-4000-8000-000000000099","descriptor":null,"id":"00000000-0000-4000-8000-000000000003","last_verified_at":"2026-06-02T00:00:00Z","name":"GitHub","sensitive_url":false,"source":"manual","source_ref":null,"source_version":null,"static_headers":{},"status":"active","status_reason":null,"transport":"streamable_http","updated_at":"2026-06-02T00:00:00Z","url":"https://mcp.github.com"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Connector"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of connectors (up to 200; has_more flags truncation, next_cursor reserved)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List connectors","tags":["connectors"],"x-surfaces":[],"x-tier":"read"},"post":{"operationId":"connectors-register","requestBody":{"content":{"application/json":{"example":{"auth_method":"oauth2","name":"GitHub","oauth2":{"authorize_url":"https://github.com/login/oauth/authorize","token_url":"https://github.com/login/oauth/access_token"},"url":"https://mcp.github.com"},"schema":{"$ref":"#/components/schemas/RegisterConnector"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"connector":{"auth_method":"oauth2","created_at":"2026-06-01T00:00:00Z","creator_id":"00000000-0000-4000-8000-000000000099","descriptor":null,"id":"00000000-0000-4000-8000-000000000003","last_verified_at":"2026-06-02T00:00:00Z","name":"GitHub","sensitive_url":false,"source":"manual","source_ref":null,"source_version":null,"static_headers":{},"status":"active","status_reason":null,"transport":"streamable_http","updated_at":"2026-06-02T00:00:00Z","url":"https://mcp.github.com"},"status":"connected"},"schema":{"$ref":"#/components/schemas/RegisterConnectorResult"}}},"description":"The created connector — 201 when a row is persisted (direct register, or a completed OAuth). An oauth2 register still needing consent instead returns 200 with status \"oauth_required\" (covered by the RegisterConnectorResult union)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Register a connector","tags":["connectors"],"x-surfaces":[],"x-tier":"write"}},"/v1/connectors/discover":{"post":{"operationId":"connectors-discover","requestBody":{"content":{"application/json":{"example":{"url":"https://mcp.github.com"},"schema":{"$ref":"#/components/schemas/DiscoverConnector"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"auth_method":"oauth2","endpoint":"https://mcp.github.com","outcome":"resolved","requires_auth":true,"transport":"streamable_http"},"schema":{"$ref":"#/components/schemas/DiscoverConnectorResult"}}},"description":"The discovery outcome (advisory — both resolved and error are 200)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Discover an MCP server's auth config","tags":["connectors"],"x-surfaces":[],"x-tier":"read"}},"/v1/connectors/presets":{"get":{"operationId":"connectors-presets","responses":{"200":{"content":{"application/json":{"example":{"presets":[{"auth_method":"oauth2","endpoint":"https://mcp.github.com","icon":null,"id":"github","name":"GitHub","transport":"streamable_http"}]},"schema":{"$ref":"#/components/schemas/ConnectorPresets"}}},"description":"The connector preset catalog."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List connector presets (MCP gallery)","tags":["connectors"],"x-surfaces":["public"]}},"/v1/connectors/{connector_id}":{"delete":{"operationId":"connectors-delete","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000003"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The deleted connector id."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a connector","tags":["connectors"],"x-surfaces":[],"x-tier":"destructive"},"get":{"operationId":"connectors-get","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"auth_method":"oauth2","created_at":"2026-06-01T00:00:00Z","creator_id":"00000000-0000-4000-8000-000000000099","descriptor":null,"id":"00000000-0000-4000-8000-000000000003","last_verified_at":"2026-06-02T00:00:00Z","name":"GitHub","sensitive_url":false,"source":"manual","source_ref":null,"source_version":null,"static_headers":{},"status":"active","status_reason":null,"transport":"streamable_http","updated_at":"2026-06-02T00:00:00Z","url":"https://mcp.github.com"},"schema":{"$ref":"#/components/schemas/Connector"}}},"description":"The connector."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a connector","tags":["connectors"],"x-surfaces":[],"x-tier":"read"},"patch":{"operationId":"connectors-set-enabled","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"enabled":false},"schema":{"$ref":"#/components/schemas/SetConnectorEnabled"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"auth_method":"oauth2","created_at":"2026-06-01T00:00:00Z","creator_id":"00000000-0000-4000-8000-000000000099","descriptor":null,"id":"00000000-0000-4000-8000-000000000003","last_verified_at":"2026-06-02T00:00:00Z","name":"GitHub","sensitive_url":false,"source":"manual","source_ref":null,"source_version":null,"static_headers":{},"status":"disabled","status_reason":null,"transport":"streamable_http","updated_at":"2026-06-02T00:00:00Z","url":"https://mcp.github.com"},"schema":{"$ref":"#/components/schemas/Connector"}}},"description":"The updated connector."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Enable or disable a connector","tags":["connectors"],"x-surfaces":[],"x-tier":"write"}},"/v1/connectors/{connector_id}/dependents":{"get":{"operationId":"connectors-dependents","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"agents":[{"id":"00000000-0000-4000-8000-000000000099"}],"count":1,"truncated":false},"schema":{"$ref":"#/components/schemas/ConnectorDependents"}}},"description":"The dependent AI agents (bounded)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List a connector's dependent agents","tags":["connectors"],"x-surfaces":[],"x-tier":"read"}},"/v1/connectors/{connector_id}/reconnect":{"post":{"operationId":"connectors-reconnect","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"authorization_url":"https://github.com/login/oauth/authorize?client_id=…","status":"needs_reauth","status_reason":"Re-consent required."},"schema":{"$ref":"#/components/schemas/ReconnectConnectorResult"}}},"description":"The reconnect result."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Reconnect a connector (re-verify / re-consent)","tags":["connectors"],"x-surfaces":[],"x-tier":"write"}},"/v1/connectors/{connector_id}/verify":{"post":{"operationId":"connectors-verify","parameters":[{"description":"The connector id.","in":"path","name":"connector_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"status":"active","status_reason":null},"schema":{"$ref":"#/components/schemas/VerifyConnectorResult"}}},"description":"The verify result."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Verify a connector (re-check reachability)","tags":["connectors"],"x-surfaces":[],"x-tier":"read"}},"/v1/environments":{"get":{"operationId":"environments-list","parameters":[{"description":"Page size (1–100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000002","is_deleting":false,"name":"production"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Environment"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of environments."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List environments","tags":["environments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"environments-create","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"production"},"schema":{"$ref":"#/components/schemas/CreateEnvironment"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000002","is_deleting":false,"name":"production"},"schema":{"$ref":"#/components/schemas/Environment"}}},"description":"The created environment."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment name is not a valid slug, or Idempotency-Key is not a UUID v4."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"environment.write is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An environment with that name already exists in this tenant."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create an environment","tags":["environments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/environments/{env}":{"delete":{"operationId":"environments-delete","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"A required UUID v4 identifying this exact environment deletion intent.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The immutable environment UUID the caller reviewed; a name that now resolves to a different id is refused with no effect.","in":"query","name":"expected_environment_id","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"name":"production"},"schema":{"$ref":"#/components/schemas/DeletedName"}}},"description":"The deleted environment name."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key must be a strict UUID v4, or expected_environment_id is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"environment.delete is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The tenant is deleting, the environment is the last one or in use, a different deletion already owns it, or the name now resolves to a different environment id than the caller reviewed."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Deletion is blocked by active or unresolved lifecycle work."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete an environment (cascade teardown)","tags":["environments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"hard-block"}},"/v1/environments/{env}/credentials":{"get":{"operationId":"credentials-list","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"Page size (1–100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-01T00:00:00Z","descriptor":null,"environment_name":"production","id":"00000000-0000-4000-8000-000000000001","label":"Google (alice@example.com)","name":"GOOGLE_OAUTH_TOKEN","preset_slug":"google-sheets","provider":"google","provider_email":"alice@example.com","scopes":null,"status":"connected","status_reason":null,"token_expires_at":"2026-06-03T00:00:00Z","updated_at":"2026-06-02T00:00:00Z"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Credential"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of credentials."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List credentials (metadata only)","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"credentials-authorize","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"credential_name":"GOOGLE_OAUTH_TOKEN","provider":"google","scopes":["https://www.googleapis.com/auth/spreadsheets"]},"schema":{"$ref":"#/components/schemas/AuthorizeCredential"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"authorization_url":"https://accounts.google.com/o/oauth2/v2/auth?client_id=…","status":"authorize_required"},"schema":{"$ref":"#/components/schemas/AuthorizeResult"}}},"description":"The authorize result — open authorization_url, or already_connected."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Authorize a new credential","tags":["credentials"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/environments/{env}/credentials/by-name/{name}":{"get":{"operationId":"credentials-lookup-by-name","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"credential":{"created_at":"2026-06-01T00:00:00Z","descriptor":null,"environment_name":"production","id":"00000000-0000-4000-8000-000000000001","label":"Google (alice@example.com)","name":"GOOGLE_OAUTH_TOKEN","preset_slug":"google-sheets","provider":"google","provider_email":"alice@example.com","scopes":null,"status":"connected","status_reason":null,"token_expires_at":"2026-06-03T00:00:00Z","updated_at":"2026-06-02T00:00:00Z"}},"schema":{"$ref":"#/components/schemas/CredentialLookupResult"}}},"description":"The exact workflow OAuth credential, or null only when the lookup completed with no match."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or credential name is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment does not exist in the caller's tenant."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The credential store failed or returned an invalid row."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Look up a credential by its exact runtime name","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/credentials/flow-status/{name}":{"get":{"operationId":"credentials-flow-status","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"status":"waiting"},"schema":{"$ref":"#/components/schemas/CredentialFlowStatusResult"}}},"description":"The latest connect-attempt status for this secrets.NAME."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a credential's connect-attempt status by name","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/credentials/{credential_id}":{"delete":{"operationId":"credentials-delete","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The credential id.","in":"path","name":"credential_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 identifying this exact connection mutation; one is generated when omitted.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The dependents fingerprint from the read body, in the strong form \"dependents:<64 hex>\".","in":"header","name":"If-Match","required":true,"schema":{"pattern":"^\"dependents:[0-9a-f]{64}\"$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000001"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The deleted credential id."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The credential id, environment, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.delete is required, or the minted secret has dependents outside the caller's authority (DEPENDENTS_NOT_VISIBLE)."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or credential does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key was already used for a different request."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint no longer matches; re-read the report and confirm again."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint (If-Match) is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable delete."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a credential (revoke + remove)","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"dependents","x-precondition":"fingerprint"},"get":{"operationId":"credentials-get","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The credential id.","in":"path","name":"credential_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","descriptor":null,"environment_name":"production","id":"00000000-0000-4000-8000-000000000001","label":"Google (alice@example.com)","name":"GOOGLE_OAUTH_TOKEN","preset_slug":"google-sheets","provider":"google","provider_email":"alice@example.com","scopes":null,"status":"connected","status_reason":null,"token_expires_at":"2026-06-03T00:00:00Z","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Credential"}}},"description":"The credential."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a credential (metadata only)","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/credentials/{credential_id}/dependents":{"get":{"operationId":"credentials-dependents","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The credential id.","in":"path","name":"credential_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"dependents":[{"deployment_id":"1f3c1e2e-6a4c-4f4e-8f1a-2b3c4d5e6f70","environment":"production","workflow_id":"0d2b3c4d-5e6f-4071-8293-a4b5c6d7e8f9","workflow_name":"Daily sync"}],"fingerprint":"\"dependents:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"","has_hidden":false,"total":1},"schema":{"$ref":"#/components/schemas/ConfigDependentsResult"}}},"description":"The live deployments whose sealed configuration names the secret this credential mints. Fully visible carries `total` and the `fingerprint`; a hidden report carries neither."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The credential id or environment is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.read is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or credential does not exist."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable report."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read a credential's live dependents and fingerprint","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/credentials/{credential_id}/reconnect":{"post":{"operationId":"credentials-reconnect","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The credential id.","in":"path","name":"credential_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/ReconnectCredential"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"authorization_url":"https://accounts.google.com/o/oauth2/v2/auth?client_id=…","status":"authorize_required"},"schema":{"$ref":"#/components/schemas/AuthorizeResult"}}},"description":"The authorize result."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Re-authorize an existing credential","tags":["credentials"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/environments/{env}/credentials/{credential_id}/test":{"post":{"operationId":"credentials-test","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The credential id.","in":"path","name":"credential_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 identifying this exact connection mutation; one is generated when omitted.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"expires_in_seconds":3600,"last_refresh_at":"2026-06-02T00:00:00Z","status":"valid"},"schema":{"$ref":"#/components/schemas/TestResult"}}},"description":"The test result."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The credential id, environment, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Test a credential (on-demand refresh-check)","tags":["credentials"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/environments/{env}/secrets":{"get":{"operationId":"secrets-list","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"Page size (1–100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-01T00:00:00Z","credential_backed":false,"name":"STRIPE_API_KEY","updated_at":"2026-06-02T00:00:00Z","version":7}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Secret"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of secret metadata."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List secrets (metadata only — no value)","tags":["secrets"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/secrets/{name}":{"delete":{"operationId":"secrets-delete","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"The dependents fingerprint from the read body, in the strong form \"dependents:<64 hex>\".","in":"header","name":"If-Match","required":true,"schema":{"pattern":"^\"dependents:[0-9a-f]{64}\"$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"name":"STRIPE_API_KEY","verifier_publication":{"command_id":"00000000-0000-4000-8000-000000000099","state":"acknowledged"}},"schema":{"$ref":"#/components/schemas/SecretDeletionResult"}}},"description":"The deleted secret name and terminal webhook-verifier publication proof."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"secret.delete is required, or the name has dependents outside the caller's authority (DEPENDENTS_NOT_VISIBLE)."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or config name does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The secret is credential-backed and must be deleted through its credential, or the Idempotency-Key was reused for a different request."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint no longer matches; re-read the report and confirm again."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint (If-Match) is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable delete."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Clear a secret's value in this environment","tags":["secrets"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"dependents","x-precondition":"fingerprint"},"get":{"operationId":"secrets-get","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","credential_backed":false,"name":"STRIPE_API_KEY","updated_at":"2026-06-02T00:00:00Z","version":7},"schema":{"$ref":"#/components/schemas/Secret"}}},"description":"The secret metadata. The value is never returned.","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get secret metadata (no value)","tags":["secrets"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"put":{"operationId":"secrets-replace","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Set to \"*\" for create-only config writes. Existing values return 412 PRECONDITION_FAILED.","in":"header","name":"If-None-Match","required":false,"schema":{"type":"string"}},{"description":"Set to the current strong config ETag for expected-version replacement.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"value":"sk_live_REDACTED"},"schema":{"$ref":"#/components/schemas/ReplaceSecret"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","credential_backed":false,"name":"STRIPE_API_KEY","updated_at":"2026-06-02T00:00:00Z","verifier_publication":{"command_id":"00000000-0000-4000-8000-000000000099","state":"acknowledged"},"version":7},"schema":{"$ref":"#/components/schemas/SecretMutationResult"}}},"description":"The replaced secret metadata and terminal webhook-verifier publication proof (no value).","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","credential_backed":false,"name":"STRIPE_API_KEY","updated_at":"2026-06-02T00:00:00Z","verifier_publication":{"command_id":"00000000-0000-4000-8000-000000000099","state":"acknowledged"},"version":7},"schema":{"$ref":"#/components/schemas/SecretMutationResult"}}},"description":"The created secret metadata and terminal webhook-verifier publication proof (no value).","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The name is credential-backed or already used by the other config kind."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The config write precondition failed; refetch the latest version and retry with its ETag."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Set a secret","tags":["secrets"],"x-surfaces":["v1-session"],"x-tier":"destructive"}},"/v1/environments/{env}/secrets/{name}/dependents":{"get":{"operationId":"secrets-dependents","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"dependents":[{"deployment_id":"1f3c1e2e-6a4c-4f4e-8f1a-2b3c4d5e6f70","environment":"production","workflow_id":"0d2b3c4d-5e6f-4071-8293-a4b5c6d7e8f9","workflow_name":"Daily sync"}],"fingerprint":"\"dependents:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"","has_hidden":false,"total":1},"schema":{"$ref":"#/components/schemas/ConfigDependentsResult"}}},"description":"The live deployments whose sealed configuration names this secret. Fully visible carries `total` and the `fingerprint`; a hidden report carries neither."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"secret.read is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or config name does not exist."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable report."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read a secret's live dependents and fingerprint","tags":["secrets"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/variables":{"get":{"operationId":"variables-list","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"Page size (1–100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-01T00:00:00Z","name":"MAX_RETRIES","updated_at":"2026-06-02T00:00:00Z","value":"5","version":7}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/VariableInventoryItem"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of variables, each including its plaintext value (variables are non-secret config)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List variables with their plaintext values","tags":["variables"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/environments/{env}/variables/{name}":{"delete":{"operationId":"variables-delete","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"The dependents fingerprint from the read body, in the strong form \"dependents:<64 hex>\".","in":"header","name":"If-Match","required":true,"schema":{"pattern":"^\"dependents:[0-9a-f]{64}\"$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"name":"MAX_RETRIES"},"schema":{"$ref":"#/components/schemas/DeletedName"}}},"description":"The deleted variable name."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"variable.delete is required, or the name has dependents outside the caller's authority (DEPENDENTS_NOT_VISIBLE)."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or config name does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key was already used for a different request."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint no longer matches; re-read the report and confirm again."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The dependents fingerprint (If-Match) is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable delete."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Clear a variable's value in this environment","tags":["variables"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"dependents","x-precondition":"fingerprint"},"get":{"operationId":"variables-get","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","name":"MAX_RETRIES","updated_at":"2026-06-02T00:00:00Z","value":"5","version":7},"schema":{"$ref":"#/components/schemas/Variable"}}},"description":"The exact variable value.","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a variable value","tags":["variables"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"put":{"operationId":"variables-replace","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Set to \"*\" for create-only config writes. Existing values return 412 PRECONDITION_FAILED.","in":"header","name":"If-None-Match","required":false,"schema":{"type":"string"}},{"description":"Set to the current strong config ETag for expected-version replacement.","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"value":"5"},"schema":{"$ref":"#/components/schemas/ReplaceVariable"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","name":"MAX_RETRIES","updated_at":"2026-06-02T00:00:00Z","value":"5","version":7},"schema":{"$ref":"#/components/schemas/Variable"}}},"description":"The replaced variable.","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","name":"MAX_RETRIES","updated_at":"2026-06-02T00:00:00Z","value":"5","version":7},"schema":{"$ref":"#/components/schemas/Variable"}}},"description":"The created variable.","headers":{"ETag":{"description":"Strong config ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"config:7\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The name is already used by the other config kind."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The config write precondition failed; refetch the latest version and retry with its ETag."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Set a variable","tags":["variables"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"overwrite"}},"/v1/environments/{env}/variables/{name}/dependents":{"get":{"operationId":"variables-dependents","parameters":[{"description":"The environment NAME (lowercase slug), never its id. GET /v1/environments returns both; passing the id here is rejected with 400.","in":"path","name":"env","required":true,"schema":{"type":"string"}},{"description":"The config name (SCREAMING_SNAKE_CASE).","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"dependents":[{"deployment_id":"1f3c1e2e-6a4c-4f4e-8f1a-2b3c4d5e6f70","environment":"production","workflow_id":"0d2b3c4d-5e6f-4071-8293-a4b5c6d7e8f9","workflow_name":"Daily sync"}],"fingerprint":"\"dependents:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"","has_hidden":false,"total":1},"schema":{"$ref":"#/components/schemas/ConfigDependentsResult"}}},"description":"The live deployments whose sealed configuration names this variable. Fully visible carries `total` and the `fingerprint`; a hidden report carries neither."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"variable.read is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The environment or config name does not exist."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unresolved deployment or pending deletion prevents a dependable report."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read a variable's live dependents and fingerprint","tags":["variables"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/executions":{"get":{"operationId":"executions-list","parameters":[{"description":"Filter by workflow.","in":"query","name":"workflow_id","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by one or more statuses. Repeated values use any-of (OR) semantics.","explode":true,"in":"query","name":"status","required":false,"schema":{"items":{"enum":["queued","running","paused","waiting","success","error","cancelled"],"type":"string"},"type":"array"},"style":"form"},{"description":"Filter to executions created at or after this strict ISO datetime.","in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Filter to executions created at or before this strict ISO datetime.","in":"query","name":"to","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Execution-history keyset cursor.","in":"query","name":"after","required":false,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-02T00:00:00Z","duration_ms":4200,"ended_at":"2026-06-02T00:00:04.200Z","error":null,"id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":false,"started_at":"2026-06-02T00:00:00Z","status":"success","step_count":3,"trace_state":"complete","trace_unavailable_reason":null,"trigger_type":"webhook","workflow_id":"123e4567-e89b-42d3-a456-426614174000","workflow_version_id":"00000000-0000-4000-8000-000000000010"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExecutionSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of execution summaries."},"400":{"content":{"application/problem+json":{"example":{"code":"BAD_REQUEST","detail":"A singleton list query is repeated, the limit is invalid, or the cursor is malformed.","instance":"/v1/executions","status":400,"title":"Bad Request","type":"https://typenode.ai/errors/bad-request"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"A singleton list query is repeated, the limit is invalid, or the cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"422":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The workflow, status, date, or date-range filter is invalid.","instance":"/v1/executions","status":422,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The workflow, status, date, or date-range filter is invalid."},"503":{"content":{"application/problem+json":{"example":{"code":"SERVICE_UNAVAILABLE","detail":"Execution history is temporarily unavailable.","instance":"/v1/executions","status":503,"title":"Service Unavailable","type":"https://typenode.ai/errors/service-unavailable"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"Execution history is temporarily unavailable.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List executions","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/executions/{execution_id}":{"get":{"operationId":"executions-get","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"`include=steps` inlines step summaries.","in":"query","name":"include","required":false,"schema":{"enum":["steps"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-02T00:00:00Z","duration_ms":4200,"ended_at":"2026-06-02T00:00:04.200Z","error":null,"id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":false,"output":{"is_available":true,"size_bytes":123},"pending_input":[],"started_at":"2026-06-02T00:00:00Z","status":"success","step_count":3,"trace_state":"complete","trace_unavailable_reason":null,"trigger_type":"webhook","workflow_id":"123e4567-e89b-42d3-a456-426614174000","workflow_snapshot":{"nodes":[],"version":3,"workflow_id":"123e4567-e89b-42d3-a456-426614174000","workflow_version_id":"00000000-0000-4000-8000-000000000010"},"workflow_version_id":"00000000-0000-4000-8000-000000000010"},"schema":{"$ref":"#/components/schemas/Execution"}}},"description":"The bounded execution envelope."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"NOT_FOUND","detail":"The execution was not found within the caller's authority.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd","status":404,"title":"Not Found","type":"https://typenode.ai/errors/not-found"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"NOT_FOUND","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Not Found","type":"string"},"type":{"const":"https://typenode.ai/errors/not-found","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution was not found within the caller's authority."},"422":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The include selector is invalid or repeated.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd","status":422,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The include selector is invalid or repeated."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The execution detail is temporarily unavailable.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution detail is temporarily unavailable.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an execution (bounded envelope)","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp","deployed-command"],"x-tier":"read","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/executions/{execution_id}/output":{"get":{"operationId":"executions-get-output","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"doubled":10},"schema":{}}},"description":"The raw final output (arbitrary JSON, schema-less)."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/output","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"OUTPUT_UNAVAILABLE","detail":"The final output is unavailable.","details":{"reason":"missing"},"instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/output","status":404,"title":"Output Unavailable","type":"https://typenode.ai/errors/output-unavailable"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"OUTPUT_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"details":{"additionalProperties":false,"properties":{"reason":{"enum":["missing","pending","never_produced","unpublished","corrupt","lost","expired","unavailable"],"type":"string"}},"required":["reason"],"type":"object"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Output Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/output-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}}},"description":"The final output is unavailable."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The execution output is temporarily unavailable.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/output","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution output is temporarily unavailable.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get the final output","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp","deployed-command"],"x-tier":"read","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/executions/{execution_id}/resume":{"post":{"operationId":"executions-resume","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 naming this exact delivery. Resending it with the same request answers the original decision without starting anything; with a different request it conflicts. Without it every request is a distinct delivery.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"input":{"approved":true},"node_key":"approval"},"schema":{"$ref":"#/components/schemas/ResumeRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","node_key":"approval","status":"received"},"schema":{"$ref":"#/components/schemas/ResumeAck"}}},"description":"The resume acknowledgement."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id or resume request body is malformed.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution id or resume request body is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"example":{"code":"FORBIDDEN","detail":"The caller is authenticated but may not resume this execution.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":403,"title":"Forbidden","type":"https://typenode.ai/errors/forbidden"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"FORBIDDEN","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":403,"type":"integer"},"title":{"const":"Forbidden","type":"string"},"type":{"const":"https://typenode.ai/errors/forbidden","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The caller is authenticated but may not resume this execution."},"404":{"content":{"application/problem+json":{"example":{"code":"NOT_FOUND","detail":"The execution does not exist, or it belongs to another tenant.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":404,"title":"Not Found","type":"https://typenode.ai/errors/not-found"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"NOT_FOUND","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Not Found","type":"string"},"type":{"const":"https://typenode.ai/errors/not-found","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution does not exist, or it belongs to another tenant."},"409":{"content":{"application/problem+json":{"example":{"code":"EXECUTION_ALREADY_TERMINAL","detail":"The execution cannot accept this input in its current wait or delivery state.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":409,"title":"Execution Already Terminal","type":"https://typenode.ai/errors/execution-already-terminal"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"EXECUTION_ALREADY_TERMINAL","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Execution Already Terminal","type":"string"},"type":{"const":"https://typenode.ai/errors/execution-already-terminal","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"NOT_WAITING","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Not Waiting","type":"string"},"type":{"const":"https://typenode.ai/errors/not-waiting","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"ALREADY_RESOLVED","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Already Resolved","type":"string"},"type":{"const":"https://typenode.ai/errors/already-resolved","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"TIMED_OUT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Timed Out","type":"string"},"type":{"const":"https://typenode.ai/errors/timed-out","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"WAIT_FAILED","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Wait Failed","type":"string"},"type":{"const":"https://typenode.ai/errors/wait-failed","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"DELIVERY_IN_PROGRESS","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Delivery In Progress","type":"string"},"type":{"const":"https://typenode.ai/errors/delivery-in-progress","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"DELIVERY_FAILED","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Delivery Failed","type":"string"},"type":{"const":"https://typenode.ai/errors/delivery-failed","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"DELIVERY_FAILED_STATE_UNKNOWN","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Delivery Failed State Unknown","type":"string"},"type":{"const":"https://typenode.ai/errors/delivery-failed-state-unknown","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"CONFLICT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Conflict","type":"string"},"type":{"const":"https://typenode.ai/errors/conflict","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution cannot accept this input in its current wait or delivery state."},"422":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The node key or input payload is invalid for this waiting execution.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":422,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"errors":{"items":{"$ref":"#/components/schemas/FieldError"},"minItems":1,"type":"array"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"UNKNOWN_NODE_KEY","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Unknown Node Key","type":"string"},"type":{"const":"https://typenode.ai/errors/unknown-node-key","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The node key or input payload is invalid for this waiting execution."},"503":{"content":{"application/problem+json":{"example":{"code":"SERVICE_UNAVAILABLE","detail":"Execution authorization or the destination runtime is temporarily unavailable.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/resume","status":503,"title":"Service Unavailable","type":"https://typenode.ai/errors/service-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"DESTINATION_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Destination Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/destination-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"Execution authorization or the destination runtime is temporarily unavailable.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Resume a paused execution","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp","deployed-command"],"x-tier":"write","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/executions/{execution_id}/steps":{"get":{"operationId":"executions-list-steps","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/StepSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of step summaries."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"NOT_FOUND","detail":"The execution was not found within the caller's authority.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps","status":404,"title":"Not Found","type":"https://typenode.ai/errors/not-found"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"NOT_FOUND","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Not Found","type":"string"},"type":{"const":"https://typenode.ai/errors/not-found","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The execution was not found within the caller's authority."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The committed execution trace is incomplete or invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The committed execution trace is incomplete or invalid.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List step summaries","tags":["executions"],"x-surfaces":["v1-session","deployed-command"],"x-tier":"read","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/executions/{execution_id}/steps/{node_key}":{"get":{"operationId":"executions-get-step","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The authored node key. Returns every step that ran for this node, ordered by loop_iteration and a stable trace tiebreaker.","in":"path","name":"node_key","required":true,"schema":{"type":"string"}},{"description":"Page size (1-100, default 100).","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque execution/node/snapshot-bound keyset cursor from the preceding page.","in":"query","name":"after","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"duration_ms":0,"ended_at":"2026-06-02T00:00:00Z","error":null,"node_key":"compute","node_type":"action","output":{"is_available":true},"started_at":"2026-06-02T00:00:00Z","status":"success","timing_provenance":"observed"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Step"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"Step records for this node (one per loop iteration)."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id, node key, page limit, or cursor is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution id, node key, page limit, or cursor is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"NOT_FOUND","detail":"The execution or selected step was not found.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute","status":404,"title":"Not Found","type":"https://typenode.ai/errors/not-found"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"NOT_FOUND","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Not Found","type":"string"},"type":{"const":"https://typenode.ai/errors/not-found","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"STEP_NOT_IN_EXECUTION","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Step Not In Execution","type":"string"},"type":{"const":"https://typenode.ai/errors/step-not-in-execution","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution or selected step was not found."},"409":{"content":{"application/problem+json":{"example":{"code":"CONFLICT","detail":"The committed trace snapshot or cursor boundary changed during pagination.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute","status":409,"title":"Conflict","type":"https://typenode.ai/errors/conflict"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"CONFLICT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Conflict","type":"string"},"type":{"const":"https://typenode.ai/errors/conflict","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The committed trace snapshot or cursor boundary changed during pagination."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The committed trace is incomplete or invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The committed trace is incomplete or invalid.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a node's step record(s)","tags":["executions"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/executions/{execution_id}/steps/{node_key}/output":{"get":{"operationId":"executions-get-step-output","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The authored node key. Exactly one selector is required.","in":"path","name":"node_key","required":true,"schema":{"type":"string"}},{"description":"Exact selector for one 1-based loop iteration. Mutually exclusive with select.","in":"query","name":"loop_iteration","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Exact selector for the latest recorded iteration. Set to \"latest\"; mutually exclusive with loop_iteration.","in":"query","name":"select","required":false,"schema":{"enum":["latest"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"error":null,"loop_iteration":null,"meta":{"data_type":"object","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","size_bytes":123,"transport":"inline"},"output":{"doubled":10}},"schema":{"$ref":"#/components/schemas/StepOutputResult"}}},"description":"The exact selected persisted output as { output, error, loop_iteration, meta }. `loop_iteration` identifies the selected 1-based occurrence, or is null for a non-loop step. `meta.transport` says which this is: \"inline\" carries the complete artifact in `output`/`error`, while \"ranged\" is metadata only — `output` is null and the bytes are read from `/output/raw`, whose digest and length are the ones stated here."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id, node key, or exact output selector is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"INVALID_SELECTOR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Invalid Selector","type":"string"},"type":{"const":"https://typenode.ai/errors/invalid-selector","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution id, node key, or exact output selector is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"STEP_NOT_IN_EXECUTION","detail":"The execution, selected step, or selected output was not found.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output","status":404,"title":"Step Not In Execution","type":"https://typenode.ai/errors/step-not-in-execution"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"STEP_NOT_IN_EXECUTION","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Step Not In Execution","type":"string"},"type":{"const":"https://typenode.ai/errors/step-not-in-execution","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"OUTPUT_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"details":{"additionalProperties":false,"properties":{"reason":{"enum":["missing","pending","never_produced","unpublished","corrupt","lost","expired","unavailable"],"type":"string"}},"required":["reason"],"type":"object"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Output Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/output-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}]}}},"description":"The execution, selected step, or selected output was not found."},"422":{"content":{"application/problem+json":{"example":{"code":"NODE_TYPE_HAS_NO_OUTPUT","detail":"The node type has no output, or the requested loop iteration is out of range.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output","status":422,"title":"Node Type Has No Output","type":"https://typenode.ai/errors/node-type-has-no-output"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"NODE_TYPE_HAS_NO_OUTPUT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Node Type Has No Output","type":"string"},"type":{"const":"https://typenode.ai/errors/node-type-has-no-output","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"LOOP_ITERATION_OUT_OF_RANGE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Loop Iteration Out Of Range","type":"string"},"type":{"const":"https://typenode.ai/errors/loop-iteration-out-of-range","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The node type has no output, or the requested loop iteration is out of range."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The selected output payload could not be read.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The selected output payload could not be read.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an exact node step output","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp","deployed-command"],"x-tier":"read","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/executions/{execution_id}/steps/{node_key}/output/raw":{"get":{"operationId":"executions-get-step-output-raw","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The authored node key. Exactly one selector is required.","in":"path","name":"node_key","required":true,"schema":{"type":"string"}},{"description":"Exact selector for one 1-based loop iteration. Mutually exclusive with select.","in":"query","name":"loop_iteration","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Exact selector for the latest recorded iteration. Set to \"latest\"; mutually exclusive with loop_iteration.","in":"query","name":"select","required":false,"schema":{"enum":["latest"],"type":"string"}},{"description":"One byte range, `bytes=<first>-<last>` or `bytes=<first>-`. Any other form is ignored and the complete artifact is served.","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"One or more entity-tags, or `*`. A match against the artifact's own ETag answers 304 with no body, before Range is considered.","in":"header","name":"If-None-Match","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"The complete published artifact, byte for byte. This is the same object the JSON read describes, so it is a workflow value for a step that succeeded and the failure document for one that failed.","headers":{"Accept-Ranges":{"description":"Always `bytes`.","schema":{"type":"string"}},"Content-Disposition":{"description":"Always `attachment`.","schema":{"type":"string"}},"ETag":{"description":"The artifact's own SHA-256 digest, quoted. It equals `meta.sha256` from the JSON read, so a concatenation of parts can be verified against the representation that read described.","schema":{"type":"string"}}}},"206":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"The requested part of the artifact. A last position past the end is clamped to the end, so a caller may page with a fixed part size without knowing the total first.","headers":{"Content-Range":{"description":"`bytes <first>-<last>/<size>` for the part actually served.","schema":{"type":"string"}},"ETag":{"description":"The complete artifact's SHA-256 digest, quoted — not the part's.","schema":{"type":"string"}}}},"304":{"description":"The caller's `If-None-Match` matched the artifact's current ETag. No body.","headers":{"ETag":{"description":"The artifact's own SHA-256 digest, quoted.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id, node key, or exact output selector is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"INVALID_SELECTOR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Invalid Selector","type":"string"},"type":{"const":"https://typenode.ai/errors/invalid-selector","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution id, node key, or exact output selector is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"STEP_NOT_IN_EXECUTION","detail":"The execution, selected step, or selected output was not found.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":404,"title":"Step Not In Execution","type":"https://typenode.ai/errors/step-not-in-execution"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"STEP_NOT_IN_EXECUTION","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Step Not In Execution","type":"string"},"type":{"const":"https://typenode.ai/errors/step-not-in-execution","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"OUTPUT_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"details":{"additionalProperties":false,"properties":{"reason":{"enum":["missing","pending","never_produced","unpublished","corrupt","lost","expired","unavailable"],"type":"string"}},"required":["reason"],"type":"object"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Output Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/output-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}]}}},"description":"The execution, selected step, or selected output was not found."},"416":{"content":{"application/problem+json":{"example":{"code":"RANGE_NOT_SATISFIABLE","detail":"The requested byte range lies outside the stored artifact.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":416,"title":"Range Not Satisfiable","type":"https://typenode.ai/errors/range-not-satisfiable"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"RANGE_NOT_SATISFIABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":416,"type":"integer"},"title":{"const":"Range Not Satisfiable","type":"string"},"type":{"const":"https://typenode.ai/errors/range-not-satisfiable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The requested byte range lies outside the stored artifact.","headers":{"Content-Range":{"description":"`bytes */<size>` — the artifact's real size, so the caller can re-ask.","schema":{"type":"string"}}}},"422":{"content":{"application/problem+json":{"example":{"code":"NODE_TYPE_HAS_NO_OUTPUT","detail":"The node type has no output, or the requested loop iteration is out of range.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":422,"title":"Node Type Has No Output","type":"https://typenode.ai/errors/node-type-has-no-output"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"NODE_TYPE_HAS_NO_OUTPUT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Node Type Has No Output","type":"string"},"type":{"const":"https://typenode.ai/errors/node-type-has-no-output","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"LOOP_ITERATION_OUT_OF_RANGE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Loop Iteration Out Of Range","type":"string"},"type":{"const":"https://typenode.ai/errors/loop-iteration-out-of-range","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The node type has no output, or the requested loop iteration is out of range."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The selected output payload could not be read.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The selected output payload could not be read.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Download an exact node step artifact","tags":["executions"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"head":{"operationId":"executions-head-step-output-raw","parameters":[{"description":"The execution id.","in":"path","name":"execution_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The authored node key. Exactly one selector is required.","in":"path","name":"node_key","required":true,"schema":{"type":"string"}},{"description":"Exact selector for one 1-based loop iteration. Mutually exclusive with select.","in":"query","name":"loop_iteration","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Exact selector for the latest recorded iteration. Set to \"latest\"; mutually exclusive with loop_iteration.","in":"query","name":"select","required":false,"schema":{"enum":["latest"],"type":"string"}},{"description":"One byte range, `bytes=<first>-<last>` or `bytes=<first>-`. Any other form is ignored and the complete artifact is served.","in":"header","name":"Range","required":false,"schema":{"type":"string"}},{"description":"One or more entity-tags, or `*`. A match against the artifact's own ETag answers 304, before Range is considered.","in":"header","name":"If-None-Match","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"The artifact's size and digest, with no body. The object is read and checked against its reference first, so a size here is a size that can still be served.","headers":{"Accept-Ranges":{"description":"Always `bytes`.","schema":{"type":"string"}},"Content-Disposition":{"description":"Always `attachment`.","schema":{"type":"string"}},"ETag":{"description":"The artifact's own SHA-256 digest, quoted. It equals `meta.sha256` from the JSON read, so a concatenation of parts can be verified against the representation that read described.","schema":{"type":"string"}}}},"206":{"description":"The requested part's size and range, with no body.","headers":{"Content-Range":{"description":"`bytes <first>-<last>/<size>` for the part that would be served.","schema":{"type":"string"}},"ETag":{"description":"The complete artifact's SHA-256 digest, quoted — not the part's.","schema":{"type":"string"}}}},"304":{"description":"The caller's `If-None-Match` matched the artifact's current ETag. No body.","headers":{"ETag":{"description":"The artifact's own SHA-256 digest, quoted.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The execution id, node key, or exact output selector is invalid.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"INVALID_SELECTOR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Invalid Selector","type":"string"},"type":{"const":"https://typenode.ai/errors/invalid-selector","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The execution id, node key, or exact output selector is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"example":{"code":"STEP_NOT_IN_EXECUTION","detail":"The execution, selected step, or selected output was not found.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":404,"title":"Step Not In Execution","type":"https://typenode.ai/errors/step-not-in-execution"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"STEP_NOT_IN_EXECUTION","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Step Not In Execution","type":"string"},"type":{"const":"https://typenode.ai/errors/step-not-in-execution","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"OUTPUT_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"details":{"additionalProperties":false,"properties":{"reason":{"enum":["missing","pending","never_produced","unpublished","corrupt","lost","expired","unavailable"],"type":"string"}},"required":["reason"],"type":"object"},"instance":{"minLength":1,"type":"string"},"status":{"const":404,"type":"integer"},"title":{"const":"Output Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/output-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}]}}},"description":"The execution, selected step, or selected output was not found."},"416":{"content":{"application/problem+json":{"example":{"code":"RANGE_NOT_SATISFIABLE","detail":"The requested byte range lies outside the stored artifact.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":416,"title":"Range Not Satisfiable","type":"https://typenode.ai/errors/range-not-satisfiable"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"RANGE_NOT_SATISFIABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":416,"type":"integer"},"title":{"const":"Range Not Satisfiable","type":"string"},"type":{"const":"https://typenode.ai/errors/range-not-satisfiable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"The requested byte range lies outside the stored artifact.","headers":{"Content-Range":{"description":"`bytes */<size>` — the artifact's real size, so the caller can re-ask.","schema":{"type":"string"}}}},"422":{"content":{"application/problem+json":{"example":{"code":"NODE_TYPE_HAS_NO_OUTPUT","detail":"The node type has no output, or the requested loop iteration is out of range.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":422,"title":"Node Type Has No Output","type":"https://typenode.ai/errors/node-type-has-no-output"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"NODE_TYPE_HAS_NO_OUTPUT","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Node Type Has No Output","type":"string"},"type":{"const":"https://typenode.ai/errors/node-type-has-no-output","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"LOOP_ITERATION_OUT_OF_RANGE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Loop Iteration Out Of Range","type":"string"},"type":{"const":"https://typenode.ai/errors/loop-iteration-out-of-range","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The node type has no output, or the requested loop iteration is out of range."},"503":{"content":{"application/problem+json":{"example":{"code":"TEMPORARILY_UNAVAILABLE","detail":"The selected output payload could not be read.","instance":"/v1/executions/99999999-aaaa-4bbb-8ccc-dddddddddddd/steps/compute/output/raw","status":503,"title":"Temporarily Unavailable","type":"https://typenode.ai/errors/temporarily-unavailable"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"TEMPORARILY_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Temporarily Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/temporarily-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The selected output payload could not be read.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read an exact node step artifact's size and digest","tags":["executions"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/integrations":{"get":{"operationId":"integrations-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"allowed_scopes":["https://www.googleapis.com/auth/spreadsheets"],"icon":null,"id":"google","name":"Google","provisioned":true,"type":"managed"}]},"schema":{"$ref":"#/components/schemas/ListIntegrationsResult"}}},"description":"The unified connect gallery — Managed OAuth Apps (with a provisioned flag) and Custom OAuth Apps."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List Integrations (unified Managed + Custom connect gallery)","tags":["credentials"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/keys":{"get":{"operationId":"keys-list","parameters":[{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"acting_agent_id":null,"activated_at":"2026-06-01T00:00:01Z","audiences":["https://api.typenode.ai"],"capabilities":["workflow.read","workflow.invoke"],"created_at":"2026-06-01T00:00:00Z","environment_ids":[],"expires_at":null,"id":"00000000-0000-4000-8000-000000000004","name":"CI deploy key","principal_id":"00000000-0000-4000-8000-00000000000d","principal_type":"service_account","resources":[{"resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow"}],"revoked_at":null,"service_account_id":"00000000-0000-4000-8000-00000000000d","state":"active","token_prefix":"tn_sk_7kB9mX","type":"service_key","updated_at":"2026-06-01T00:00:01Z"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/AccessKey"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"One authorization snapshot of durable, secret-free access-key metadata."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The pagination cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.read is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List access keys","tags":["keys"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"keys-create","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"capabilities":["workflow.read","workflow.invoke"],"environment_ids":[],"name":"CI deploy key","resources":[{"resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow"}],"secret_digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","service_account_id":"00000000-0000-4000-8000-00000000000d","token_prefix":"tn_sk_7kB9mX","type":"service_key"},"schema":{"$ref":"#/components/schemas/CreateKey"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"credential.activate","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"held"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"held","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The admitted key-activation operation. The client retains the only raw key material."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid credential restrictions or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.create and authority to confer every restriction are required."},"409":{"content":{"application/problem+json":{"example":{"code":"OPERATION_IN_PROGRESS","detail":"The operation is still in progress.","details":{"operation_url":"/v1/operations/00000000-0000-4000-8000-000000000002","retryAfter":1},"instance":"/v1/keys/00000000-0000-4000-8000-000000000001","status":409,"title":"Operation In Progress","type":"https://typenode.ai/errors/operation-in-progress"},"schema":{"anyOf":[{"$ref":"#/components/schemas/Problem"},{"additionalProperties":false,"properties":{"code":{"const":"OPERATION_IN_PROGRESS","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/OperationInProgressDetails"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Operation In Progress","type":"string"},"type":{"const":"https://typenode.ai/errors/operation-in-progress","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}]}}},"description":"A nonterminal operation protects this target. `details.operation_url` is present only when the caller may read that exact receipt."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Credential activation admission or its status store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Activate a client-generated access key","tags":["keys"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/keys/{key_id}":{"delete":{"operationId":"keys-revoke","parameters":[{"description":"The access key id.","in":"path","name":"key_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"credential.revoke","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The admitted credential-revocation operation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key id or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.revoke is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The access key does not exist."},"409":{"content":{"application/problem+json":{"example":{"code":"OPERATION_IN_PROGRESS","detail":"The operation is still in progress.","details":{"operation_url":"/v1/operations/00000000-0000-4000-8000-000000000002","retryAfter":1},"instance":"/v1/keys/00000000-0000-4000-8000-000000000001","status":409,"title":"Operation In Progress","type":"https://typenode.ai/errors/operation-in-progress"},"schema":{"anyOf":[{"$ref":"#/components/schemas/Problem"},{"additionalProperties":false,"properties":{"code":{"const":"OPERATION_IN_PROGRESS","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/OperationInProgressDetails"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"const":"Operation In Progress","type":"string"},"type":{"const":"https://typenode.ai/errors/operation-in-progress","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}]}}},"description":"A nonterminal operation protects this target. `details.operation_url` is present only when the caller may read that exact receipt."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Admit access-key revocation","tags":["keys"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"keys-get","parameters":[{"description":"The access key id.","in":"path","name":"key_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"acting_agent_id":null,"activated_at":"2026-06-01T00:00:01Z","audiences":["https://api.typenode.ai"],"capabilities":["workflow.read","workflow.invoke"],"created_at":"2026-06-01T00:00:00Z","environment_ids":[],"expires_at":null,"id":"00000000-0000-4000-8000-000000000004","name":"CI deploy key","principal_id":"00000000-0000-4000-8000-00000000000d","principal_type":"service_account","resources":[{"resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow"}],"revoked_at":null,"service_account_id":"00000000-0000-4000-8000-00000000000d","state":"active","token_prefix":"tn_sk_7kB9mX","type":"service_key","updated_at":"2026-06-01T00:00:01Z"},"schema":{"$ref":"#/components/schemas/AccessKey"}}},"description":"Authorized secret-free access-key metadata."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"access_key.read is required on this credential."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The access key does not exist or is not visible."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get one access key","tags":["keys"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"keys-update","parameters":[{"description":"The access key id.","in":"path","name":"key_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The current strong access-key ETag for expected-version replacement.","in":"header","name":"If-Match","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Renamed key"},"schema":{"$ref":"#/components/schemas/UpdateKey"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"acting_agent_id":null,"activated_at":"2026-06-01T00:00:01Z","audiences":["https://api.typenode.ai"],"capabilities":["workflow.read","workflow.invoke"],"created_at":"2026-06-01T00:00:00Z","environment_ids":[],"expires_at":null,"id":"00000000-0000-4000-8000-000000000004","name":"CI deploy key","principal_id":"00000000-0000-4000-8000-00000000000d","principal_type":"service_account","resources":[{"resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow"}],"revoked_at":null,"service_account_id":"00000000-0000-4000-8000-00000000000d","state":"active","token_prefix":"tn_sk_7kB9mX","type":"service_key","updated_at":"2026-06-01T00:00:01Z"},"schema":{"$ref":"#/components/schemas/AccessKey"}}},"description":"The updated key."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid name, ETag, or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"credential.write is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The access key does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the name already exists."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the access key's current version."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match is required for an access key update and was not sent (RFC 6585)."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Rename an access key","tags":["keys"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity","x-precondition":"revision"}},"/v1/keys/{key_id}/proof":{"post":{"operationId":"keys-prove","parameters":[{"description":"The access key id.","in":"path","name":"key_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"204":{"description":"The raw key was proved and its activation released. The client already holds the key, so there is nothing to return; the operation receipt carries the outcome."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The credential verifier is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Prove a held key activation","tags":["keys"],"x-surfaces":["public"]}},"/v1/mcp-server-bindings":{"post":{"operationId":"mcp-server-bindings-create","requestBody":{"content":{"application/json":{"example":{"bindings":[{"is_enabled":true,"source_artifact_id":"00000000-0000-4000-8000-0000000000d8","source_artifact_type":"workflow","tool_description":"Enrich a lead by email","tool_name":"enrich_lead"}],"mcp_server_id":"00000000-0000-4000-8000-000000000005"},"schema":{"$ref":"#/components/schemas/CreateMcpServerBindings"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"bindings":[{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000006","is_enabled":true,"mcp_server_id":"00000000-0000-4000-8000-000000000005","source_artifact_id":"00000000-0000-4000-8000-0000000000d8","source_artifact_type":"workflow","source_preview":{"description":null,"name":"Lead enrichment"},"tool_description":"Enrich a lead by email","tool_name":"enrich_lead","updated_at":"2026-06-02T00:00:00Z"}]},"schema":{"$ref":"#/components/schemas/CreatedMcpServerBindings"}}},"description":"Every created binding, in request order. The batch is all-or-nothing."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The MCP server does not exist or is outside the caller's tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The server's binding limit was reached, or a source changed while binding. Nothing was bound."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"One or more bindings cannot be created; each is named in errors[]. Nothing was bound."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create MCP server bindings","tags":["mcp-server-bindings"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/mcp-server-bindings/{binding_id}":{"delete":{"operationId":"mcp-server-bindings-delete","parameters":[{"description":"The MCP server binding id.","in":"path","name":"binding_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000006"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The binding was removed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Remove an MCP server binding","tags":["mcp-server-bindings"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"mcp-server-bindings-get","parameters":[{"description":"The MCP server binding id.","in":"path","name":"binding_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000006","is_enabled":true,"mcp_server_id":"00000000-0000-4000-8000-000000000005","source_artifact_id":"00000000-0000-4000-8000-0000000000d8","source_artifact_type":"workflow","source_preview":{"description":null,"name":"Lead enrichment"},"tool_description":"Enrich a lead by email","tool_name":"enrich_lead","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/McpServerBinding"}}},"description":"The authorized binding detail with a secret-free source preview."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The binding id is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks read authority for the binding's MCP server."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The binding does not exist or is outside the caller's tenant."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The binding authority lookup is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an MCP server binding","tags":["mcp-server-bindings"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"mcp-server-bindings-update","parameters":[{"description":"The MCP server binding id.","in":"path","name":"binding_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"is_enabled":false},"schema":{"$ref":"#/components/schemas/UpdateMcpServerBinding"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000006","is_enabled":false,"mcp_server_id":"00000000-0000-4000-8000-000000000005","source_artifact_id":"00000000-0000-4000-8000-0000000000d8","source_artifact_type":"workflow","source_preview":{"description":null,"name":"Lead enrichment"},"tool_description":"Enrich a lead by email","tool_name":"enrich_lead","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/McpServerBinding"}}},"description":"The updated binding."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update an MCP server binding","tags":["mcp-server-bindings"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/mcp-servers":{"get":{"operationId":"mcp-servers-list","parameters":[{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"created_at":"2026-06-01T00:00:00Z","description":"Lead-gen tools","id":"00000000-0000-4000-8000-000000000005","is_enabled":true,"name":"Acme tools","updated_at":"2026-06-02T00:00:00Z"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/McpServerSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authority-revision-pinned page of MCP server summaries (no endpoint_url_template)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List MCP servers","tags":["mcp-servers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"mcp-servers-create","requestBody":{"content":{"application/json":{"example":{"description":"Lead-gen tools","name":"Acme tools"},"schema":{"$ref":"#/components/schemas/CreateMcpServer"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","description":"Lead-gen tools","id":"00000000-0000-4000-8000-000000000005","is_enabled":true,"name":"Acme tools","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/McpServerSummary"}}},"description":"The created server (no endpoint_url_template)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create an MCP server","tags":["mcp-servers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/mcp-servers/{mcp_server_id}":{"delete":{"operationId":"mcp-servers-delete","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000005"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The server, its tool bindings, and every OAuth grant and token any client still held for it are gone. Clients connected to this server can no longer reach it."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete an MCP server","tags":["mcp-servers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"mcp-servers-get","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional detail include. Only the exact value `bindings` is accepted.","in":"query","name":"include","required":false,"schema":{"enum":["bindings"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"bindings":[{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-000000000006","is_enabled":true,"mcp_server_id":"00000000-0000-4000-8000-000000000005","source_artifact_id":"00000000-0000-4000-8000-0000000000d8","source_artifact_type":"workflow","source_preview":{"description":null,"name":"Lead enrichment"},"tool_description":"Enrich a lead by email","tool_name":"enrich_lead","updated_at":"2026-06-02T00:00:00Z"},{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-00000000000e","is_enabled":true,"mcp_server_id":"00000000-0000-4000-8000-000000000005","source_artifact_id":"00000000-0000-4000-8000-00000000000d","source_artifact_type":"skill","source_preview":{"description":"Extract structured data from PDFs.","name":"pdf-extraction"},"updated_at":"2026-06-02T00:00:00Z"}],"created_at":"2026-06-01T00:00:00Z","description":"Lead-gen tools","endpoint_url_template":"https://mcp.staging.typenode.dev/{environment_name}/00000000-0000-4000-8000-000000000005/mcp","id":"00000000-0000-4000-8000-000000000005","is_enabled":true,"name":"Acme tools","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/McpServer"}}},"description":"The server detail — the summary plus the injected endpoint_url_template and optional bindings."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an MCP server","tags":["mcp-servers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"mcp-servers-update","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The current strong MCP-server ETag for expected-version replacement.","in":"header","name":"If-Match","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"is_enabled":false},"schema":{"$ref":"#/components/schemas/UpdateMcpServer"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","description":"Lead-gen tools","id":"00000000-0000-4000-8000-000000000005","is_enabled":false,"name":"Acme tools","updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/McpServerSummary"}}},"description":"The updated server (no endpoint_url_template)."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid body or a malformed If-Match value."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"mcp_server.write is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The MCP server does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The name conflicts with another MCP server."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the MCP server's current version."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match is required for an MCP server update and was not sent (RFC 6585)."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update an MCP server","tags":["mcp-servers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write","x-precondition":"revision"}},"/v1/mcp-servers/{mcp_server_id}/access":{"get":{"operationId":"mcp-server-access-list","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Authority-revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"capability_token":"mcp_server.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-000000000005","resource_type":"mcp_server","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceAccess"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A revision-bound page of explicit resource relations."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"mcp_server.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List explicit access relations for the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"},"post":{"operationId":"mcp-server-access-share","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"capability_token":"mcp_server.read","expires_at":null,"subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ShareResource"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"capability_token":"mcp_server.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-000000000005","resource_type":"mcp_server","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The explicit resource-access relation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The subject, capability, environment, expiry, resource id, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"mcp_server.share and the authority being conferred are both required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource or subject does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the exact relation already exists."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Share one capability on the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/mcp-servers/{mcp_server_id}/access/{relation_id}":{"delete":{"operationId":"mcp-server-access-revoke","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000f"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The access relation was durably revoked."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource, relation, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"mcp_server.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or another revoke is in flight."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"mcp-server-access-get","parameters":[{"description":"The MCP server id.","in":"path","name":"mcp_server_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"capability_token":"mcp_server.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-000000000005","resource_type":"mcp_server","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The exact explicit resource-access relation."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"mcp_server.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/me":{"delete":{"operationId":"account-delete","parameters":[],"requestBody":{"content":{"application/json":{"example":{"confirm_email":"person@example.com"},"schema":{"$ref":"#/components/schemas/AdmitAccountDeletion"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"operation_id":"00000000-0000-4000-8000-00000000000e","root_kind":"account","state":"requested","status_url":"/v1/me/deletion/00000000-0000-4000-8000-00000000000e"},"schema":{"$ref":"#/components/schemas/DeletionOperationAccepted"}}},"description":"Erasure is admitted. Authorship of work this person created is detached rather than deleted, audit history survives under a pseudonym, and the sign-in identity is destroyed last."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The confirmation email does not match this account."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"example":{"code":"CONFLICT","detail":"This account solely owns one or more workspaces. Transfer ownership or delete them first.","details":{"blocking_tenants":[{"name":"Example, Inc.","tenant_id":"00000000-0000-4000-8000-000000000001"}]},"instance":"/v1/me","status":409,"title":"Conflict","type":"https://typenode.ai/errors/conflict"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"CONFLICT","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/AccountDeletionBlocked"},"instance":{"minLength":1,"type":"string"},"status":{"const":409,"type":"integer"},"title":{"type":"string"},"type":{"format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}}},"description":"This account solely owns one or more workspaces; `details.blocking_tenants` names each one."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The sole-owner detail could not be projected safely."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete this account and erase its personal data","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/me/deletion":{"get":{"operationId":"account-deletion-preview","parameters":[],"responses":{"200":{"content":{"application/json":{"example":{"blocking_tenants":[],"memberships":[{"tenant_id":"00000000-0000-4000-8000-00000000000d"}],"root_kind":"account","subject_id":"00000000-0000-4000-8000-00000000000a"},"schema":{"$ref":"#/components/schemas/AccountDeletionPreview"}}},"description":"The workspaces this account belongs to, and the ones it solely owns and must hand over first."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The internal preview projection did not match its published shape."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Preview what deleting this account requires","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/me/deletion/{operation_id}":{"get":{"operationId":"account-deletion-status","parameters":[{"description":"The operation id returned by the DELETE.","in":"path","name":"operation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"completed_at":null,"finalization_attempt_count":0,"finalization_next_attempt_at":null,"finalization_retry_code":null,"finalization_retry_stage":null,"manifest_state":null,"operation_id":"00000000-0000-4000-8000-00000000000e","outcome":null,"receipt_available":false,"requested_at":"2026-08-23T12:00:00+00:00","residue":[],"root_kind":"account","state":"requested","stores":[]},"schema":{"$ref":"#/components/schemas/DeletionOperationStatus"}}},"description":"Per-store progress and whether the receipt exists. Readable after the account's own session is gone: the operation id is the credential; authorization failures answer 404 and a status-store outage answers 503."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation id is invalid, unknown, belongs to another root kind, or its projection is malformed."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The deletion status store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"security":[],"summary":"Read erasure progress","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/me/invitations":{"get":{"operationId":"me-invitations-list","parameters":[{"description":"Opaque continuation cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-01T00:00:00Z","delivery_state":"submitted","expires_at":"2026-06-08T00:00:00Z","id":"00000000-0000-4000-8000-00000000000b","inviter_name":"Anna Nowak","recipient_email":"bob@example.com","role_ids":["00000000-0000-4000-8000-000000000011"],"state":"pending","workspace_name":"Acme"}],"has_more":false,"next_cursor":null},"schema":{"$ref":"#/components/schemas/MyInvitationsList"}}},"description":"Pending invitations for the current verified email."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The pagination cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The current Auth email is not verified."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invitation discovery is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List invitations for the current verified Auth email","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/me/invitations/{invitation_id}/accept":{"post":{"operationId":"me-invitations-accept","parameters":[{"description":"The opaque invitation id.","in":"path","name":"invitation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"invitation_id":"00000000-0000-4000-8000-00000000000b","member_id":"00000000-0000-4000-8000-00000000000a","replayed":false,"tenant_id":"00000000-0000-4000-8000-00000000000e"},"schema":{"$ref":"#/components/schemas/InvitationAcceptance"}}},"description":"The resulting membership and idempotency replay marker."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation id or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation is not available to the current recipient."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The recipient already has a home tenant or the invitation is no longer pending."},"410":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation has expired."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The current Auth email is not verified."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The invitation's selected role set is no longer assignable."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invitation acceptance is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Accept one invitation using the current verified Auth session","tags":["account"],"x-surfaces":["v1-session"]}},"/v1/oauth-apps":{"get":{"operationId":"oauth-apps-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"allowed_scopes":["https://www.googleapis.com/auth/spreadsheets"],"id":"google","name":"Google","suggested_bundles":[{"id":"sheets","label":"Google Sheets","scopes":["https://www.googleapis.com/auth/spreadsheets"]}],"type":"managed"}]},"schema":{"$ref":"#/components/schemas/OAuthApps"}}},"description":"The OAuth Apps a credential can be created against (secret-free)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List OAuth Apps (Managed + Custom)","tags":["oauth-apps"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"oauth-apps-register","requestBody":{"content":{"application/json":{"example":{"allowed_scopes":["read","write"],"authorize_url":"https://acme.example.com/oauth/authorize","client_id":"acme-client-id","id":"ACME","name":"Acme","token_url":"https://acme.example.com/oauth/token"},"schema":{"$ref":"#/components/schemas/RegisterCustomOAuthApp"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"oauth_app_id":"ACME","open_url":"https://app.typenode.ai/oauth-apps/ACME/secret","status":"secret_required"},"schema":{"$ref":"#/components/schemas/RegisterOAuthAppResult"}}},"description":"The registration outcome — visit open_url to enter the client secret, or already_registered."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Register a Custom OAuth App","tags":["oauth-apps"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/oauth-apps/{id}":{"delete":{"operationId":"oauth-apps-delete","parameters":[{"description":"The Custom OAuth App id (SCREAMING_SNAKE_CASE).","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"name":"ACME"},"schema":{"$ref":"#/components/schemas/DeletedName"}}},"description":"The app and its encrypted client material are gone for good. Refused with 409 while any credential still uses the app; disable it instead to stop it minting while you migrate them."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a Custom OAuth App","tags":["oauth-apps"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"hard-block"},"patch":{"operationId":"oauth-apps-update","parameters":[{"description":"The Custom OAuth App id (SCREAMING_SNAKE_CASE).","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"already_revoked_answer":{"error":"invalid_token","status":400}},"schema":{"$ref":"#/components/schemas/UpdateOAuthApp"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"already_revoked_answer":{"error":"invalid_token","status":400},"id":"ACME","is_enabled":true},"schema":{"$ref":"#/components/schemas/OAuthAppUpdateResult"}}},"description":"A disabled app mints no tokens: every credential that uses it stops refreshing until it is enabled again. The credentials themselves are untouched. The already-revoked answer applies to every credential deleted afterwards, including credentials created before it was declared."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Enable or disable a Custom OAuth App, or declare its already-revoked answer","tags":["oauth-apps"],"x-surfaces":["v1-session"],"x-tier":"write"},"put":{"operationId":"oauth-apps-submit-secret","parameters":[{"description":"The Custom OAuth App id (SCREAMING_SNAKE_CASE).","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"allowed_scopes":["read","write"],"authorize_url":"https://acme.example.com/oauth/authorize","client_id":"acme-client-id","client_secret":"acme-client-secret","id":"ACME","name":"Acme","token_url":"https://acme.example.com/oauth/token"},"schema":{"$ref":"#/components/schemas/SubmitCustomOAuthAppSecret"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"oauth_app_id":"ACME","status":"registered"},"schema":{"$ref":"#/components/schemas/SubmitOAuthAppSecretResult"}}},"description":"The app is persisted into the credential vault; registered or already_registered."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Submit a Custom OAuth App's client secret (persist)","tags":["oauth-apps"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/oauth/clients":{"get":{"operationId":"oauth-clients-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"client_id":"00000000-0000-4000-8000-00000000000c","created_at":1782864000,"id":"00000000-0000-4000-8000-00000000000d","name":"Typenode CLI","redirect_uris":["https://cli.typenode.ai/oauth/callback"],"revoked_at":null,"scopes":["workflow.read","workflow.write"],"tenant_id":"00000000-0000-4000-8000-00000000000e","token_endpoint_auth_method":"client_secret_basic","updated_at":1782864000,"user_id":"00000000-0000-4000-8000-00000000000a"}],"has_more":false,"next_cursor":null},"schema":{"$ref":"#/components/schemas/OAuthClients"}}},"description":"The caller's complete tenant client list."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.read is required."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not list clients."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List OAuth clients","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"read"},"post":{"operationId":"oauth-clients-create","requestBody":{"content":{"application/json":{"example":{"name":"Typenode CLI","scopes":["workflow.read","workflow.write"]},"schema":{"$ref":"#/components/schemas/CreateOAuthClient"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"client_id":"00000000-0000-4000-8000-00000000000c","client_secret":"tn_oauth_client_secret","created_at":1782864000,"id":"00000000-0000-4000-8000-00000000000d","name":"Typenode CLI","redirect_uris":["https://cli.typenode.ai/oauth/callback"],"revoked_at":null,"scopes":["workflow.read","workflow.write"],"tenant_id":"00000000-0000-4000-8000-00000000000e","token_endpoint_auth_method":"client_secret_basic","updated_at":1782864000,"user_id":"00000000-0000-4000-8000-00000000000a"},"schema":{"$ref":"#/components/schemas/CreatedOAuthClient"}}},"description":"The client registration and its one-time client secret."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client name or requested scope ceiling is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.write is required."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The per-user OAuth client-creation limit was exceeded."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not create the client."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create an OAuth client","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/oauth/clients/{client_id}":{"delete":{"operationId":"oauth-clients-delete","parameters":[{"description":"The OAuth client id.","in":"path","name":"client_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000c"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The OAuth client was deleted."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.delete is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth client does not exist in this tenant."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not revoke the client."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete an OAuth client","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"destructive"},"get":{"operationId":"oauth-clients-get","parameters":[{"description":"The OAuth client id.","in":"path","name":"client_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"client_id":"00000000-0000-4000-8000-00000000000c","created_at":1782864000,"id":"00000000-0000-4000-8000-00000000000d","name":"Typenode CLI","redirect_uris":["https://cli.typenode.ai/oauth/callback"],"revoked_at":null,"scopes":["workflow.read","workflow.write"],"tenant_id":"00000000-0000-4000-8000-00000000000e","token_endpoint_auth_method":"client_secret_basic","updated_at":1782864000,"user_id":"00000000-0000-4000-8000-00000000000a"},"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"Secret-free OAuth client metadata."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.read is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth client does not exist in this tenant."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not get the client."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get an OAuth client","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"read"},"patch":{"operationId":"oauth-clients-update","parameters":[{"description":"The OAuth client id.","in":"path","name":"client_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Typenode Desktop"},"schema":{"$ref":"#/components/schemas/UpdateOAuthClient"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"client_id":"00000000-0000-4000-8000-00000000000c","created_at":1782864000,"id":"00000000-0000-4000-8000-00000000000d","name":"Typenode Desktop","redirect_uris":["https://cli.typenode.ai/oauth/callback"],"revoked_at":null,"scopes":["workflow.read","workflow.write"],"tenant_id":"00000000-0000-4000-8000-00000000000e","token_endpoint_auth_method":"client_secret_basic","updated_at":1782864060,"user_id":"00000000-0000-4000-8000-00000000000a"},"schema":{"$ref":"#/components/schemas/OAuthClient"}}},"description":"The updated OAuth client."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client id or replacement name is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.write is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth client does not exist in this tenant."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not update the client."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Rename an OAuth client","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/oauth/clients/{client_id}/public":{"get":{"operationId":"oauth-clients-public-get","parameters":[{"description":"The opaque OAuth client identifier. This may be a CIMD HTTPS URL rather than a UUID.","in":"path","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"The exact authorization-server issuer that owns or resolves the client.","in":"query","name":"as_issuer","required":true,"schema":{"format":"uri","type":"string"}},{"description":"Redirect URI whose host will be displayed.","in":"query","name":"redirect_uri","required":false,"schema":{"format":"uri","type":"string"}},{"description":"Requested OAuth scope string used for display context.","in":"query","name":"scope","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"client_origin":null,"name":"Typenode CLI","redirect_host":"cli.typenode.ai","renewable":false,"scope_source":"client_declared","scopes":["workflow.read","workflow.write"],"source":"first_party","verified":true},"schema":{"$ref":"#/components/schemas/OAuthPublicClientInfo"}}},"description":"Secret-free client information for the unauthenticated consent screen."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client identifier, issuer, redirect URI, or scope context is invalid."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The public client-info rate limit was exceeded."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The selected OAuth issuer could not resolve the client."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client's metadata host could not be reached; the request is retryable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"security":[],"summary":"Get public OAuth client display information","tags":["oauth"],"x-surfaces":["public"]}},"/v1/oauth/clients/{client_id}/revoke-credentials":{"post":{"operationId":"oauth-clients-revoke-credentials","parameters":[{"description":"The OAuth client id.","in":"path","name":"client_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"client_id":"00000000-0000-4000-8000-00000000000c","revoked":3},"schema":{"properties":{"client_id":{"type":"string"},"revoked":{"type":"integer"}},"required":["client_id","revoked"],"type":"object"}}},"description":"Every live token acting as this client was revoked across both OAuth token stores; `revoked` is the total token count. The client registration survives — a re-consent can re-issue tokens."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.write is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth client does not exist in this tenant."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"One of the OAuth credential stores could not complete the revocation."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke every credential an agent (OAuth client) holds","tags":["oauth"],"x-surfaces":["v1-session"],"x-tier":"identity"}},"/v1/oauth/consent":{"post":{"operationId":"oauth-consent-decide","requestBody":{"content":{"application/json":{"example":{"approved":true,"as_issuer":"https://auth.typenode.ai","client_id":"00000000-0000-4000-8000-00000000000c","code_challenge":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","code_challenge_method":"S256","connection_name":"Default connection","environmentIds":["00000000-0000-4000-8000-000000000002"],"expected_current_grant_id":null,"expiresAt":null,"redirect_uri":"https://cli.typenode.ai/oauth/callback","resource":"https://mcp.typenode.ai/mcp","resources":[{"resourceId":"00000000-0000-4000-8000-0000000000d8","resourceType":"workflow"}],"response_type":"code","scope":"workflow.read","state":"opaque-client-state"},"schema":{"$ref":"#/components/schemas/OAuthConsentDecision"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"redirect_url":"https://cli.typenode.ai/oauth/callback?code=opaque-authorization-code&state=opaque-client-state"},"schema":{"$ref":"#/components/schemas/OAuthConsentResult"}}},"description":"The AS-computed redirect carrying a one-time authorization code or denial."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authorization tuple, issuer, requested scopes, or restrictions are invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workspace cannot connect Agents, (`NOTHING_TO_GRANT`) the consenting member holds none of the requested capabilities, or (`MCP_SERVER_NOT_IN_WORKSPACE`) a Custom MCP connector's server is not in the member's Workspace."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The named connection changed or reached its active-name limit; reload and review it before approving again. (`CONSENT_POLICY_PENDING`) A workspace policy change has reached the authorization servers but has not finished applying; retrying the same request does not help, and if it lasts more than a few minutes Typenode support must finish or cancel the change."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The selected OAuth issuer could not process consent."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client metadata host is unavailable. Retry after the dependency recovers."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Approve or deny an OAuth authorization request","tags":["oauth"],"x-surfaces":["v1-session"]}},"/v1/oauth/consent/context":{"get":{"operationId":"oauth-consent-context-get","parameters":[{"description":"The issuer that began the authorization request.","in":"query","name":"as_issuer","required":true,"schema":{"format":"uri","type":"string"}},{"description":"The requesting OAuth client.","in":"query","name":"client_id","required":true,"schema":{"type":"string"}},{"description":"Always `code`.","in":"query","name":"response_type","required":true,"schema":{"enum":["code"],"type":"string"}},{"description":"The space-separated capabilities the client asks for.","in":"query","name":"scope","required":true,"schema":{"type":"string"}},{"description":"The registered redirect URI.","in":"query","name":"redirect_uri","required":true,"schema":{"format":"uri","type":"string"}},{"description":"The client's opaque state.","in":"query","name":"state","required":false,"schema":{"type":"string"}},{"description":"The PKCE S256 challenge.","in":"query","name":"code_challenge","required":true,"schema":{"type":"string"}},{"description":"Always `S256`.","in":"query","name":"code_challenge_method","required":true,"schema":{"enum":["S256"],"type":"string"}},{"description":"The RFC 8707 resource the token is for.","in":"query","name":"resource","required":true,"schema":{"format":"uri","type":"string"}},{"description":"Requested authentication context class references.","in":"query","name":"acr_values","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"access":{"granted":["workflow.invoke"],"not_given":["skill.invoke"]},"server":{"enabled":true,"environment":"production","name":"Sales tools","same_workspace":true,"tools":[{"kind":"workflow","name":"lookup_lead","runnable":true},{"kind":"skill","name":"pricing-guide","runnable":false}]},"workspace":{"can_connect":true,"name":"Acme"}},"schema":{"$ref":"#/components/schemas/OAuthConsentContext"}}},"description":"The Workspace, whether it can connect Agents, and how the request splits into what approving it would give and what it would not."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authorization tuple, issuer, or requested scopes are invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client belongs to another workspace, or the caller's workspace cannot authorize OAuth clients."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The selected OAuth issuer could not prepare the request."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client metadata host or the consent policy is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read what approving an OAuth consent would give","tags":["oauth"],"x-surfaces":["v1-session"]}},"/v1/oauth/grants":{"get":{"operationId":"oauth-grants-list","responses":{"200":{"content":{"application/json":{"example":{"data":[{"as_issuer":"https://auth.typenode.ai","audience":"https://mcp.typenode.ai/mcp","capabilities":["workflow.read"],"client_id":"00000000-0000-4000-8000-00000000000c","client_name":"Typenode CLI","connection_name":"Default connection","created_at":1782864000,"environment_ids":["00000000-0000-4000-8000-000000000002"],"expires_at":null,"grant_id":"00000000-0000-4000-8000-000000000012","lapses_at":1782867600,"last_used_at":null,"offline_access":false,"resources":[{"resourceId":"00000000-0000-4000-8000-0000000000d8","resourceType":"workflow"}]}],"has_more":false,"next_cursor":null},"schema":{"$ref":"#/components/schemas/OAuthGrants"}}},"description":"The authenticated user's complete tenant-bound grant list."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"oauth_client.read is required."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not list grants."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List the caller's OAuth grants","tags":["oauth"],"x-surfaces":["v1-session"]}},"/v1/oauth/grants/{grant_id}":{"delete":{"operationId":"oauth-grants-delete","parameters":[{"description":"The OAuth grant id.","in":"path","name":"grant_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000012"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The authenticated user's exact grant and its authorization-code and token lineages were revoked."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The grant id is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth grant does not exist for the authenticated user."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The OAuth issuer could not revoke the grant."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke the caller's exact OAuth grant","tags":["oauth"],"x-surfaces":["v1-session"]}},"/v1/oauth/scopes":{"get":{"operationId":"oauth-scopes-list","responses":{"200":{"content":{"application/json":{"example":{"scopes":["workflow.read","offline_access"]},"schema":{"additionalProperties":false,"properties":{"scopes":{"items":{"pattern":"^(?:[a-z_]+\\.[a-z_]+|offline_access)$","type":"string"},"minItems":1,"type":"array","uniqueItems":true}},"required":["scopes"],"type":"object"}}},"description":"The complete scope vocabulary currently accepted by the platform MCP OAuth issuer."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List OAuth client-registration scopes","tags":["oauth"],"x-surfaces":["public"]}},"/v1/operations":{"get":{"operationId":"operations-list","responses":{"200":{"content":{"application/json":{"example":{"operations":[{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"credential.activate","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"held"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"held","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"}]},"schema":{"$ref":"#/components/schemas/OperationList"}}},"description":"Redacted operations whose persisted targets the caller may currently read."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot read any matching operation targets."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation status or authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List currently readable operation lifecycle receipts","tags":["operations"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/operations/{operation_id}":{"get":{"operationId":"operations-get","parameters":[{"description":"The opaque operation id.","in":"path","name":"operation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"credential.activate","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"held"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"held","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The operation's safe lifecycle state; it never includes journal payloads or leases."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation does not exist in this tenant or its target is not currently readable."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation status or authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read one redacted operation lifecycle receipt","tags":["operations"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/operations/{operation_id}/cancel":{"post":{"operationId":"operations-cancel","parameters":[{"description":"The opaque operation id.","in":"path","name":"operation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":"2026-08-27T10:01:00Z","created_at":"2026-08-27T10:00:00Z","kind":"credential.activate","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"held"},{"at":"2026-08-27T10:01:00Z","name":"cancelled_by_administrator"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":"cancelled_by_administrator","proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"cancelled","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":true,"updated_at":"2026-08-27T10:01:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The terminal cancelled operation state."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A tenant administrator with the operation's cancellation capability is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation does not exist in this tenant or its target is not currently readable."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Only a currently held operation can be cancelled."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation status or authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Cancel a held operation as a tenant administrator","tags":["operations"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/operations/{operation_id}/release":{"post":{"operationId":"operations-release","parameters":[{"description":"The opaque operation id.","in":"path","name":"operation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"credential.activate","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"held"},{"at":"2026-08-27T10:01:00Z","name":"released"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"credential_id":"00000000-0000-4000-8000-000000000004","kind":"credential"},"terminal":false,"updated_at":"2026-08-27T10:01:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The released operation state."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Only the initiating actor with the command capability may release this operation."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation does not exist in this tenant or its target is not currently readable."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation is no longer held."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation status or authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Release the caller's held operation","tags":["operations"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/roles":{"get":{"operationId":"roles-list","parameters":[{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"description":"Full tenant authority.","id":"00000000-0000-4000-8000-000000000009","name":"Owner","template_key":"owner"},{"description":"Read-only access to billing and executions.","id":"00000000-0000-4000-8000-000000000011","name":"Billing Auditor","template_key":null}],"has_more":false,"next_cursor":null,"total_count":2},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/Role"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A page of roles — the tenant's built-in roles plus its custom roles."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The pagination cursor is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.read is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List roles","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"roles-create","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"capabilities":[{"capability_token":"billing.read","scope_kind":"workspace"},{"capability_token":"execution.read","scope_kind":"workspace"}],"description":"Read-only access to billing and executions.","name":"Billing Auditor"},"schema":{"$ref":"#/components/schemas/CreateRole"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"assignee_count":0,"capabilities":[{"all_capabilities":false,"capability_token":"billing.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"},{"all_capabilities":false,"capability_token":"execution.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"}],"created_at":"2026-06-01T00:00:00Z","description":"Read-only access to billing and executions.","id":"00000000-0000-4000-8000-000000000011","name":"Billing Auditor","template_key":null,"version":1},"schema":{"$ref":"#/components/schemas/RoleDetail"}}},"description":"The created role, with its capability set.","headers":{"ETag":{"description":"Strong role ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"role:1\"","type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid request body, missing Idempotency-Key, or an unknown capability_token."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.write is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts, the role name already exists, or the tenant role cap is reached."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create a custom role with an exact capability set","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/roles/{role_id}":{"delete":{"operationId":"roles-delete","parameters":[{"description":"The role id.","in":"path","name":"role_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000011"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The role was deleted."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.delete is required, or the role is a built-in role."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role is still assigned to a member and cannot be deleted."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a custom role","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"roles-get","parameters":[{"description":"The role id.","in":"path","name":"role_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"assignee_count":0,"capabilities":[{"all_capabilities":false,"capability_token":"billing.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"},{"all_capabilities":false,"capability_token":"execution.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"}],"created_at":"2026-06-01T00:00:00Z","description":"Read-only access to billing and executions.","id":"00000000-0000-4000-8000-000000000011","name":"Billing Auditor","template_key":null,"version":1},"schema":{"$ref":"#/components/schemas/RoleDetail"}}},"description":"The role, with its capability set.","headers":{"ETag":{"description":"Strong role ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"role:1\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.read is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role does not exist in this tenant."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a role's detail, including its capability set","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"roles-update","parameters":[{"description":"The role id.","in":"path","name":"role_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Set to the current strong role ETag (\"role:<version>\") for expected-version replacement.","in":"header","name":"If-Match","required":true,"schema":{"type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"description":"Read-only access to billing, executions, and triggers."},"schema":{"$ref":"#/components/schemas/UpdateRole"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"assignee_count":0,"capabilities":[{"all_capabilities":false,"capability_token":"billing.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"},{"all_capabilities":false,"capability_token":"execution.read","environment_id":null,"expires_at":null,"resource_id":null,"resource_type":null,"scope_kind":"workspace"}],"created_at":"2026-06-01T00:00:00Z","description":"Read-only access to billing and executions.","id":"00000000-0000-4000-8000-000000000011","name":"Billing Auditor","template_key":null,"version":1},"schema":{"$ref":"#/components/schemas/RoleDetail"}}},"description":"The updated role, with its capability set.","headers":{"ETag":{"description":"Strong role ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"role:1\"","type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid request body or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.write is required, or the role is a built-in role."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The new name conflicts with an existing role."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the role's current version."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match is required for this write and was not sent (RFC 6585)."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Edit a custom role's name, description, or capability set","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write","x-precondition":"revision"}},"/v1/roles/{role_id}/principals/{principal_kind}/{principal_id}":{"delete":{"operationId":"roles-unassign","parameters":[{"description":"The role id.","in":"path","name":"role_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The typed authority principal kind.","in":"path","name":"principal_kind","required":true,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"The authority principal id.","in":"path","name":"principal_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"principal_id":"00000000-0000-4000-8000-00000000000a","principal_kind":"member","role_id":"00000000-0000-4000-8000-000000000011"},"schema":{"$ref":"#/components/schemas/RoleAssignmentRemoval"}}},"description":"The principal/role membership removal receipt."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid principal coordinate or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.assign is required, or structural membership cannot be removed."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role or principal does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or a destructive authority operation is already in flight."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Idempotently remove a typed principal from a role","tags":["roles"],"x-surfaces":["v1-session"],"x-tier":"identity"},"put":{"operationId":"roles-assign","parameters":[{"description":"The role id.","in":"path","name":"role_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The typed authority principal kind.","in":"path","name":"principal_kind","required":true,"schema":{"enum":["member","service_account"],"type":"string"}},{"description":"The authority principal id.","in":"path","name":"principal_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"principal_id":"00000000-0000-4000-8000-00000000000a","principal_kind":"member","role_id":"00000000-0000-4000-8000-000000000011"},"schema":{"$ref":"#/components/schemas/RoleAssignment"}}},"description":"The resulting principal/role membership."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid principal coordinate or missing/malformed Idempotency-Key."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"role.assign is required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The role or principal does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts with a different semantic command."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Idempotently assign a typed principal to a role","tags":["roles"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/secret-handoffs":{"post":{"operationId":"secret-handoffs-create","requestBody":{"content":{"application/json":{"example":{"kind":"secret_set","payload":{"environment":"production","name":"OPENAI_API_KEY","write_mode":"create"}},"schema":{"$ref":"#/components/schemas/CreateSecretHandoffRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"completion_url":"https://api.typenode.ai/v1/secret-handoffs/entry?t=handoff_opaque_token","expires_at":"2026-10-04T15:00:00.000Z","intent_revision":1,"operation_id":"00000000-0000-4000-8000-000000000001"},"schema":{"$ref":"#/components/schemas/CreateSecretHandoffResponse"}}},"description":"The exact request's trusted entry link, submission deadline and reviewed-intent coordinates."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The staged handoff payload is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks authority for the requested handoff kind."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff store or kind-specific validation dependency returned an invalid result."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff service is temporarily unavailable."},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff service timed out."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create a secret handoff","tags":["secret-handoffs"],"x-surfaces":["v1-session","authoring-mcp"]}},"/v1/secret-handoffs/continuations/{continuation_id}":{"get":{"operationId":"secret-handoffs-continuation-get","parameters":[{"description":"Public request selector; the matching browser cookie and session are also required.","in":"path","name":"continuation_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"expires_at":"2026-10-04T15:00:00.000Z","intent_revision":1,"kind":"secret_set","lifecycle":{"state":"pending"},"operation_id":"00000000-0000-4000-8000-000000000001","payload":{"environment":"production","name":"OPENAI_API_KEY","write_mode":"create"},"server_time":"2026-10-04T14:00:00.000Z","workspace_id":"00000000-0000-4000-8000-000000000002"},"schema":{"$ref":"#/components/schemas/ResolveSecretHandoffResponse"}}},"description":"The exact reviewed intent, server time, deadline, workspace and current lifecycle state."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks authority to read the handoff."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No live continuation for this browser and workspace."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"This reviewed request was superseded by a newer intent."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff store returned an invalid result."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff service is temporarily unavailable."},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff service timed out."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Resolve the handoff this browser is continuing","tags":["secret-handoffs"],"x-surfaces":["v1-session"]}},"/v1/secret-handoffs/continuations/{continuation_id}/complete":{"post":{"operationId":"secret-handoffs-continuation-complete","parameters":[{"description":"Public request selector; the matching browser cookie and session are also required.","in":"path","name":"continuation_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"kind":"secret_set","value":"sk-secret-value"},"schema":{"$ref":"#/components/schemas/CompleteSecretHandoffRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"status":"completed"},"schema":{"$ref":"#/components/schemas/CompleteSecretHandoffResponse"}}},"description":"The completion result. Secret values are never returned, and an access key is reserved for proof rather than created."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The completion payload is invalid or its kind does not match the handoff."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks authority to complete the handoff."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No live continuation for this browser and workspace, or a resource named by the staged write no longer exists."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff is locked or consumed, or the staged write conflicts."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The staged optimistic-concurrency precondition failed."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A handoff or persistence dependency returned an invalid result."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A handoff or persistence dependency is temporarily unavailable."},"504":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A handoff or persistence dependency timed out."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Complete the handoff this browser is continuing","tags":["secret-handoffs"],"x-surfaces":["v1-session"]}},"/v1/secret-handoffs/entry":{"get":{"operationId":"secret-handoffs-entry","parameters":[{"description":"The opaque handoff token carried by the link, spent here.","in":"query","name":"t","required":false,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirects to the completion page, with a continuation cookie when the token was live. A dead or malformed token redirects identically and sets nothing, so the entry point tells an unauthenticated caller nothing about which tokens exist."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"502":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The handoff store returned an invalid result."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Enter a secret handoff from its trusted link","tags":["secret-handoffs"],"x-surfaces":["public"]}},"/v1/service-accounts":{"get":{"operationId":"service-accounts-list","parameters":[{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"created_at":"2026-06-01T00:00:00Z","created_by":"00000000-0000-4000-8000-00000000000f","created_by_type":"member","description":"Runs billing workflows","id":"00000000-0000-4000-8000-00000000000d","name":"Billing bot","revoked_at":null,"revoked_by":null,"revoked_by_type":null,"updated_at":"2026-06-01T00:00:00Z"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ServiceAccount"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A page of workflow service-account identities."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List workflow service accounts","tags":["service-accounts"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"service-accounts-create","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"description":"Runs billing workflows","name":"Billing bot"},"schema":{"$ref":"#/components/schemas/CreateServiceAccount"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","created_by":"00000000-0000-4000-8000-00000000000f","created_by_type":"member","description":"Runs billing workflows","id":"00000000-0000-4000-8000-00000000000d","name":"Billing bot","revoked_at":null,"revoked_by":null,"revoked_by_type":null,"updated_at":"2026-06-01T00:00:00Z"},"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"The created service-account identity. No key secret is minted by this route."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A service account with this name already exists."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create a workflow service account","tags":["service-accounts"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/service-accounts/{id}":{"delete":{"operationId":"service-accounts-revoke","parameters":[{"description":"The service account id.","in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000d"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The service account was revoked."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The service account does not exist in this tenant or was already revoked."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke a workflow service account","tags":["service-accounts"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"service-accounts-get","parameters":[{"description":"The service account id.","in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","created_by":"00000000-0000-4000-8000-00000000000f","created_by_type":"member","description":"Runs billing workflows","id":"00000000-0000-4000-8000-00000000000d","name":"Billing bot","revoked_at":null,"revoked_by":null,"revoked_by_type":null,"updated_at":"2026-06-01T00:00:00Z"},"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"description":"The active service-account identity."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The service account does not exist in this tenant or was revoked."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a workflow service account","tags":["service-accounts"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/sessions":{"get":{"operationId":"sessions-list","parameters":[{"description":"Keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size.","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"ai_agent_id":"00000000-0000-4000-8000-000000000008","ai_agents":{"is_system":true,"name":"Type","slug":"type"},"cost_usd_total":0.42,"created_at":"2026-06-01T00:00:00Z","current_workflow_id":"00000000-0000-4000-8000-0000000000d8","id":"00000000-0000-4000-8000-000000000007","last_message_at":"2026-06-02T00:00:00Z","title":"Lead enrichment chat","updated_at":"2026-06-02T00:00:00Z","workflow_id":null}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/SessionListItem"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authority-revision-pinned page of session list items."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List sessions","tags":["sessions"],"x-surfaces":[],"x-tier":"read"},"post":{"operationId":"sessions-create","requestBody":{"content":{"application/json":{"example":{"ai_agent_id":"00000000-0000-4000-8000-000000000008","current_workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/CreateSession"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"ai_agent_id":"00000000-0000-4000-8000-000000000008","cost_usd_total":0.42,"created_at":"2026-06-01T00:00:00Z","current_workflow_id":"00000000-0000-4000-8000-0000000000d8","id":"00000000-0000-4000-8000-000000000007","last_message_at":"2026-06-02T00:00:00Z","last_turn_status":"completed","title":"Lead enrichment chat","updated_at":"2026-06-02T00:00:00Z","workflow_id":null},"schema":{"$ref":"#/components/schemas/Session"}}},"description":"The created session."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Open an agent session","tags":["sessions"],"x-surfaces":[],"x-tier":"write"}},"/v1/sessions/{session_id}":{"delete":{"operationId":"sessions-delete","parameters":[{"description":"The session id.","in":"path","name":"session_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-000000000007"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The session was deleted."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a session","tags":["sessions"],"x-surfaces":[],"x-tier":"destructive"},"get":{"operationId":"sessions-get","parameters":[{"description":"The session id.","in":"path","name":"session_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"ai_agent_id":"00000000-0000-4000-8000-000000000008","cost_usd_total":0.42,"created_at":"2026-06-01T00:00:00Z","current_workflow_id":"00000000-0000-4000-8000-0000000000d8","id":"00000000-0000-4000-8000-000000000007","last_message_at":"2026-06-02T00:00:00Z","last_turn_status":"completed","title":"Lead enrichment chat","updated_at":"2026-06-02T00:00:00Z","workflow_id":null},"schema":{"$ref":"#/components/schemas/Session"}}},"description":"The session."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a session","tags":["sessions"],"x-surfaces":[],"x-tier":"read"}},"/v1/skills":{"get":{"operationId":"skills-list","parameters":[{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"author":"00000000-0000-4000-8000-00000000000f","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","created_at":"2026-06-01T00:00:00Z","description":"Extract structured data from PDFs.","id":"00000000-0000-4000-8000-00000000000d","name":"pdf-extraction","updated_at":"2026-06-02T00:00:00Z","version":1}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/Skill"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A page of the caller's skills (metadata only)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List skills","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"skills-publish","parameters":[{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Required only when POST replaces an existing same-name skill; use its current strong ETag (\"skill:<version>\").","in":"header","name":"If-Match","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"body":"# PDF extraction\n\nStep-by-step guidance.\n","description":"Extract structured data from PDFs.","name":"pdf-extraction"},"schema":{"$ref":"#/components/schemas/PublishSkill"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"author":"00000000-0000-4000-8000-00000000000f","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","created_at":"2026-06-01T00:00:00Z","description":"Extract structured data from PDFs.","id":"00000000-0000-4000-8000-00000000000d","name":"pdf-extraction","updated_at":"2026-06-02T00:00:00Z","version":1},"schema":{"$ref":"#/components/schemas/Skill"}}},"description":"The replaced same-name skill.","headers":{"ETag":{"description":"Strong skill ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"skill:1\"","type":"string"}}}},"201":{"content":{"application/json":{"example":{"author":"00000000-0000-4000-8000-00000000000f","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","created_at":"2026-06-01T00:00:00Z","description":"Extract structured data from PDFs.","id":"00000000-0000-4000-8000-00000000000d","name":"pdf-extraction","updated_at":"2026-06-02T00:00:00Z","version":1},"schema":{"$ref":"#/components/schemas/Skill"}}},"description":"The newly published skill.","headers":{"ETag":{"description":"Strong skill ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"skill:1\"","type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The skill body, Idempotency-Key, or strong skill If-Match value is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks skill.write."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the skill name is already in use."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the existing same-name skill's current version."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority, skill metadata, or content store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Publish a skill (create or replace by name)","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/skills/{skill_id}":{"delete":{"operationId":"skills-delete","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000d"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The skill was deleted."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a skill","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"skills-get","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"author":"00000000-0000-4000-8000-00000000000f","body":"# PDF extraction\n\nStep-by-step guidance for extracting structured data from PDFs.\n","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","created_at":"2026-06-01T00:00:00Z","description":"Extract structured data from PDFs.","id":"00000000-0000-4000-8000-00000000000d","name":"pdf-extraction","updated_at":"2026-06-02T00:00:00Z","version":1},"schema":{"$ref":"#/components/schemas/SkillDetail"}}},"description":"The skill with its SKILL.md body.","headers":{"ETag":{"description":"Strong skill ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"skill:1\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a skill with its body","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"skills-update","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"The current strong skill ETag (\"skill:<version>\") for expected-version replacement.","in":"header","name":"If-Match","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"description":"Updated description."},"schema":{"$ref":"#/components/schemas/UpdateSkill"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"author":"00000000-0000-4000-8000-00000000000f","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","created_at":"2026-06-01T00:00:00Z","description":"Extract structured data from PDFs.","id":"00000000-0000-4000-8000-00000000000d","name":"pdf-extraction","updated_at":"2026-06-02T00:00:00Z","version":1},"schema":{"$ref":"#/components/schemas/Skill"}}},"description":"The updated skill.","headers":{"ETag":{"description":"Strong skill ETag derived from the response body's monotonic `version` field.","schema":{"example":"\"skill:1\"","type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The skill body, Idempotency-Key, or strong skill If-Match value is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks skill.write."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The skill does not exist or is not visible to the caller."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the skill name is already in use."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the skill's current version."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match is required for this write and was not sent (RFC 6585)."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority, skill metadata, or content store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update a skill (rename / edit)","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write","x-precondition":"revision"}},"/v1/skills/{skill_id}/access":{"get":{"operationId":"skill-access-list","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Authority-revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"capability_token":"skill.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-00000000000d","resource_type":"skill","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceAccess"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A revision-bound page of explicit resource relations."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"skill.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List explicit access relations for the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"},"post":{"operationId":"skill-access-share","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"capability_token":"skill.read","expires_at":null,"subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ShareResource"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"capability_token":"skill.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-00000000000d","resource_type":"skill","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The explicit resource-access relation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The subject, capability, environment, expiry, resource id, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"skill.share and the authority being conferred are both required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource or subject does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the exact relation already exists."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Share one capability on the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/skills/{skill_id}/access/{relation_id}":{"delete":{"operationId":"skill-access-revoke","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000f"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The access relation was durably revoked."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource, relation, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"skill.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or another revoke is in flight."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"skill-access-get","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"capability_token":"skill.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-00000000000d","resource_type":"skill","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The exact explicit resource-access relation."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"skill.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/skills/{skill_id}/authority-summary":{"get":{"operationId":"skills-authority-summary","parameters":[{"description":"The skill id.","in":"path","name":"skill_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"relation_count":2},"schema":{"$ref":"#/components/schemas/SkillAuthoritySummary"}}},"description":"The exact relation count and authority revision."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Inspect exact authority relations removed with a skill","tags":["skills"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/templates/{slug}/clone":{"post":{"operationId":"templates-clone","parameters":[{"description":"Stable curated template identity.","in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"operation_id":"00000000-0000-4000-8000-000000000003","snapshot_id":"00000000-0000-4000-8000-000000000002"},"schema":{"$ref":"#/components/schemas/CloneTemplate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"operation_id":"00000000-0000-4000-8000-000000000003","snapshot_id":"00000000-0000-4000-8000-000000000002","template_slug":"hello-world","workflows":[{"id":"00000000-0000-4000-8000-000000000004","key":"greeting","name":"Hello world","trigger_id":"00000000-0000-4000-8000-000000000005"}]},"schema":{"$ref":"#/components/schemas/TemplateCloneResult"}}},"description":"Atomic draft receipt. Reuse operation_id and matching Idempotency-Key after an ambiguous response; a new identity creates another copy. Current authorization is checked before replay."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"TEMPLATE_SNAPSHOT_NOT_CURRENT: the snapshot is not the template's current one; details.current_snapshot_id names it."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Clone an exact template into independent draft Workflows","tags":["templates"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/tenant":{"delete":{"operationId":"tenant-delete","parameters":[],"requestBody":{"content":{"application/json":{"example":{"confirm_name":"Example, Inc.","fingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"schema":{"$ref":"#/components/schemas/AdmitTenantDeletion"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"operation_id":"00000000-0000-4000-8000-00000000000e","root_kind":"tenant","state":"requested","status_url":"/v1/tenant/deletion/00000000-0000-4000-8000-00000000000e"},"schema":{"$ref":"#/components/schemas/DeletionOperationAccepted"}}},"description":"Deletion is admitted and the workspace refuses new work from this moment. The drain runs in the background; poll status_url, which stays readable after the workspace itself is gone."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workspace name confirmation does not match, or the fingerprint is malformed."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workspace inventory changed since the preview; re-read it and confirm again."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No fingerprint was sent. Read GET /v1/tenant/deletion first and confirm with the fingerprint it returns."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete this workspace and everything in it","tags":["tenant"],"x-surfaces":["v1-session"]}},"/v1/tenant/deletion":{"get":{"operationId":"tenant-deletion-preview","parameters":[],"responses":{"200":{"content":{"application/json":{"example":{"destinations":[],"fingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","inventory":{"credentials":3,"environment_variables":8,"environments":2,"mcp_servers":1,"members":2,"roles":5,"service_accounts":1,"skills":1,"workflow_triggers":4,"workflow_versions":16,"workflows":12},"lifecycle_state":"active","name":"Example, Inc.","root_kind":"tenant","subject_id":"00000000-0000-4000-8000-00000000000d"},"schema":{"$ref":"#/components/schemas/TenantDeletionPreview"}}},"description":"The structural inventory, the fingerprint the DELETE must echo back, and the customer-owned destinations deletion will not reach into."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The internal preview projection did not match its published shape."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Preview what deleting this workspace destroys","tags":["tenant"],"x-surfaces":["v1-session"]}},"/v1/tenant/deletion/{operation_id}":{"get":{"operationId":"tenant-deletion-status","parameters":[{"description":"The operation id returned by the DELETE.","in":"path","name":"operation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"completed_at":null,"finalization_attempt_count":10,"finalization_next_attempt_at":null,"finalization_retry_code":"RESPONSE_UNKNOWN","finalization_retry_stage":"postgres_finalizer","manifest_state":"cleaning","operation_id":"00000000-0000-4000-8000-00000000000e","outcome":null,"receipt_available":false,"requested_at":"2026-08-23T12:00:00+00:00","residue":[],"root_kind":"tenant","state":"abandoned","stores":[{"child_kind":"d1.gateway_auth","complete":1,"failed":0,"total":1}]},"schema":{"$ref":"#/components/schemas/DeletionOperationStatus"}}},"description":"Per-store progress, residue, and whether the receipt exists. The operation id is the credential: authorization failures answer 404; a status-store outage answers 503."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The operation id is invalid, unknown, belongs to another root kind, or its projection is malformed."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The deletion status store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"security":[],"summary":"Read deletion progress","tags":["tenant"],"x-surfaces":["v1-session"]}},"/v1/triggers/{trigger_id}":{"delete":{"operationId":"triggers-delete-flat","parameters":[{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_trigger_updated_at":"2026-09-01T00:00:00.000Z"},"schema":{"$ref":"#/components/schemas/DeleteTriggerConfirmation"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"trigger.delete","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"kind":"trigger","trigger_id":"00000000-0000-4000-8000-000000000011","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The deletion is accepted as a durable operation. Removing a trigger tombstones its release at every destination it reached and removes every route that pointed at it, so the result appears on the operation rather than in this response."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request is missing a UUIDv4 Idempotency-Key or its body is not valid JSON."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot write this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow or trigger was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An accepted deletion already owns this trigger."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The trigger changed since the confirmed representation was read."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The confirmation body is invalid."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The confirmation body is required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a trigger by id (flat route, durable saga)","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"triggers-get-flat","parameters":[{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"sync"},"created_at":"2026-08-27T10:00:00Z","definition_revision":"3","deployed":true,"deployed_environments":[{"environment_name":"staging","webhook_url":"https://hooks.typenode.dev/staging/00000000-0000-4000-8000-000000000011"}],"id":"00000000-0000-4000-8000-000000000011","trigger_type":"webhook","updated_at":"2026-08-27T10:00:00Z","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Trigger"}}},"description":"The trigger with deployed_environments: every deployed environment and its endpoint (webhook URL and installed handoff, or live email address)."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a trigger by id (flat route, native handler)","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"triggers-update-flat","parameters":[{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"config":{"response_mode":"async"},"expected_definition_revision":3},"schema":{"$ref":"#/components/schemas/UpdateTrigger"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"async"},"created_at":"2026-08-27T10:00:00Z","definition_revision":"4","deployed":true,"id":"00000000-0000-4000-8000-000000000011","trigger_type":"webhook","updated_at":"2026-08-27T10:00:00Z","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Trigger"}}},"description":"The updated trigger. The edit is authoring-only; it reaches a deployed target when a later deploy publishes it."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot write this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow or trigger was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The trigger definition changed since expected_definition_revision was read."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request body is invalid."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update a trigger's saved definition by id (flat route)","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows":{"get":{"operationId":"workflows-list","parameters":[{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","name":"Lead enrichment","updated_at":"2026-06-02T00:00:00Z"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/WorkflowSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authority-revision-pinned page of workflow summaries."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The page cursor is malformed or belongs to a different query."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.read is required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List workflows","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"workflows-create","requestBody":{"content":{"application/json":{"example":{"name":"Lead enrichment"},"schema":{"$ref":"#/components/schemas/CreateWorkflow"}}},"required":false},"responses":{"201":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","name":"Lead enrichment","nodes":[],"updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Workflow"}}},"description":"The created workflow."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create a workflow","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}":{"delete":{"operationId":"workflows-delete","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_live_deployment_id":null,"expected_triggers":[],"expected_workflow_updated_at":"2026-08-14T10:00:00.000Z"},"schema":{"$ref":"#/components/schemas/DeleteWorkflowPrecondition"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"workflow.delete","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"kind":"workflow","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The admitted workflow-deletion operation. The workflow remains readable until its terminal receipt succeeds."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow id, Idempotency-Key, or deletion-precondition JSON is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.delete is required on this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or an enabled MCP binding blocks deletion."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow, its live deployment, or its triggers changed; read it again before deleting."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The deletion precondition does not match the required representation."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A deletion precondition is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority journal or operation status store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Admit workflow deletion","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"workflows-get","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","name":"Lead enrichment","nodes":[],"updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Workflow"}}},"description":"The workflow."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a workflow","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"patch":{"operationId":"workflows-update-metadata","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Required current workflow metadata ETag (\"workflow:<version>\"; a comma-separated list matches any current value), or \"*\" to assert that the workflow exists.","in":"header","name":"If-Match","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Renamed"},"schema":{"$ref":"#/components/schemas/UpdateWorkflowMetadata"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"id":"00000000-0000-4000-8000-0000000000d8","name":"Renamed"},"schema":{"$ref":"#/components/schemas/WorkflowMetadata"}}},"description":"The updated ETag-protected workflow metadata.","headers":{"ETag":{"description":"Strong ETag for this metadata-only workflow representation, derived from its monotonic version.","schema":{"example":"\"workflow:1\"","type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow id or workflow-metadata If-Match value is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.write is required on this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow does not exist."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Another workflow already has the requested name."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match does not match the workflow's current version."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow metadata request body is invalid."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"If-Match is required for this write and was not sent (RFC 6585)."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The metadata command could not complete."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update workflow metadata","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write","x-precondition":"revision"}},"/v1/workflows/{workflow_id}/access":{"get":{"operationId":"workflow-access-list","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Authority-revision-bound keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[{"capability_token":"workflow.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"}],"has_more":false,"next_cursor":null,"total_count":1},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/ResourceAccess"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"A revision-bound page of explicit resource relations."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authorization changed; restart pagination."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List explicit access relations for the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"},"post":{"operationId":"workflow-access-share","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"capability_token":"workflow.read","expires_at":null,"subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ShareResource"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"capability_token":"workflow.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The explicit resource-access relation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The subject, capability, environment, expiry, resource id, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.share and the authority being conferred are both required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource or subject does not exist in this tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or the exact relation already exists."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Share one capability on the resource","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/workflows/{workflow_id}/access/{relation_id}":{"delete":{"operationId":"workflow-access-revoke","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"deleted":true,"id":"00000000-0000-4000-8000-00000000000f"},"schema":{"$ref":"#/components/schemas/DeletedReceipt"}}},"description":"The access relation was durably revoked."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource, relation, or Idempotency-Key is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The idempotency key conflicts or another revoke is in flight."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store or edge fence is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Revoke one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"},"get":{"operationId":"workflow-access-get","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The explicit resource-access relation id.","in":"path","name":"relation_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"capability_token":"workflow.read","environment_id":null,"expires_at":null,"id":"00000000-0000-4000-8000-00000000000f","resource_id":"00000000-0000-4000-8000-0000000000d8","resource_type":"workflow","subject_id":"00000000-0000-4000-8000-000000000009","subject_kind":"role"},"schema":{"$ref":"#/components/schemas/ResourceAccess"}}},"description":"The exact explicit resource-access relation."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"workflow.share is required on the resource."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The resource-access relation does not exist on this resource."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get one explicit access relation","tags":["authorization"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"identity"}},"/v1/workflows/{workflow_id}/deployments":{"get":{"operationId":"deployments-list","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by state (e.g. `?status=live` for the live one).","in":"query","name":"status","required":false,"schema":{"type":"string"}},{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[],"has_more":false,"next_cursor":null,"total_count":0},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authority-revision-pinned page of deployments."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List deployments","tags":["deployments"],"x-surfaces":["v1-session"],"x-tier":"read"},"post":{"operationId":"deployments-create","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","expected_draft_revision":"7","expected_trigger_definition_revision":"3","publication_expires_at":null,"trigger_id":"00000000-0000-4000-8000-000000000011","trigger_state":"enabled"},"schema":{"$ref":"#/components/schemas/CreateDeployment"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","deployment":{"committed_at":null,"confirming_started_at":null,"control_outcome":null,"deployment_phase":"preparing","environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","expected_generation":0,"expected_sealed_release_id":null,"failure_code":null,"generation":null,"outcome":null,"receipt_id":null,"retryable":null,"safe_message":null,"sealed_release_id":null},"kind":"workflow.deploy","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"},{"at":"2026-08-27T10:00:00Z","name":"preparing"}],"operation_id":"00000000-0000-4000-8000-000000000071","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"in_progress","status_url":"/v1/operations/00000000-0000-4000-8000-000000000071","target":{"kind":"trigger","trigger_id":"00000000-0000-4000-8000-000000000011","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The deployment is accepted as a durable workflow.deploy operation before the release is compiled or activated. Read its outcome — deployed, unchanged, or failed — from GET /v1/operations/{operation_id}; the deployment member carries the phase reached so far and the release it committed. An exact replay of the same Idempotency-Key answers the same operation."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The deployment request is invalid or requires an environment."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot publish the workflow for the requested environment and publication expiry."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow, deployment environment, or requested workflow version was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The deployment environment is being deleted or a deploy is already in progress."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow cannot be deployed because its trigger, version, draft, configuration references, schedule, or generated code is invalid."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Deploy an exact draft revision","tags":["deployments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/deployments/{deployment_id}":{"get":{"operationId":"deployments-get","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The deployment id.","in":"path","name":"deployment_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-02T00:00:00Z","environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","id":"00000000-0000-4000-8000-0000000000d8","status":"live","version_id":"00000000-0000-4000-8000-0000000000d8","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Deployment"}}},"description":"The deployment."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a deployment","tags":["deployments"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/workflows/{workflow_id}/executions":{"get":{"operationId":"executions-list-by-workflow","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by one or more statuses. Repeated values use any-of (OR) semantics.","explode":true,"in":"query","name":"status","required":false,"schema":{"items":{"enum":["queued","running","paused","waiting","success","error","cancelled"],"type":"string"},"type":"array"},"style":"form"},{"description":"Filter to this workflow's executions created at or after this strict ISO datetime.","in":"query","name":"from","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Filter to this workflow's executions created at or before this strict ISO datetime.","in":"query","name":"to","required":false,"schema":{"format":"date-time","type":"string"}},{"description":"Page size (1-100, default 50).","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Execution-history keyset cursor.","in":"query","name":"after","required":false,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[{"created_at":"2026-06-02T00:00:00Z","duration_ms":4200,"ended_at":"2026-06-02T00:00:04.200Z","error":null,"id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":false,"started_at":"2026-06-02T00:00:00Z","status":"success","step_count":3,"trace_state":"complete","trace_unavailable_reason":null,"trigger_type":"webhook","workflow_id":"123e4567-e89b-42d3-a456-426614174000","workflow_version_id":"00000000-0000-4000-8000-000000000010"}],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExecutionSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of execution summaries."},"400":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"The workflow id, singleton query, limit, or cursor is invalid.","instance":"/v1/workflows/00000000-0000-4000-8000-0000000000d8/executions","status":400,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"oneOf":[{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"},{"additionalProperties":false,"properties":{"code":{"const":"BAD_REQUEST","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":400,"type":"integer"},"title":{"const":"Bad Request","type":"string"},"type":{"const":"https://typenode.ai/errors/bad-request","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}]}}},"description":"The workflow id, singleton query, limit, or cursor is invalid."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"422":{"content":{"application/problem+json":{"example":{"code":"VALIDATION_ERROR","detail":"A status or datetime filter is invalid.","instance":"/v1/workflows/00000000-0000-4000-8000-0000000000d8/executions","status":422,"title":"Validation Error","type":"https://typenode.ai/errors/validation-error"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"VALIDATION_ERROR","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":422,"type":"integer"},"title":{"const":"Validation Error","type":"string"},"type":{"const":"https://typenode.ai/errors/validation-error","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"A status or datetime filter is invalid."},"503":{"content":{"application/problem+json":{"example":{"code":"SERVICE_UNAVAILABLE","detail":"Execution history is temporarily unavailable.","instance":"/v1/workflows/00000000-0000-4000-8000-0000000000d8/executions","status":503,"title":"Service Unavailable","type":"https://typenode.ai/errors/service-unavailable"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"SERVICE_UNAVAILABLE","type":"string"},"detail":{"type":"string"},"instance":{"minLength":1,"type":"string"},"status":{"const":503,"type":"integer"},"title":{"const":"Service Unavailable","type":"string"},"type":{"const":"https://typenode.ai/errors/service-unavailable","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance"],"type":"object"}}},"description":"Execution history is temporarily unavailable.","headers":{"Retry-After":{"description":"Positive delta-seconds before retrying the temporarily unavailable operation.","schema":{"pattern":"^[1-9]\\d*$","type":"string"}}}},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List a workflow's executions","tags":["executions"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/workflows/{workflow_id}/metadata":{"get":{"operationId":"workflows-get-metadata","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"id":"00000000-0000-4000-8000-0000000000d8","name":"Example workflow"},"schema":{"$ref":"#/components/schemas/WorkflowMetadata"}}},"description":"The ETag-protected workflow metadata.","headers":{"ETag":{"description":"Strong ETag for this metadata-only workflow representation, derived from its monotonic version.","schema":{"example":"\"workflow:1\"","type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow does not exist or is not visible."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The authority store is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get workflow metadata for a conditional rename","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"}},"/v1/workflows/{workflow_id}/nodes":{"put":{"operationId":"workflows-replace-nodes","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"nodes":[]},"schema":{"$ref":"#/components/schemas/ReplaceNodes"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","name":"Lead enrichment","nodes":[],"updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Workflow"}}},"description":"The updated workflow."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Replace the node graph","tags":["workflows"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/nodes/{node_key}":{"patch":{"operationId":"workflows-patch-node","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The node key.","in":"path","name":"node_key","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"fields":{}},"schema":{"$ref":"#/components/schemas/PatchNode"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-01T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","name":"Lead enrichment","nodes":[],"updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/Workflow"}}},"description":"The updated workflow."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Patch a single node","tags":["workflows"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/run":{"post":{"operationId":"workflows-run","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 naming this exact delivery. Resending it with the same request answers the original decision without starting anything; with a different request it conflicts. Without it every request is a distinct delivery.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"input":{"n":5},"response_mode":"sync"},"schema":{"$ref":"#/components/schemas/RunRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":false,"output":{"doubled":10},"status":"success","workflow_version_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The synchronous terminal run result. A synchronous wait and an asynchronous dispatch both return 202."},"202":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":false,"pending_input":[{"input_json_schema":{"type":"object"},"node_key":"collect_input","requested_at":"2026-06-02T00:00:00Z","waiting_until":null}],"status":"waiting","workflow_version_id":"00000000-0000-4000-8000-000000000010"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The run was accepted but is waiting for input, or asynchronous dispatch returned its durable handle."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key was already used for a different request."},"410":{"content":{"application/problem+json":{"example":{"code":"REPLAY_RESULT_ARCHIVED","detail":"The original execution was accepted, but its retained result is no longer available.","details":{"disposition":"archived","execution_id":"00000000-0000-4000-8000-000000000002"},"instance":"/v1/workflows/00000000-0000-4000-8000-000000000001/run","status":410,"title":"Replay Result Archived","type":"https://typenode.ai/errors/replay-result-archived"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"REPLAY_RESULT_ARCHIVED","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/ReplayResultArchivedDetails"},"instance":{"minLength":1,"type":"string"},"status":{"const":410,"type":"integer"},"title":{"const":"Replay Result Archived","type":"string"},"type":{"const":"https://typenode.ai/errors/replay-result-archived","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}}},"description":"An exact replay of an accepted synchronous run whose retained result is no longer available. Nothing is started; `details` names the original execution."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Run the deployed version","tags":["executions"],"x-surfaces":["v1-session","deployed-command"],"x-tier":"write","security":[{"bearerAuth":[]},{"invocationKeyAuth":[]}]}},"/v1/workflows/{workflow_id}/steps":{"post":{"operationId":"workflows-steps-batch","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"operations":[{"code":"export default async (input) => ({ doubled: input.n * 2 });","node_key":"compute","op":"patch_node"}]},"schema":{"$ref":"#/components/schemas/StepBatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"applied":{"nodes":[],"version":4},"diagnostics":null,"workflow_version_id":"00000000-0000-4000-8000-000000000010"},"schema":{"$ref":"#/components/schemas/WorkflowStepBatchResult"}}},"description":"The batch result: applied ops, new version id, and lint diagnostics."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Version conflict — the workflow was modified concurrently; refetch and retry."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An operation failed state validation — per-op diagnostics in the problem's errors[] (pointer = /operations/<i>/<field>)."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Apply an operation batch atomically","tags":["workflows"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/test-run":{"post":{"operationId":"workflows-test-run","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 naming this exact delivery. Resending it with the same request answers the original decision without starting anything; with a different request it conflicts. Without it every request is a distinct delivery.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"input":{"n":5}},"schema":{"$ref":"#/components/schemas/RunRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":true,"output":{"doubled":10},"status":"success","workflow_version_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The synchronous terminal test-run result. A synchronous wait and an asynchronous dispatch both return 202."},"202":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":true,"pending_input":[{"input_json_schema":{"type":"object"},"node_key":"collect_input","requested_at":"2026-06-02T00:00:00Z","waiting_until":null}],"status":"waiting","workflow_version_id":"00000000-0000-4000-8000-000000000010"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The run was accepted but is waiting for input, or asynchronous dispatch returned its durable handle."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key was already used for a different request."},"410":{"content":{"application/problem+json":{"example":{"code":"REPLAY_RESULT_ARCHIVED","detail":"The original execution was accepted, but its retained result is no longer available.","details":{"disposition":"archived","execution_id":"00000000-0000-4000-8000-000000000002"},"instance":"/v1/workflows/00000000-0000-4000-8000-000000000001/run","status":410,"title":"Replay Result Archived","type":"https://typenode.ai/errors/replay-result-archived"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"REPLAY_RESULT_ARCHIVED","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/ReplayResultArchivedDetails"},"instance":{"minLength":1,"type":"string"},"status":{"const":410,"type":"integer"},"title":{"const":"Replay Result Archived","type":"string"},"type":{"const":"https://typenode.ai/errors/replay-result-archived","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}}},"description":"An exact replay of an accepted synchronous run whose retained result is no longer available. Nothing is started; `details` names the original execution."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Run the current draft as a test run (no deployment required)","tags":["executions"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/triggers":{"get":{"operationId":"triggers-list","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"data":[],"has_more":false,"next_cursor":null},"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]}},"required":["data","has_more","next_cursor"],"type":"object"}}},"description":"A page of triggers."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List triggers","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"read"},"post":{"operationId":"triggers-create","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"sync"},"trigger_type":"webhook","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/CreateTrigger"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"sync"},"created_at":"2026-08-27T10:00:00Z","definition_revision":"1","deployed":false,"id":"00000000-0000-4000-8000-000000000011","trigger_type":"webhook","updated_at":"2026-08-27T10:00:00Z","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Trigger"}}},"description":"The created trigger."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Create a trigger","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/triggers/{trigger_id}":{"delete":{"operationId":"triggers-delete","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_trigger_updated_at":"2026-09-01T00:00:00.000Z"},"schema":{"$ref":"#/components/schemas/DeleteTriggerConfirmation"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"trigger.delete","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"kind":"trigger","trigger_id":"00000000-0000-4000-8000-000000000011","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The deletion is accepted as a durable operation. Removing a trigger tombstones its release at every destination it reached and removes every route that pointed at it, so the result appears on the operation rather than in this response."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request is missing a UUIDv4 Idempotency-Key or its body is not valid JSON."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot write this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow or trigger was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An accepted deletion already owns this trigger."},"412":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The trigger changed since the confirmed representation was read."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The confirmation body is invalid."},"428":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The confirmation body is required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Delete a trigger (durable saga)","tags":["triggers"],"x-surfaces":["v1-session"],"x-tier":"destructive"},"get":{"operationId":"triggers-get","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"sync"},"created_at":"2026-08-27T10:00:00Z","definition_revision":"3","deployed":true,"id":"00000000-0000-4000-8000-000000000011","trigger_type":"webhook","updated_at":"2026-08-27T10:00:00Z","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Trigger"}}},"description":"The trigger."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a trigger","tags":["triggers"],"x-surfaces":["v1-session"],"x-tier":"read"},"patch":{"operationId":"triggers-update","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"config":{"response_mode":"async"},"expected_definition_revision":3},"schema":{"$ref":"#/components/schemas/UpdateTrigger"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"config":{"auth":{"kind":"none"},"response_mode":"async"},"created_at":"2026-08-27T10:00:00Z","definition_revision":"4","deployed":true,"id":"00000000-0000-4000-8000-000000000011","trigger_type":"webhook","updated_at":"2026-08-27T10:00:00Z","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/Trigger"}}},"description":"The updated trigger. The edit is authoring-only; it reaches a deployed target when a later deploy publishes it."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot write this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow or trigger was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The trigger definition changed since expected_definition_revision was read."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request body is invalid."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Update a trigger's saved definition","tags":["triggers"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/triggers/{trigger_id}/environments/{environment_id}/state":{"put":{"operationId":"trigger-state-set","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The trigger id.","in":"path","name":"trigger_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The environment id this control applies to.","in":"path","name":"environment_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"environment_name":"test","state":"paused"},"schema":{"$ref":"#/components/schemas/SetTriggerState"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"trigger.control","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000070","outcome_code":null,"proof_expires_at":"2026-08-27T10:05:00Z","retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000070","target":{"kind":"trigger","trigger_id":"00000000-0000-4000-8000-000000000011","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"The control instruction is accepted as a durable operation. Its ordering against a concurrent deployment is decided by the trigger's own sequencer, not by arrival time, so the operation reports whether it was applied, ignored as older, already current, or lost to a tombstone."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request is missing a UUIDv4 Idempotency-Key or its body is not valid JSON."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller cannot publish this workflow."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow, trigger, or environment was not found."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The trigger has no active release in that environment, or an accepted deletion already owns it."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request body is invalid."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Pause or resume a trigger in one environment","tags":["triggers"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/unpublish":{"get":{"operationId":"workflows-unpublish-report","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"UUID of the exact Environment incarnation.","in":"query","name":"environment_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Name of the same Environment incarnation.","in":"query","name":"environment_name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"affected_tool_count":1,"busy":{"launch_pending":0,"launch_unknown":0,"paused":0,"queued":0,"running":0,"waiting":0},"can_publish_again":true,"environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","installed_release":{"generation":7,"sealed_release_id":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","trigger_state":"paused"},"lifecycle_pending":false,"request_id":"00000000-0000-4000-8000-000000000072","retains":["workflow","versions","bindings","shared_configuration","credentials","other_deployments"],"runtime_consequence":"Stop new Runs in this Environment and remove its trigger projections. Retain authored resources and other Deployments. Publish again to restore this installation.","stops_new_admission":true,"workflow_id":"00000000-0000-4000-8000-0000000000d8","workflow_name":"Order intake"},"schema":{"$ref":"#/components/schemas/WorkflowUnpublishReport"}}},"description":"An authorized current installed release, informational Run blockers, retained-resource consequences and stable client request identity. This read performs no cleanup."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The target is unknown or the caller lacks current exact Workflow/Environment read and Publish authority."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The exact Environment incarnation or name changed."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The exact target query is invalid."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The installed state cannot currently be observed."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Review Unpublish consequences for an exact Environment","tags":["deployments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"},"post":{"operationId":"workflows-unpublish","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"A caller-generated UUID identifying this exact semantic command.","in":"header","name":"Idempotency-Key","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","expected_generation":7,"expected_sealed_release_id":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/UnpublishWorkflow"}}},"required":true},"responses":{"202":{"content":{"application/json":{"example":{"actor":{"actor_kind":"member"},"completed_at":null,"created_at":"2026-08-27T10:00:00Z","kind":"workflow.unpublish","milestones":[{"at":"2026-08-27T10:00:00Z","name":"admitted"}],"operation_id":"00000000-0000-4000-8000-000000000073","outcome_code":null,"proof_expires_at":null,"retry_after":null,"state":"queued","status_url":"/v1/operations/00000000-0000-4000-8000-000000000073","target":{"kind":"workflow","workflow_id":"00000000-0000-4000-8000-0000000000d8"},"terminal":false,"unpublish":{"completion":null,"environment_id":"00000000-0000-4000-8000-000000000002","environment_name":"test","expected_generation":7,"expected_sealed_release_id":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","failure_code":null,"remediation":null,"request_id":"00000000-0000-4000-8000-000000000072","state":"queued"},"updated_at":"2026-08-27T10:00:00Z"},"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Accepted durable workflow.unpublish Operation. Acceptance is not completion: poll status_url for required removal evidence. Idempotency-Key is the client request identity; operation_id belongs to the server. Current authorization precedes exact replay, including after republishing. Busy refusal leaves the installation unchanged and requires a new request after finishing or explicitly cancelling accepted Runs."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Idempotency-Key must be a UUID v4."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The existing high-risk policy refuses this credential."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The target is unknown or current exact-target authority is absent."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Nothing is published, the reviewed target changed, identity reuse conflicts, or a lifecycle operation is pending."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Reviewed Environment, release or generation is invalid."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Acceptance is unavailable; retry the same request identity and reviewed target."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Unpublish one reviewed Workflow installation","tags":["deployments"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"destructive","x-ladder":"consequences"}},"/v1/workflows/{workflow_id}/versions":{"get":{"operationId":"versions-list","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Filter by validation status (e.g. valid).","in":"query","name":"status","required":false,"schema":{"type":"string"}},{"description":"Governed keyset cursor.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Page size (1-100); `?limit=1` for the newest.","in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"authority_revision":7,"data":[],"has_more":false,"next_cursor":null,"total_count":0},"schema":{"properties":{"authority_revision":{"minimum":1,"type":"integer"},"data":{"items":{"$ref":"#/components/schemas/WorkflowVersion"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"minLength":1,"type":["string","null"]},"total_count":{"minimum":0,"type":"integer"}},"required":["data","has_more","next_cursor","total_count","authority_revision"],"type":"object"}}},"description":"An authority-revision-pinned page of versions."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"List versions","tags":["versions"],"x-surfaces":["v1-session"],"x-tier":"read"},"post":{"operationId":"versions-create","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_draft_updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/ValidateWorkflowVersion"}}},"required":false},"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-02T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","validation_status":"valid","version":3,"workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/WorkflowVersion"}}},"description":"The existing version when the current draft is unchanged."},"201":{"content":{"application/json":{"example":{"created_at":"2026-06-02T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","validation_status":"valid","version":3,"workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/WorkflowVersion"}}},"description":"The created version."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request body is malformed JSON."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The caller lacks workflow.write."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The workflow or requested environment does not exist in the caller's tenant."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The draft changed since expected_draft_updated_at."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A non-empty request body is not JSON."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request body or current workflow is invalid."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The requested environment's validation dependencies are unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Snapshot a version","tags":["versions"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/versions/validate":{"post":{"operationId":"workflows-validate","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_draft_updated_at":"2026-06-02T00:00:00Z"},"schema":{"$ref":"#/components/schemas/ValidateWorkflowVersion"}}},"required":false},"responses":{"200":{"content":{"application/json":{"example":{"cached":false,"errors":[{"code":"MISSING_OUTPUT_NODE","field":"output","message":"Every workflow must have exactly one output node.","severity":"error"}],"nodes":null,"requirements":null,"timestamp":"2026-06-02T00:00:00.000Z","valid":false,"validation_status":"invalid","version_id":null,"version_number":null,"warnings":[]},"schema":{"$ref":"#/components/schemas/WorkflowValidationResult"}}},"description":"The raw validation snapshot. MCP reshapes this response into its lean tool vocabulary."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Validate the current draft","tags":["versions"],"x-surfaces":["v1-session","authoring-mcp"],"x-tier":"write"}},"/v1/workflows/{workflow_id}/versions/{version_id}":{"get":{"operationId":"versions-get","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The version id.","in":"path","name":"version_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"created_at":"2026-06-02T00:00:00Z","id":"00000000-0000-4000-8000-0000000000d8","validation_status":"valid","version":3,"workflow_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/WorkflowVersion"}}},"description":"The version."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Get a version","tags":["versions"],"x-surfaces":["v1-session"],"x-tier":"read"}},"/v1/workflows/{workflow_id}/versions/{version_id}/run":{"post":{"operationId":"versions-run","parameters":[{"description":"The workflow id.","in":"path","name":"workflow_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"The version id.","in":"path","name":"version_id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional caller-generated UUID v4 naming this exact delivery. Resending it with the same request answers the original decision without starting anything; with a different request it conflicts. Without it every request is a distinct delivery.","in":"header","name":"Idempotency-Key","required":false,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"input":{"n":5}},"schema":{"$ref":"#/components/schemas/RunRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":true,"output":{"doubled":10},"status":"success","workflow_version_id":"00000000-0000-4000-8000-0000000000d8"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The synchronous terminal test-run result. A synchronous wait and an asynchronous dispatch both return 202."},"202":{"content":{"application/json":{"example":{"execution_id":"99999999-aaaa-4bbb-8ccc-dddddddddddd","is_test_run":true,"pending_input":[{"input_json_schema":{"type":"object"},"node_key":"collect_input","requested_at":"2026-06-02T00:00:00Z","waiting_until":null}],"status":"waiting","workflow_version_id":"00000000-0000-4000-8000-000000000010"},"schema":{"$ref":"#/components/schemas/RunResult"}}},"description":"The run was accepted but is waiting for input, or asynchronous dispatch returned its durable handle."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The Idempotency-Key was already used for a different request."},"410":{"content":{"application/problem+json":{"example":{"code":"REPLAY_RESULT_ARCHIVED","detail":"The original execution was accepted, but its retained result is no longer available.","details":{"disposition":"archived","execution_id":"00000000-0000-4000-8000-000000000002"},"instance":"/v1/workflows/00000000-0000-4000-8000-000000000001/run","status":410,"title":"Replay Result Archived","type":"https://typenode.ai/errors/replay-result-archived"},"schema":{"additionalProperties":false,"properties":{"code":{"const":"REPLAY_RESULT_ARCHIVED","type":"string"},"detail":{"type":"string"},"details":{"$ref":"#/components/schemas/ReplayResultArchivedDetails"},"instance":{"minLength":1,"type":"string"},"status":{"const":410,"type":"integer"},"title":{"const":"Replay Result Archived","type":"string"},"type":{"const":"https://typenode.ai/errors/replay-result-archived","format":"uri","type":"string"}},"required":["type","title","status","code","detail","instance","details"],"type":"object"}}},"description":"An exact replay of an accepted synchronous run whose retained result is no longer available. Nothing is started; `details` names the original execution."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Run a specific version (test run)","tags":["executions"],"x-surfaces":["v1-session"],"x-tier":"write"}},"/v1/workspace/browser-page-overrides":{"get":{"operationId":"workspace-browser-page-overrides-get","responses":{"200":{"content":{"application/json":{"example":{"overrides":{"app/home":true,"settings/connections":false}},"schema":{"$ref":"#/components/schemas/ReadyBrowserPageOverrides"}}},"description":"Sparse presentation overrides."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read this workspace's browser page visibility overrides","tags":["workspace"],"x-surfaces":["v1-session"]}},"/v1/workspace/member-capabilities":{"get":{"operationId":"workspace-member-capabilities-get","responses":{"200":{"content":{"application/json":{"example":{"capabilities":{"billing.read":true,"execution.read":true,"execution.write":true,"skill.invoke":true,"workflow.invoke":true}},"schema":{"$ref":"#/components/schemas/WorkspaceMemberCapabilities"}}},"description":"The capabilities the member can use after product policy and their live grants."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"A signed-in workspace member is required."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Product policy or authorization is temporarily unavailable."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read the signed-in member's capabilities in this workspace","tags":["workspace"],"x-surfaces":["v1-session"]}},"/v1/workspace/product-policy":{"get":{"operationId":"workspace-product-policy-get","responses":{"200":{"content":{"application/json":{"example":{"capabilities":{"billing.read":true,"workflow.read":true},"ordinary_product_ready":true,"state":"ready","tools":["start","list_workflows"]},"schema":{"$ref":"#/components/schemas/WorkspaceProductPolicy"}}},"description":"The workspace's released capabilities before role authority."},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Authentication required."},"default":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An error occurred (RFC 9457 problem+json)."}},"summary":"Read this workspace's current product capability policy","tags":["workspace"],"x-surfaces":["v1-session"]}}},"security":[{"bearerAuth":[]}],"servers":[{"description":"Production","url":"https://api.typenode.ai"},{"description":"Staging","url":"https://api.staging.typenode.ai"}]}