{"openapi":"3.0.3","info":{"title":"Draftbase API","version":"7.36.0"},"components":{"schemas":{}},"paths":{"/orgs/current":{"get":{"summary":"Get the active org","tags":["orgs"],"description":"Returns the org tied to the current access token.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"name":{"type":"string"},"mediaSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxWidth":{"type":"number"},"maxHeight":{"type":"number"},"maxUploadBytes":{"type":"number"}},"required":["enabled","maxWidth","maxHeight","maxUploadBytes"],"additionalProperties":false},"locales":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"}},"required":["_id","name","createdAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/name":{"patch":{"summary":"Rename the active org","tags":["orgs"],"description":"Updates the org's display name.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"name":{"type":"string"},"mediaSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxWidth":{"type":"number"},"maxHeight":{"type":"number"},"maxUploadBytes":{"type":"number"}},"required":["enabled","maxWidth","maxHeight","maxUploadBytes"],"additionalProperties":false},"locales":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"}},"required":["_id","name","createdAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/media-settings":{"get":{"summary":"Get media settings","tags":["orgs"],"description":"Returns the org's image processing limits (max dimensions, max upload size).","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxWidth":{"type":"number"},"maxHeight":{"type":"number"},"maxUploadBytes":{"type":"number"}},"required":["enabled","maxWidth","maxHeight","maxUploadBytes"],"additionalProperties":false}}}}}},"patch":{"summary":"Update media settings","tags":["orgs"],"description":"Updates the org's image processing limits.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxWidth":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":8000},"maxHeight":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":8000},"maxUploadBytes":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":104857600}},"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxWidth":{"type":"number"},"maxHeight":{"type":"number"},"maxUploadBytes":{"type":"number"}},"required":["enabled","maxWidth","maxHeight","maxUploadBytes"],"additionalProperties":false}}}}}}},"/orgs/locales":{"get":{"summary":"Get locales","tags":["orgs"],"description":"Returns the org's configured content locales.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"locales":{"type":"array","items":{"type":"string"}}},"required":["locales"],"additionalProperties":false}}}}}},"patch":{"summary":"Update locales","tags":["orgs"],"description":"Replaces the org's configured content locales.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"locales":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["locales"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"locales":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["locales"],"additionalProperties":false}}}}}}},"/orgs/environments":{"get":{"summary":"List environments","tags":["orgs"],"description":"Returns the org's created environments. Every org starts with just \"production\".","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string"}},"mainEnvironment":{"type":"string"}},"required":["environments","mainEnvironment"],"additionalProperties":false}}}}}},"post":{"summary":"Create an environment","tags":["orgs"],"description":"Adds a new environment id the org can scope templates/entries to. Templates and entries can only be created in environments that exist here.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":40,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"required":["id"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string"}},"mainEnvironment":{"type":"string"}},"required":["environments","mainEnvironment"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/environments/{id}":{"delete":{"summary":"Delete an environment","tags":["orgs"],"description":"Removes an environment from the org's list. The main environment can never be deleted; existing templates/entries in the deleted environment are left untouched (just no longer offered in the switcher).","parameters":[{"schema":{"type":"string","minLength":1},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string"}},"mainEnvironment":{"type":"string"}},"required":["environments","mainEnvironment"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/environments/main":{"patch":{"summary":"Set the main environment","tags":["orgs"],"description":"Designates which existing environment is the org's main one. The main environment can never be deleted and can never be the target of an environment sync.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1}},"required":["id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"environments":{"type":"array","items":{"type":"string"}},"mainEnvironment":{"type":"string"}},"required":["environments","mainEnvironment"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/api-keys":{"get":{"summary":"List API keys","tags":["orgs"],"description":"Returns the org's management/preview/delivery API keys, hashes omitted.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"name":{"type":"string"},"scope":{"type":"string","enum":["delivery","preview","management"]},"environment":{"type":"string"},"revoked":{"type":"boolean"},"lastUsedAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["_id","orgId","name","scope","environment","revoked","createdAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create an API key","tags":["orgs"],"description":"Generates a new delivery-, preview-, or management-scoped API key for an environment. Delivery keys serve only published content (shared-cacheable); preview keys serve the same read-only delivery API but including unpublished drafts and live edits, for staging/local rendering before publish (never cached); management keys are read/write, any status. The raw key is returned once.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"scope":{"type":"string","enum":["delivery","preview","management"]},"environment":{"type":"string","minLength":1,"default":"production","description":"The only environment this key may address. Must already exist on the org."}},"required":["name","scope"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"apiKey":{"type":"string"}},"required":["id","apiKey"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/api-keys/{id}/revoke":{"post":{"summary":"Revoke an API key","tags":["orgs"],"description":"Revokes an API key; it stops authenticating immediately.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/api-keys/{id}":{"delete":{"summary":"Delete an API key","tags":["orgs"],"description":"Permanently deletes an API key.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/mcp-sessions":{"get":{"summary":"List MCP authentication sessions","tags":["orgs"],"description":"Lists live MCP OAuth connections for the org, newest first. Owners and admins see every member's sessions; other roles see only their own.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"clientName":{"type":"string"},"userEmail":{"type":"string"},"envIds":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"expiresAt":{"type":"string"}},"required":["_id","clientName","userEmail","createdAt","expiresAt"],"additionalProperties":false}}}}}}}},"/orgs/mcp-sessions/{id}":{"delete":{"summary":"Revoke an MCP authentication session","tags":["orgs"],"description":"Deletes the session's refresh token, so the MCP client can no longer renew access. Its current access token stays valid until it expires (at most 15 minutes). Owners and admins can revoke any member's session; other roles only their own.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/audit-logs":{"get":{"summary":"List org audit log entries","tags":["orgs"],"description":"Enterprise-only: lists recorded org actions (member changes, entry publish/delete), newest first.","parameters":[{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":200,"default":50},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"skip","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"actorUserId":{"type":"string"},"actorApiKeyId":{"type":"string"},"action":{"type":"string"},"targetType":{"type":"string"},"targetId":{"type":"string"},"metadata":{"type":"object","additionalProperties":{},"nullable":true},"createdAt":{"type":"string"}},"required":["_id","action","targetType","targetId","createdAt"],"additionalProperties":false}}}}}}}},"/orgs/ip-allowlist":{"get":{"summary":"List IP allowlist entries","tags":["orgs"],"description":"Enterprise-only: returns the org's configured IP allowlist.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"cidr":{"type":"string"},"label":{"type":"string"},"createdByUserId":{"type":"string"},"createdAt":{"type":"string"}},"required":["_id","cidr","createdAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Add an IP allowlist entry","tags":["orgs"],"description":"Enterprise-only: adds an IPv4/IPv6 address or CIDR range to the org's allowlist. Once the first entry is added, all management API requests are restricted to listed addresses.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cidr":{"type":"string","pattern":"^(\\d{1,3}\\.){3}\\d{1,3}(\\/\\d{1,2})?$|^[0-9a-fA-F:]+(\\/\\d{1,3})?$"},"label":{"type":"string","minLength":1}},"required":["cidr"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"cidr":{"type":"string"},"label":{"type":"string"},"createdByUserId":{"type":"string"},"createdAt":{"type":"string"}},"required":["_id","cidr","createdAt"],"additionalProperties":false}}}}}}},"/orgs/ip-allowlist/{id}":{"delete":{"summary":"Remove an IP allowlist entry","tags":["orgs"],"description":"Enterprise-only: removes an entry from the org's IP allowlist.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/orgs/sso":{"get":{"summary":"Get the org's SSO connection","tags":["orgs"],"description":"Enterprise-only: returns the org's OIDC connection config, secret omitted.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"slug":{"type":"string"},"issuer":{"type":"string"},"clientId":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","slug","issuer","clientId","enabled","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"put":{"summary":"Create or replace the org's SSO connection","tags":["orgs"],"description":"Enterprise-only: configures the org's OIDC identity provider. Members log in via /auth/sso/:slug/login, and must already have an active or pending membership in this org.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"maxLength":60,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"issuer":{"type":"string","format":"uri"},"clientId":{"type":"string","minLength":1},"clientSecret":{"type":"string","minLength":1},"enabled":{"type":"boolean","default":true}},"required":["slug","issuer","clientId","clientSecret"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"slug":{"type":"string"},"issuer":{"type":"string"},"clientId":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","slug","issuer","clientId","enabled","createdAt","updatedAt"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Remove the org's SSO connection","tags":["orgs"],"description":"Enterprise-only: deletes the org's OIDC connection config.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/environments/sync":{"post":{"summary":"Sync one environment into another","tags":["environments"],"description":"Overwrites the target environment's templates and entries with a copy of the source environment's. Never allowed to target production.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sourceEnvId":{"type":"string","minLength":1},"targetEnvId":{"type":"string","minLength":1}},"required":["sourceEnvId","targetEnvId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"templatesSynced":{"type":"number"},"entriesSynced":{"type":"number"}},"required":["templatesSynced","entriesSynced"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/templates":{"get":{"summary":"List templates","tags":["templates"],"description":"Returns all templates in the active org and environment.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"name":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","richText","number","boolean","date","media","reference","json"]},"required":{"type":"boolean"},"localized":{"type":"boolean"},"helpText":{"type":"string"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minLength":{"type":"number"},"maxLength":{"type":"number"},"multiline":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"referenceTemplateId":{"type":"string"},"list":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"pattern":{"type":"string","maxLength":200},"patternMessage":{"type":"string"},"isSlug":{"type":"boolean"}},"required":["key","label","type"],"additionalProperties":false}},"titleField":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","name","fields","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create a template","tags":["templates"],"description":"Creates a new template with the given field schema; the ID is derived from the name.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","richText","number","boolean","date","media","reference","json"]},"required":{"type":"boolean"},"localized":{"type":"boolean"},"helpText":{"type":"string"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minLength":{"type":"number"},"maxLength":{"type":"number"},"multiline":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"referenceTemplateId":{"type":"string"},"list":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"pattern":{"type":"string","maxLength":200},"patternMessage":{"type":"string"},"isSlug":{"type":"boolean"}},"required":["key","label","type"],"additionalProperties":false},"minItems":1},"titleField":{"type":"string"},"envId":{"type":"string","default":"production"}},"required":["name","fields"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/templates/{id}":{"get":{"summary":"Get a template","tags":["templates"],"description":"Returns a single template by ID, including its field schema.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"name":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","richText","number","boolean","date","media","reference","json"]},"required":{"type":"boolean"},"localized":{"type":"boolean"},"helpText":{"type":"string"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minLength":{"type":"number"},"maxLength":{"type":"number"},"multiline":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"referenceTemplateId":{"type":"string"},"list":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"pattern":{"type":"string","maxLength":200},"patternMessage":{"type":"string"},"isSlug":{"type":"boolean"}},"required":["key","label","type"],"additionalProperties":false}},"titleField":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","name","fields","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"patch":{"summary":"Update a template","tags":["templates"],"description":"Updates a template's name and/or field schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","richText","number","boolean","date","media","reference","json"]},"required":{"type":"boolean"},"localized":{"type":"boolean"},"helpText":{"type":"string"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minLength":{"type":"number"},"maxLength":{"type":"number"},"multiline":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"referenceTemplateId":{"type":"string"},"list":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"pattern":{"type":"string","maxLength":200},"patternMessage":{"type":"string"},"isSlug":{"type":"boolean"}},"required":["key","label","type"],"additionalProperties":false},"minItems":1},"titleField":{"type":"string","nullable":true}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"name":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["text","richText","number","boolean","date","media","reference","json"]},"required":{"type":"boolean"},"localized":{"type":"boolean"},"helpText":{"type":"string"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"minLength":{"type":"number"},"maxLength":{"type":"number"},"multiline":{"type":"boolean"},"min":{"type":"number"},"max":{"type":"number"},"referenceTemplateId":{"type":"string"},"list":{"type":"boolean"},"options":{"type":"array","items":{"type":"string"}},"pattern":{"type":"string","maxLength":200},"patternMessage":{"type":"string"},"isSlug":{"type":"boolean"}},"required":["key","label","type"],"additionalProperties":false}},"titleField":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","name","fields","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete a template","tags":["templates"],"description":"Deletes a template, rejected if any entries still reference it.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/mdx-components":{"get":{"summary":"List MDX components","tags":["mdx-components"],"description":"Returns the org's registered MDX components with their prop schemas.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"props":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","props","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create an MDX component","tags":["mdx-components"],"description":"Registers a new MDX component with a unique key and prop schema for use in entry bodies.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","pattern":"^[A-Z][A-Za-z0-9]*$"},"label":{"type":"string","minLength":1},"description":{"type":"string"},"props":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false},"default":[]}},"required":["key","label"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/mdx-components/{id}":{"get":{"summary":"Get an MDX component","tags":["mdx-components"],"description":"Returns a single MDX component by ID.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"props":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","props","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"patch":{"summary":"Update an MDX component","tags":["mdx-components"],"description":"Updates an MDX component's label, description, and/or prop schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1},"description":{"type":"string"},"props":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false}}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"props":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["name","type"],"additionalProperties":false}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","props","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete an MDX component","tags":["mdx-components"],"description":"Deletes a registered MDX component.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries":{"get":{"summary":"List entries","tags":["entries"],"description":"Returns entries in the active org and environment, optionally filtered by template, locale, status, or a search across the entry's string fields (`search`, ranked by relevance; `mode=semantic` embeds the query and matches by meaning instead of keywords). Filter on individual fields with `fields.<key>=value` (exact match), `fields.<key>[in]=a,b` (matches any), a comparison operator for `number`/`date` fields (`fields.<key>[gt|gte|lt|lte|ne]=value`, combine `[gte]`/`[lte]` on the same key for a range), or `fields.<key>[ieq]=value` for a case-insensitive exact match on a text field. Paginated via limit/skip. Sortable via sortBy (a fixed key: type/locale/status/updatedAt/createdAt/publishedAt/version/id, or any template field key) and sortDir; overrides the default (search relevance, else most recently updated). `entryLinkFields=key1,key2` (with `include`) adds those keys onto each `entryLinks` target's `fields`.","parameters":[{"schema":{"type":"string"},"in":"query","name":"templateId","required":false},{"schema":{"type":"string"},"in":"query","name":"locale","required":false},{"schema":{"type":"string","enum":["draft","published","updated","archived"]},"in":"query","name":"status","required":false},{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"integer","minimum":0,"maximum":5},"in":"query","name":"include","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"entryLinkFields","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["text","semantic"],"default":"text"},"in":"query","name":"mode","required":false},{"schema":{"type":"string"},"in":"query","name":"sortBy","required":false},{"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"in":"query","name":"sortDir","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"skip","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}},"total":{"type":"number"}},"required":["items","total"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"post":{"summary":"Create an entry","tags":["entries"],"description":"Creates a new draft entry for a template, validating fields against its schema.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"templateId":{"type":"string"},"locale":{"type":"string","minLength":1},"envId":{"type":"string","default":"production"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"groupId":{"type":"string"}},"required":["templateId","locale","fields"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/fields/{key}/distinct":{"get":{"summary":"List distinct values for a template field","tags":["entries"],"description":"Returns the distinct set of values stored in `fields.<key>` across entries of the given template, in the active org and environment. Used to populate a filter's value picker.","parameters":[{"schema":{"type":"string"},"in":"query","name":"templateId","required":true},{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"string","pattern":"^[a-zA-Z0-9_]+$"},"in":"path","name":"key","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"values":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]}}},"required":["values"],"additionalProperties":false}}}}}}},"/entries/{id}":{"get":{"summary":"Get an entry","tags":["entries"],"description":"Returns a single entry by ID, optionally resolving reference/media fields via `include`, and its sibling locales via `locales`. `entryLinkFields=key1,key2` adds those keys onto each `entryLinks` target's `fields`.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"integer","minimum":0,"maximum":5},"in":"query","name":"include","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"entryLinkFields","required":false},{"schema":{"type":"boolean"},"in":"query","name":"locales","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"patch":{"summary":"Update an entry","tags":["entries"],"description":"Replaces an entry's fields, validating against its template schema, and records the prior version as a revision. A no-op returning the entry unchanged when fields are identical.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{}}},"required":["fields"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete an entry","tags":["entries"],"description":"Permanently deletes an entry. Only unpublished entries (draft/archived) can be deleted — unpublish a published/updated entry first.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["STILL_REFERENCED"]},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"}},"required":["id","templateId","title"],"additionalProperties":false}}},"required":["error","code","references"],"additionalProperties":false}}}}}}},"/entries/{id}/revisions":{"get":{"summary":"List entry revisions","tags":["entries"],"description":"Returns prior versions of an entry's fields, newest first.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"entryId":{"type":"string"},"version":{"type":"number"},"fields":{"type":"object","additionalProperties":{}},"status":{"type":"string","enum":["draft","published","updated","archived"]},"createdAt":{"type":"string"},"createdByName":{"type":"string"}},"required":["_id","entryId","version","fields","status","createdAt"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/{id}/rollback/{version}":{"post":{"summary":"Roll back an entry","tags":["entries"],"description":"Restores an entry's fields to a prior revision version, recorded as a new version. A no-op returning the entry unchanged when the target version's fields already match.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"number"},"in":"path","name":"version","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/{id}/discard":{"post":{"summary":"Discard unpublished changes","tags":["entries"],"description":"Reverts an entry with unpublished changes back to its last published fields and status, recording the discarded state as a revision. A no-op returning the entry unchanged when there is nothing to discard.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/{id}/status":{"patch":{"summary":"Set entry status","tags":["entries"],"description":"Transitions an entry between draft, published, updated, and archived, dispatching lifecycle webhooks for status changes. An optional `publishedAt` sets the entry's publish date on its first transition into \"published\" (for imports preserving a source system's original date); omit it to use the current time.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["draft","published","updated","archived"]},"publishedAt":{"type":"string","format":"date-time"}},"required":["status"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/batch-status":{"post":{"summary":"Set status on multiple entries","tags":["entries"],"description":"Transitions each given entry to the same status, in one request instead of one per entry. Reports success/failure per id — a validation failure on one entry doesn't block the rest.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["draft","published","updated","archived"]},"publishedAt":{"type":"string","format":"date-time"},"ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":100}},"required":["status","ids"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"ok":{"type":"boolean"},"code":{"type":"string"},"error":{"type":"string"},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"}},"required":["id","templateId","title"],"additionalProperties":false}}},"required":["id","ok"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/{id}/schedule":{"post":{"summary":"Schedule an entry to publish","tags":["entries"],"description":"Schedules a draft/updated entry to automatically publish at the given time (ISO 8601), via EventBridge Scheduler. Validates required fields up front. Re-scheduling replaces any existing schedule for this entry.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"publishAt":{"type":"string","format":"date-time"}},"required":["publishAt"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Cancel a scheduled publish","tags":["entries"],"description":"Cancels a pending scheduled publish for an entry, if one is set.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/{id}/tags":{"patch":{"summary":"Add entry tags","tags":["entries"],"description":"Merges the given tags into an entry's existing tag list.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"},"default":[]},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"scheduledPublishAt":{"type":"string"},"updatedByName":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/batch-tags":{"post":{"summary":"Add tags to multiple entries","tags":["entries"],"description":"Merges the given tags into each entry's existing tag list, in one request instead of one per entry. Reports success/failure per id.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":100}},"required":["tags","ids"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"ok":{"type":"boolean"},"code":{"type":"string"},"error":{"type":"string"},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"}},"required":["id","templateId","title"],"additionalProperties":false}}},"required":["id","ok"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entries/batch-delete":{"post":{"summary":"Delete multiple entries","tags":["entries"],"description":"Deletes each given unpublished entry, in one request instead of one per entry. Reports success/failure per id — a published or still-referenced entry fails only its own row.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":100}},"required":["ids"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"ok":{"type":"boolean"},"code":{"type":"string"},"error":{"type":"string"},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"}},"required":["id","templateId","title"],"additionalProperties":false}}},"required":["id","ok"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/media":{"get":{"summary":"List media assets","tags":["media"],"description":"Returns media assets in the active org and environment, optionally filtered by status, tag, or a search across filename/alt text. Paginated via limit/skip.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"string","enum":["pending","ready","failed"]},"in":"query","name":"status","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"search","required":false},{"schema":{"type":"string"},"in":"query","name":"tag","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"skip","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"storageKey":{"type":"string"},"contentType":{"type":"string"},"status":{"type":"string","enum":["pending","ready","failed"]},"width":{"type":"number"},"height":{"type":"number"},"size":{"type":"number"},"error":{"type":"string"},"altText":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["_id","orgId","envId","storageKey","contentType","status","createdAt","url"],"additionalProperties":false}},"total":{"type":"number"}},"required":["items","total"],"additionalProperties":false}}}}}}},"/media/tags":{"get":{"summary":"List distinct media tags","tags":["media"],"description":"Returns the distinct set of tags used across media assets in the active org and environment.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"],"additionalProperties":false}}}}}}},"/media/upload-url":{"post":{"summary":"Get a media upload URL","tags":["media"],"description":"Registers a pending media asset and returns a presigned POST URL/fields for direct browser upload of the image.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fileName":{"type":"string","minLength":1},"contentType":{"type":"string","pattern":"^image\\/"},"envId":{"type":"string","default":"production"}},"required":["fileName","contentType"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":"string"}},"storageKey":{"type":"string"},"id":{"type":"string"}},"required":["url","fields","storageKey","id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/media/confirm":{"post":{"summary":"Confirm a media upload","tags":["media"],"description":"Attaches alt text and tags to the asset registered by POST /media/upload-url, once its object has finished uploading.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"storageKey":{"type":"string","minLength":1},"contentType":{"type":"string","minLength":1},"envId":{"type":"string","default":"production"},"altText":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}},"required":["storageKey","contentType"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/media/{id}":{"get":{"summary":"Get a media asset","tags":["media"],"description":"Returns a single media asset by ID, including its CDN URL.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"storageKey":{"type":"string"},"contentType":{"type":"string"},"status":{"type":"string","enum":["pending","ready","failed"]},"width":{"type":"number"},"height":{"type":"number"},"size":{"type":"number"},"error":{"type":"string"},"altText":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"url":{"type":"string","nullable":true}},"required":["_id","orgId","envId","storageKey","contentType","status","createdAt","url"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete a media asset","tags":["media"],"description":"Permanently deletes a media asset and its underlying stored object.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["STILL_REFERENCED"]},"references":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"}},"required":["id","templateId","title"],"additionalProperties":false}}},"required":["error","code","references"],"additionalProperties":false}}}}}}},"/media/{id}/replace":{"post":{"summary":"Replace a media asset","tags":["media"],"description":"Repoints a media asset at a file uploaded via POST /media/upload-url, keeping the original asset ID so entries referencing it stay intact. The upload's own asset record is consumed and removed.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"assetId":{"type":"string","minLength":1}},"required":["assetId"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"storageKey":{"type":"string"},"contentType":{"type":"string"},"status":{"type":"string","enum":["pending","ready","failed"]},"width":{"type":"number"},"height":{"type":"number"},"size":{"type":"number"},"error":{"type":"string"},"altText":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","storageKey","contentType","status","createdAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/media/{id}/tags":{"patch":{"summary":"Set media tags","tags":["media"],"description":"Replaces a media asset's tag list.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"storageKey":{"type":"string"},"contentType":{"type":"string"},"status":{"type":"string","enum":["pending","ready","failed"]},"width":{"type":"number"},"height":{"type":"number"},"size":{"type":"number"},"error":{"type":"string"},"altText":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","storageKey","contentType","status","createdAt"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/delivery/entries":{"get":{"summary":"List published entries","tags":["delivery"],"description":"Read-only, cached listing of published entries for a delivery API key — or, for a preview-scoped key, every non-archived entry including unpublished drafts and live edits (see docs on preview keys). Supports cursor pagination via `after`, or plain offset pagination via `skip` (the two are mutually exclusive — a 400 if both are set), and search via `search` (relevance-ranked keyword match, or `mode=semantic` for meaning-based match — semantic mode has no cursor pagination, `after` is ignored). Filter on individual fields with `fields.<key>=value` (exact match), `fields.<key>[in]=a,b` (matches any), or a comparison operator for `number`/`date` fields: `fields.<key>[gt|gte|lt|lte|ne]=value` (combine `[gte]`/`[lte]` on the same key for a range). Trim the response with `select=fields.<key>,fields.<key>` to return only those keys inside each entry's `fields`. `entryLinkFields=key1,key2` (with `include`) adds those keys onto each `entryLinks` target's `fields`.","parameters":[{"schema":{"type":"string"},"in":"query","name":"templateId","required":false},{"schema":{"type":"string"},"in":"query","name":"locale","required":false},{"schema":{"type":"string"},"in":"query","name":"after","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"skip","required":false},{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"integer","minimum":0,"maximum":5},"in":"query","name":"include","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"entryLinkFields","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["text","semantic"],"default":"text"},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"select","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"entries":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false}},"nextCursor":{"type":"string","nullable":true}},"required":["entries","nextCursor"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/delivery/entries/{id}":{"get":{"summary":"Get a published entry","tags":["delivery"],"description":"Read-only, cached fetch of a single published entry for a delivery API key — or, for a preview-scoped key, any non-archived entry including unpublished drafts and live edits (see docs on preview keys). Pass `locales=true` to also attach `localizations` — its sibling locales, e.g. to build a language switcher. `entryLinkFields=key1,key2` (with `include`) adds those keys onto each `entryLinks` target's `fields`.","parameters":[{"schema":{"type":"string"},"in":"query","name":"envId","required":false},{"schema":{"type":"integer","minimum":0,"maximum":5},"in":"query","name":"include","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"in":"query","name":"entryLinkFields","required":false},{"schema":{"type":"boolean"},"in":"query","name":"locales","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}},"localizations":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"groupId":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","published","updated","archived"]},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"publishedAt":{"type":"string"},"entryLinks":{"type":"object","additionalProperties":{"type":"object","properties":{"id":{"type":"string"},"templateId":{"type":"string"},"title":{"type":"string"},"status":{"type":"string"},"fields":{"type":"object","additionalProperties":{}}},"required":["id","templateId","title","status"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false}}},"required":["_id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/webhooks":{"get":{"summary":"List webhooks","tags":["webhooks"],"description":"Returns the org's registered webhook endpoints, secrets omitted.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]}},"envId":{"type":"string"},"templateId":{"type":"string"},"includeContent":{"type":"boolean"},"bodyTemplate":{"type":"string"},"headerNames":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string"}},"required":["_id","orgId","url","events","headerNames","createdAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create a webhook","tags":["webhooks"],"description":"Registers a filtered endpoint to receive signed entry lifecycle payloads for one environment. The signing secret is returned once.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"envId":{"type":"string","minLength":1},"templateId":{"type":"string","minLength":1},"includeContent":{"type":"boolean","default":false},"headers":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":2048},"description":"Extra request headers sent on every delivery. Write-only — never returned."},"bodyTemplate":{"type":"string","maxLength":4096,"description":"Fixed JSON body to POST instead of the event envelope, for endpoints that require their own payload shape."}},"required":["url","events","envId"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"secret":{"type":"string"}},"required":["id","secret"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/webhooks/{id}":{"delete":{"summary":"Delete a webhook","tags":["webhooks"],"description":"Removes a registered webhook endpoint.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/webhooks/{id}/deliveries":{"get":{"summary":"List a webhook's delivery log","tags":["webhooks"],"description":"Returns the most recent delivery attempts for a single webhook, newest first, scoped to that webhook only.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"webhookId":{"type":"string"},"event":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"eventId":{"type":"string"},"envelope":{"type":"object","properties":{"id":{"type":"string"},"schemaVersion":{"type":"number"},"event":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"occurredAt":{"type":"string"},"payload":{"type":"object","properties":{"entryId":{"type":"string"},"entry":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false},"previousEntry":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"templateId":{"type":"string"},"locale":{"type":"string"},"fields":{"type":"object","additionalProperties":{}},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"version":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","orgId","envId","templateId","locale","fields","tags","status","version","createdAt","updatedAt"],"additionalProperties":false},"changes":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"before":{},"after":{}},"required":["path"],"additionalProperties":false}}},"required":["entryId","changes"],"additionalProperties":false}},"required":["id","schemaVersion","event","occurredAt","payload"],"additionalProperties":false},"status":{"type":"string","enum":["pending","success","failed"]},"attempts":{"type":"number"},"error":{"type":"string"},"httpStatus":{"type":"number"},"responseBodySnippet":{"type":"string"},"durationMs":{"type":"number"},"createdAt":{"type":"string"},"deliveredAt":{"type":"string"}},"required":["_id","webhookId","event","eventId","envelope","status","attempts","createdAt"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/webhooks/{id}/deliveries/{deliveryId}/retry":{"post":{"summary":"Redeliver a webhook delivery","tags":["webhooks"],"description":"Re-enqueues a past delivery — failed or successful — for immediate redelivery with its original envelope, starting a fresh attempt cycle. Useful to manually re-trigger a downstream effect (e.g. a cache revalidation) that didn't take even though the delivery itself reported success.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"deliveryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations":{"get":{"summary":"List integrations","tags":["integrations"],"description":"Returns the org's connected service integrations, tokens omitted.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"type":{"type":"string","enum":["googleSearchConsole","googleAnalytics","bingWebmaster"]},"status":{"type":"string","enum":["connected","expired","revoked"]},"metadata":{"type":"object","additionalProperties":{}},"connectedBy":{"type":"string"},"connectedAt":{"type":"string"},"lastRefreshedAt":{"type":"string"}},"required":["_id","orgId","type","status","connectedBy","connectedAt"],"additionalProperties":false}}}}}}}},"/integrations/{type}/connect":{"get":{"summary":"Start an integration's OAuth flow","tags":["integrations"],"description":"Redirects the browser into the provider's consent screen. Not a fetch target — link or navigate to this directly with ?orgId=<org>, since a plain browser navigation can't carry the x-org-id header the rest of the management API uses.","parameters":[{"schema":{"type":"string"},"in":"query","name":"orgId","required":true},{"schema":{"type":"string","enum":["googleSearchConsole","googleAnalytics","bingWebmaster"]},"in":"path","name":"type","required":true}],"responses":{"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations/google-search-console/callback":{"get":{"tags":["integrations"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"state","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/integrations/google-analytics/callback":{"get":{"tags":["integrations"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"state","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/integrations/bing-webmaster/connect":{"post":{"summary":"Connect a Bing Webmaster Tools account with an API key","tags":["integrations"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1}},"required":["apiKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations/google-search-console/sites":{"get":{"summary":"List the connected account's verified Search Console properties","tags":["integrations"],"description":"Used to prefill the site picker when setting up the content-gap FAQ miner agent, instead of asking the user to type/paste a property identifier by hand.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"sites":{"type":"array","items":{"type":"string"}}},"required":["sites"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations/google-analytics/properties":{"get":{"summary":"List the connected account's GA4 properties","tags":["integrations"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"string"}}},"required":["properties"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations/bing-webmaster/sites":{"get":{"summary":"List the connected account's Bing Webmaster sites","tags":["integrations"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"sites":{"type":"array","items":{"type":"string"}}},"required":["sites"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/integrations/{id}":{"delete":{"summary":"Disconnect an integration","tags":["integrations"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/types":{"get":{"summary":"List available agent types","tags":["agents"],"description":"The prebuilt agent catalog, with each type's lock status under the org's current plan. Every type can be instantiated more than once — these are templates, not singletons.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"integrationType":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"locked":{"type":"boolean"},"overlayFields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["string","number","boolean","enum"]},"optional":{"type":"boolean"},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"enumValues":{"type":"array","items":{"type":"string"}}},"required":["key","type","optional"],"additionalProperties":false}}},"required":["type","label","description","locked"],"additionalProperties":false}}}}}}}},"/agents/models":{"get":{"summary":"List AI models available to step configs","tags":["agents"],"description":"Registry of model ids a custom-agent step (ai_generate, skill, propose_change) can pin via its optional model field. Unset falls back to that call's own default.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"publisher":{"type":"string"}},"required":["id","label","publisher"],"additionalProperties":false}}}}}}}},"/agents":{"get":{"summary":"List agent instances","tags":["agents"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"config":{"type":"object","additionalProperties":{}},"overlayConfig":{"type":"object","additionalProperties":{}},"enabled":{"type":"boolean"},"triggerMode":{"type":"string","enum":["schedule","event","manual"]},"frequency":{"type":"string","minLength":1,"maxLength":100},"eventTrigger":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"templateIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["events"],"additionalProperties":false},"lastRunAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","type","config","enabled","frequency","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create an agent instance","tags":["agents"],"description":"Instantiates a fresh agent from a type's template config — an org can create as many instances of the same type as it wants.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"envId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"config":{"type":"object","additionalProperties":{}},"triggerMode":{"type":"string","enum":["schedule","event","manual"],"default":"manual"},"frequency":{"type":"string","minLength":1,"maxLength":100,"default":"0 0 * * *"},"eventTrigger":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"templateIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["events"],"additionalProperties":false},"enabled":{"type":"boolean","default":true}},"required":["envId","type","config"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"config":{"type":"object","additionalProperties":{}},"overlayConfig":{"type":"object","additionalProperties":{}},"enabled":{"type":"boolean"},"triggerMode":{"type":"string","enum":["schedule","event","manual"]},"frequency":{"type":"string","minLength":1,"maxLength":100},"eventTrigger":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"templateIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["events"],"additionalProperties":false},"lastRunAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","type","config","enabled","frequency","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/test-run":{"post":{"summary":"Dry-run an agent config while building it","tags":["agents"],"description":"Runs a config through the agent's real logic — real AI calls, real cost — but nothing is persisted: no agent, run, or proposal is created. Lets a builder see step-by-step results before saving.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"envId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"config":{"type":"object","additionalProperties":{}}},"required":["envId","type","config"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"proposals":{"type":"array","items":{"type":"object","properties":{"entryId":{"type":"string"},"templateId":{"type":"string"},"fieldKey":{"type":"string"},"oldValue":{},"newValue":{},"diffKind":{"type":"string"},"leverageScore":{"type":"number"},"aiTokensSpent":{"type":"number"}},"required":["entryId","templateId","fieldKey","diffKind","leverageScore"],"additionalProperties":false}},"sampleRows":{"type":"array","items":{"type":"object","additionalProperties":{}}},"stepLog":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"type":{"type":"string"},"rowsIn":{"type":"number"},"rowsOut":{"type":"number"},"error":{"type":"string"},"tokensUsed":{"type":"number"},"durationMs":{"type":"number"},"skipped":{"type":"object","properties":{"noMatch":{"type":"number"},"invalidValue":{"type":"number"},"noChange":{"type":"number"},"invalidSamples":{"type":"array","items":{"type":"string"}}},"required":["noMatch","invalidValue","noChange"],"additionalProperties":false}},"required":["index","type","rowsIn","rowsOut"],"additionalProperties":false}},"error":{"type":"string"}},"required":["proposals"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/{id}":{"patch":{"summary":"Update an agent instance","tags":["agents"],"description":"Rename it, enable/disable, edit its config, edit its overlay config, or change its run frequency.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"enabled":{"type":"boolean"},"config":{"type":"object","additionalProperties":{}},"overlayConfig":{"type":"object","additionalProperties":{}},"triggerMode":{"type":"string","enum":["schedule","event","manual"]},"frequency":{"type":"string","minLength":1,"maxLength":100},"eventTrigger":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"templateIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["events"],"additionalProperties":false}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"config":{"type":"object","additionalProperties":{}},"overlayConfig":{"type":"object","additionalProperties":{}},"enabled":{"type":"boolean"},"triggerMode":{"type":"string","enum":["schedule","event","manual"]},"frequency":{"type":"string","minLength":1,"maxLength":100},"eventTrigger":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string","enum":["entry.created","entry.updated","entry.status_changed","entry.published","entry.unpublished","entry.archived","entry.deleted","entry.rolled_back","entry.tags_updated"]},"minItems":1},"templateIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["events"],"additionalProperties":false},"lastRunAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","envId","type","config","enabled","frequency","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete an agent instance","tags":["agents"],"description":"Cancels its schedule and removes it. Past runs and any proposals it already raised are left in place for the review history.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/{id}/run":{"post":{"summary":"Manually trigger an agent run","tags":["agents"],"description":"Starts a run outside its schedule, even if the agent is disabled. Runs off the request path (see GET /agents/:id/runs for the result) — a real run can take longer than the API's request timeout.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"started":{"type":"boolean"}},"required":["started"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/{id}/runs":{"get":{"summary":"List an agent's run history","tags":["agents"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"agentId":{"type":"string"},"agentType":{"type":"string"},"startedAt":{"type":"string"},"finishedAt":{"type":"string"},"status":{"type":"string","enum":["running","succeeded","failed","cancelled"]},"proposedCount":{"type":"number"},"aiTokensSpent":{"type":"number"},"error":{"type":"string"},"sampleRows":{"type":"array","items":{"type":"object","additionalProperties":{}}},"stepLog":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"type":{"type":"string"},"rowsIn":{"type":"number"},"rowsOut":{"type":"number"},"error":{"type":"string"},"tokensUsed":{"type":"number"},"durationMs":{"type":"number"},"skipped":{"type":"object","properties":{"noMatch":{"type":"number"},"invalidValue":{"type":"number"},"noChange":{"type":"number"},"invalidSamples":{"type":"array","items":{"type":"string"}}},"required":["noMatch","invalidValue","noChange"],"additionalProperties":false}},"required":["index","type","rowsIn","rowsOut"],"additionalProperties":false}}},"required":["_id","agentId","agentType","startedAt","status","proposedCount","aiTokensSpent"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/{id}/runs/{runId}/cancel":{"post":{"summary":"Cancel an in-progress agent run","tags":["agents"],"description":"Sets a flag the step loop checks between steps — a step already in flight still runs to completion, so cancellation isn't instant.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"runId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/{id}/runs/{runId}/debug/{stepIndex}":{"get":{"summary":"Get a run step's per-row debug trace","tags":["agents"],"description":"Full per-row decision detail behind one step's summary counts in the run's stepLog — auto-expires 7 days after the step ran.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"runId","required":true},{"schema":{"type":"number"},"in":"path","name":"stepIndex","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"runId":{"type":"string"},"stepIndex":{"type":"number"},"stepType":{"type":"string"},"startedAt":{"type":"string"},"finishedAt":{"type":"string"},"error":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"decision":{"type":"string"},"reason":{"type":"string"}},"required":["key","decision"],"additionalProperties":false}}},"required":["_id","runId","stepIndex","stepType","startedAt","finishedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/skills":{"get":{"summary":"List agent skills","tags":["agents"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"instruction":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","instruction","createdAt","updatedAt"],"additionalProperties":false}}}}}}},"post":{"summary":"Create an agent skill","tags":["agents"],"description":"A reusable instruction block a skill step can reference by id — write a brand guideline doc or house style prompt once, use it across any number of agents.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":60,"pattern":"^[a-z0-9-]+$"},"label":{"type":"string","minLength":1,"maxLength":200},"instruction":{"type":"string","minLength":1,"maxLength":20000}},"required":["key","label","instruction"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"instruction":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","instruction","createdAt","updatedAt"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/agents/skills/{id}":{"patch":{"summary":"Update an agent skill","tags":["agents"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":200},"instruction":{"type":"string","minLength":1,"maxLength":20000}},"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string"},"orgId":{"type":"string"},"key":{"type":"string"},"label":{"type":"string"},"instruction":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["_id","orgId","key","label","instruction","createdAt","updatedAt"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Delete an agent skill","tags":["agents"],"description":"Fails if any agent's config still references this skill via a skill step.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/entry-change-proposals":{"get":{"summary":"List entry change proposals","tags":["entry-change-proposals"],"description":"Field-level edits proposed by an agent run, awaiting human approval — sorted by leverage score (impact) descending.","parameters":[{"schema":{"type":"string"},"in":"query","name":"agentRunId","required":false},{"schema":{"type":"string"},"in":"query","name":"entryId","required":false},{"schema":{"type":"string"},"in":"query","name":"templateId","required":false},{"schema":{"type":"string","enum":["pending","approved","rejected"]},"in":"query","name":"status","required":false},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"in":"query","name":"limit","required":false},{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"skip","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string"},"agentRunId":{"type":"string"},"orgId":{"type":"string"},"envId":{"type":"string"},"agentType":{"type":"string"},"entryId":{"type":"string"},"templateId":{"type":"string"},"fieldKey":{"type":"string"},"oldValue":{},"newValue":{},"diffKind":{"type":"string"},"leverageScore":{"type":"number"},"status":{"type":"string","enum":["pending","approved","rejected"]},"reviewedBy":{"type":"string"},"reviewedAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["_id","agentRunId","orgId","envId","agentType","entryId","templateId","fieldKey","diffKind","leverageScore","status","createdAt"],"additionalProperties":false}}}}}}}},"/entry-change-proposals/batch-review":{"post":{"summary":"Approve or reject proposals in bulk","tags":["entry-change-proposals"],"description":"Approving routes the change through the same validation/revision path as a normal entry edit (PATCH /entries/{id}) — nothing is applied without this call. Reports success/failure per id.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"approved":{"type":"array","items":{"type":"string"},"maxItems":100,"default":[]},"rejected":{"type":"array","items":{"type":"string"},"maxItems":100,"default":[]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"ok":{"type":"boolean"},"code":{"type":"string"},"error":{"type":"string"}},"required":["id","ok"],"additionalProperties":false}}},"required":["results"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/members":{"get":{"summary":"List members","tags":["members"],"description":"Returns org members and pending invites with role and status.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string","enum":["owner","admin","editor","billing","viewer"]},"environment":{"type":"string"},"status":{"type":"string","enum":["active","pending"]},"email":{"type":"string"},"name":{"type":"string"}},"required":["id","role","status","email","name"],"additionalProperties":false}}}}}}},"post":{"summary":"Invite a member","tags":["members"],"description":"Invites a user to the org by email with a role; creates a pending membership if the user doesn't exist yet.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["admin","editor","billing","viewer"]},"environment":{"type":"string","minLength":1,"description":"Restricts the member to this one environment. Omit for access to all of them."}},"required":["email","role"],"additionalProperties":false}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"409":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/members/{id}/resend":{"post":{"summary":"Resend an invite","tags":["members"],"description":"Re-sends the invite email for a pending membership.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/members/{id}":{"patch":{"summary":"Change a member's role","tags":["members"],"description":"Updates a member's role and environment scope. Omitting `environment` clears the scope, giving the member access to every environment. The org owner's role cannot be changed.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["admin","editor","billing","viewer"]},"environment":{"type":"string","minLength":1,"description":"Restricts the member to this one environment. Omit for access to all of them."}},"required":["role"],"additionalProperties":false}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}},"delete":{"summary":"Remove a member","tags":["members"],"description":"Removes a member from the org. The org owner cannot be removed.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MISSING_ORG_HEADER","VALIDATION_FAILED","INVALID_TOKEN","INVALID_2FA_CODE","TWO_FACTOR_NOT_ENABLED","TWO_FACTOR_SETUP_REQUIRED","INCORRECT_PASSWORD","PASSWORD_REQUIRED","DUPLICATE_FIELD_KEYS","DUPLICATE_PROP_NAMES","INVALID_NAME","UNKNOWN_ENVIRONMENT","MAIN_ENVIRONMENT_IMMUTABLE","SAME_ENVIRONMENT","PLAN_LIMIT_EXCEEDED","ALREADY_PUBLISHED","PUBLISH_AT_IN_PAST","INVITE_NOT_PENDING","STORAGE_KEY_MISMATCH","SELF_DISABLE_FORBIDDEN","IDP_EMAIL_MISSING","IDP_EMAIL_UNVERIFIED","ENTRY_PUBLISHED","NO_ACTIVE_SUBSCRIPTION","WEBHOOK_SIGNATURE_INVALID","UNAUTHORIZED","INVALID_CREDENTIALS","MISSING_REFRESH_TOKEN","INVALID_REFRESH_TOKEN","INVALID_CHALLENGE","FORBIDDEN","ORG_SUSPENDED","IP_NOT_ALLOWED","NOT_ORG_MEMBER","INSUFFICIENT_ROLE","ENVIRONMENT_FORBIDDEN","OWNER_IMMUTABLE","PLAN_FEATURE_REQUIRED","EMAIL_NOT_VERIFIED","NOT_INVITED","NO_ORG","NOT_FOUND","REVISION_NOT_FOUND","SNAPSHOT_NOT_FOUND","SSO_CONNECTION_NOT_FOUND","ENVIRONMENT_NOT_FOUND","ALREADY_EXISTS","EMAIL_IN_USE","ALREADY_MEMBER","ALREADY_INVITED","ENTRY_MODIFIED","STILL_REFERENCED","TEMPLATE_HAS_ENTRIES","AI_UNAVAILABLE","RATE_LIMITED","INTERNAL_ERROR"]}},"required":["error","code"],"additionalProperties":false}}}}}}},"/billing/subscription":{"get":{"summary":"Get the active org's subscription","tags":["billing"],"description":"Returns the org's plan, billing status, and usage against plan limits.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"planKey":{"type":"string","enum":["hobby","startup","growth","scale","enterprise"]},"status":{"type":"string","enum":["active","past_due","canceled","trialing"]},"currentPeriodEnd":{"type":"string","nullable":true},"cancelAtPeriodEnd":{"type":"boolean"},"hasPaymentMethod":{"type":"boolean"},"plan":{"type":"object","properties":{"key":{"type":"string","enum":["hobby","startup","growth","scale","enterprise"]},"name":{"type":"string"},"priceMonthly":{"type":"number","nullable":true},"limits":{"type":"object","properties":{"maxMembers":{"type":"number"},"maxEntries":{"type":"number"},"maxMediaFiles":{"type":"number"},"maxStorageBytes":{"type":"number"},"maxEnvironments":{"type":"number"},"monthlyAiTokens":{"type":"number"}},"required":["maxMembers","maxEntries","maxMediaFiles","maxStorageBytes","maxEnvironments","monthlyAiTokens"],"additionalProperties":false},"features":{"type":"array","items":{"type":"string"}}},"required":["key","name","priceMonthly","limits","features"],"additionalProperties":false},"usage":{"type":"object","properties":{"members":{"type":"number"},"entries":{"type":"number"},"mediaFiles":{"type":"number"},"storageBytes":{"type":"number"},"environments":{"type":"number"},"aiTokens":{"type":"number"}},"required":["members","entries","mediaFiles","storageBytes","environments","aiTokens"],"additionalProperties":false}},"required":["planKey","status","currentPeriodEnd","cancelAtPeriodEnd","hasPaymentMethod","plan","usage"],"additionalProperties":false}}}}}}},"/billing/plans":{"get":{"summary":"List available plans","tags":["billing"],"description":"Returns the full plan catalog for display on an upgrade/pricing screen.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["hobby","startup","growth","scale","enterprise"]},"name":{"type":"string"},"priceMonthly":{"type":"number","nullable":true},"limits":{"type":"object","properties":{"maxMembers":{"type":"number"},"maxEntries":{"type":"number"},"maxMediaFiles":{"type":"number"},"maxStorageBytes":{"type":"number"},"maxEnvironments":{"type":"number"},"monthlyAiTokens":{"type":"number"}},"required":["maxMembers","maxEntries","maxMediaFiles","maxStorageBytes","maxEnvironments","monthlyAiTokens"],"additionalProperties":false},"features":{"type":"array","items":{"type":"string"}}},"required":["key","name","priceMonthly","limits","features"],"additionalProperties":false}}}}}}}},"/billing/setup-intent":{"post":{"summary":"Create a SetupIntent client secret for collecting a card via Stripe Elements","tags":["billing"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"clientSecret":{"type":"string"}},"required":["clientSecret"],"additionalProperties":false}}}}}}},"/billing/payment-method":{"post":{"summary":"Set the org's default payment method from a confirmed SetupIntent","tags":["billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"paymentMethodId":{"type":"string"}},"required":["paymentMethodId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}}}}},"/billing/invoices":{"get":{"summary":"List the org's past invoices","tags":["billing"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"amountPaid":{"type":"number"},"currency":{"type":"string"},"status":{"type":"string","nullable":true},"created":{"type":"string"},"hostedInvoiceUrl":{"type":"string","nullable":true}},"required":["id","amountPaid","currency","status","created","hostedInvoiceUrl"],"additionalProperties":false}}}}}}}},"/billing/checkout":{"post":{"summary":"Start a self-serve Stripe Checkout session for a paid plan","tags":["billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"planKey":{"type":"string","enum":["startup","growth","scale"]}},"required":["planKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}}}}},"/billing/change-plan":{"post":{"summary":"Switch the org's subscription to a different paid plan, prorated immediately","tags":["billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"planKey":{"type":"string","enum":["startup","growth","scale"]}},"required":["planKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}}}}},"/billing/cancel":{"post":{"summary":"Cancel the org's subscription at the end of the current billing period","tags":["billing"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}},"required":["ok"],"additionalProperties":false}}}}}}}}}