Error codes
API errors use RFC 9457 application/problem+json. The value for programs is in code.
{
"type": "https://www.blipdrop.net/nodd/en/docs/errors/#open_actions_exceeded",
"title": "The limit of open requests has been reached",
"status": 409,
"code": "open_actions_exceeded"
}
typelinks to the entry for the code on this page- Use
codein your logic. The text oftitleanddetailcan change titleanddetailare in English.Accept-Language: jagives Japanese- Codes you can retry have a
Retry-Afterheader
invalid_key
The key is missing, malformed, revoked, expired, the wrong type, or its workspace is closed. The response does not say which.
What to do: Check the Authorization: Bearer value. Read keys cannot send, and send keys cannot read GET /v1/actions/events. If in doubt, reissue the key in the app.
key_revoked
This value is listed in the API specification, but the current server does not return it. A revoked key gets invalid_key.
What to do: Handle it like invalid_key.
invalid_session
The app session has ended or the Apple sign-in could not be verified. Returned by the app API.
What to do: Sign in again in the app. The send key API does not return this.
plan_required
The request goes beyond the plan. detail gives the reason: multiple approvers or escalation on Free, an Open channel on Free, the channel or member limit, a second free workspace, or another Apple ID already using the free plan on this device.
What to do: Read detail, then move to Team or drop the option.
forbidden
You lack the permission: a Viewer responded, someone who is not a Manager managed keys, or a send went to a closed channel.
What to do: Check the roles described in the Manual.
channel_paused
A channel took more than 60 requests in a minute, so it is paused for 5 minutes. The channel gets one notice when this happens.
What to do: Wait for Retry-After seconds. It resumes by itself. Check that the sender is not looping.
channel_read_only
The plan went down and the channel count is over the limit, so sending stops on the newest channels first. Receiving and responding continue.
What to do: Return to Team, or close channels to get within the limit.
invalid_signature
A device signature could not be verified. This also covers an operation that needs Face ID without it. Returned by the app API.
What to do: Update the app and try again. If it continues, sign in again.
attestation_failed
App Attest failed when registering a device. Returned by the app API.
What to do: Use a physical iPhone with the app from the App Store.
not_found
The target does not exist or this key cannot see it. A message in another channel gives this code too.
What to do: Check the ID and which channel the key belongs to.
open_actions_exceeded
Open requests reached the plan limit (3 on Free, 500 on Team). The message is refused rather than delivered without buttons.
What to do: Wait for responses, or withdraw requests with POST /v1/messages/{id}/cancel.
already_claimed
Another response was recorded first. For a cancel, the message was already answered.
What to do: Read the result with GET /v1/messages/{id}.
invalid_state
The operation is not possible in the current state. title gives the reason: updating finished progress, updating something other than progress, reporting a result too early, approving twice, reissuing a revoked key, or deleting an Owner account while others remain.
What to do: Read title, check the state, then try again.
action_expired
The device signed after the response deadline, or the response arrived more than 10 minutes after it.
What to do: Send it again. Never treat no response as approval.
payload_too_large
The body is over 16 KB for POST /v1/messages and PATCH, or over 256 KB for inbound URLs.
What to do: Shorten the body. Field limits are in the API reference.
validation_failed
A value does not match the specification. Unknown fields are refused too. detail gives the reason.
What to do: Read detail and fix the request.
unsupported_level
This value is listed in the API specification, but the current server does not return it. An unknown level such as critical gets validation_failed.
What to do: Use low, normal, or high.
callback_unverified
When registering a callback, the URL did not return challenge. This appears in the app.
What to do: Return the value in a 2xx body as described in Registering a URL.
rate_limited
One key made more than 10 requests in 10 seconds. Polling one message has its own window of the same size.
What to do: Wait for Retry-After seconds.
monthly_limit
The monthly limit is reached. Only high can go on, up to 10% over the limit.
What to do: Retry-After is the time until the first of next month (UTC). Retrying will not help, so wait or move to Team.
internal
The server failed internally.
What to do: Wait and retry. With Idempotency-Key a retry does not send twice. If it continues, email support@blipdrop.net with the time.
not_implemented
The app API has no such operation.
What to do: Check the URL and method, and update the app.
maintenance
The service mode is read_only or intake_stopped. intake_stopped stops only new messages, so cancels and resolves still work.
What to do: Wait for Retry-After (300 seconds). GET /v1/meta shows the mode.
overloaded
The server is too busy to accept the request.
What to do: Retry after Retry-After (30 seconds).