Skip to content

permission_denied

HTTP 403Forbidden

The caller authenticated successfully but is not allowed to perform this operation.

Authentication and authorisation are separate. A valid key that lacks the necessary grant — or an org that lacks the API entitlement — produces this error rather than a 401.

{
"type": "https://api-docs.ahoy.ai/rest/v1/errors/permission_denied",
"title": "Forbidden",
"status": 403,
"detail": "This credential has no write grant on 'ahoy_deal'.",
"code": "permission_denied",
"request_id": "req_01J8Z2K9QW3X4Y5Z6A7B8C9D"
}

A reason narrows permission_denied to a specific cause. New values are additive and never require a version bump, so treat an unrecognised reason as the bare permission_denied.

reasonMeaning
entitlement_missingThe org does not have the public API entitlement enabled. Contact Ahoy support.
write_forbiddenThe key has read access to this object type but not write access.
type_read_onlyThis object type cannot be written over the API by any credential — see Writable object types.
  • Check the key’s grants under Settings → API & Service Accounts.
  • GET /rest/v1/objects/ lists exactly what this key can reach, with writable_operations on each type.
  • A key reaches only as far as the user who minted it. Private records belonging to other users are never visible to it.