Errors and retries

Error responses include an error code and may include a human-readable message.

Analyze endpoint

StatuserrorWhen
400bad_request / invalid_requestThe JSON body, conversation_id, or speaker value is invalid.
401unauthorizedThe API key is missing, invalid, or revoked.
403forbiddenThe issued key is not permitted to call Analyze.
405method_not_allowedThe endpoint was called with an unsupported HTTP method.
422unprocessablemessage is missing, empty, or not a string.
429rate_limitedThe current request allowance has been reached.

A 429 rate_limited response may include Retry-After in seconds.

JSON
{ "error": "rate_limited" }

Integration receiver

StatuserrorWhen
400invalid_json / invalid_payloadThe signed body is not valid JSON or lacks a usable conversation.
401invalid_signatureThe request cannot be verified with the receiver signing secret.
404not_foundThe receiver URL is unknown or disabled.
405method_not_allowedThe receiver only accepts POST.
413payload_too_largeThe request body exceeds the accepted size.
422batch_exceeds_limitThe delivery is larger than a fresh workspace limit and must be reduced before retrying.
429rate_limited / quota_exceededA resettable workspace allowance prevented processing.
500processing_failedNyeti could not complete processing. The delivery was rolled back before Nyeti returns this response.

Duplicate deliveries and unsupported events return 200. They are acknowledged without analysis so the source does not retry events that Nyeti intentionally ignores.

A 429 rate_limited response includes Retry-After in seconds. A 422 batch_exceeds_limit response is not resettable: reduce the delivery or change the workspace allowance before trying it again.

Retry policy

For a 429 with Retry-After, wait for that interval before retrying. Retry transient 5xx responses with exponential backoff. Signed integration deliveries are rolled back before Nyeti returns a 500, so retry the same exact body and signature process. Correct other 4xx requests before sending them again.