HOC SiteDocumentation

Error codes

Stable codes returned by the API and MCP, grouped by area, with the status code each one maps to.

Every failure uses the envelope described in Conventions. Branch on code, never on message.

Auth and access

CodeStatusMeaning
unauthorized401Missing or expired token.
invalid_credentials401Wrong email or password.
forbidden403Authenticated, but the grant denies this action.
passkey_invalid401The passkey assertion did not verify.
passkey_registration_failed400The passkey could not be registered.

Validation

CodeStatusMeaning
invalid_input400Body or query failed validation; check details.path.
conflict409The write collides with existing state.
not_found404Generic missing resource.

Websites and pages

CodeStatusMeaning
website.not_found404No such website, or no access.
website.web_integrations.preview_unavailable403Web integrations are not available in preview.
page.not_found404No such page.
page.component.not_found404No such page component.
template.not_found404No such template.
subscription.plan_limit.unavailable402The plan does not allow this action.

Objects

CodeStatusMeaning
object.type.not_found404No such object type.
object.entry.not_found404No such entry.
object.entry.not_found_generic404No such entry, or no permission to see it.
object.entry.single_exists409A single-kind type already has its entry.
object.entry.locked409The entry cannot be changed in its current state.
object.field.invalid400A field value failed its constraints.
object.field.required400A required field is missing.
object.field.string400Text length or pattern failed.
object.field.relation400The related entry does not exist or is not allowed.
object.field.max_items400Too many items in a multi-value field.
object.field.file_size400The uploaded file exceeds the field limit.
object.field.datetime_not_configured400The date field has no configuration.
object.field.datetime_invalid400The date value is not a valid date.
object.user.email_exists409An account with that email already exists.
object.lifecycle.unknown_field400The lifecycle config references a missing field.
object.lifecycle.unsupported_field_type400The lifecycle action cannot use that field type.

Design

CodeStatusMeaning
design.block_not_found404The block id is not in the document.
design.op_bad_path400An ops path does not exist on the block.
design.op_invalid400The op is malformed or not allowed.
design.ops_or_content400Send ops or content, not both.
design.json_parse400A string looked like JSON but did not parse.

Files, docs, and runtime

CodeStatusMeaning
file.directory.not_found404No such directory.
file.managed403The file is managed by the platform and cannot be changed.
docs.not_found404No such docs path.
docs.bad_request400A docs bundle call had no paths.
report.not_found404No such moderation report.
form.spam_rejected400The submission was rejected as spam.
agent.session.not_found404No such agent session.
unexpected500Unhandled failure. Retry, then report it.