Skip to content
Follow yggy on LinkedInFollow @yggy_tech on X

Errors and rate limits

Most yggy API error responses include a machine-readable code alongside a human-readable message:

{
"success": false,
"error": {
"message": "A provider with this name already exists for this type.",
"code": "PROVIDER_CONFLICT"
}
}

A few refusals answer with a flat body instead, such as { "error": "Authentication required" }, so check the status code first.

Use code for program logic. Treat it as part of the versioned API contract. You can show message to users, but do not use its text for program logic.

The Reference lists the error responses of every operation.

Each personal or organization API key can make 5000 requests per hour.

When a personal or organization key exceeds its hourly request cap, the status is 429 (not 401), error.code is RATE_LIMITED, and Retry-After is the wait in seconds.

Wait at least Retry-After seconds before you send the next request with that key. To follow a document through processing, prefer GET /api/v1/documents/{id}/status/stream over tight polling, so the stream does not spend the quota.

When a call fails, look it up by its request ID in Developers → Usage and logs. Request logs explains what the log holds and who sees it, and Export logs over OTLP how to stream it to your own log tool.

CodeMeaning
INTERNAL_ERRORAn unexpected server error occurred.
VALIDATION_ERRORThe request failed validation.
UNAUTHORIZEDAuthentication is required or has expired.
RATE_LIMITEDThe API key exceeded its request rate limit. Wait and retry.
ORG_REQUIREDAn active organization context is required.
FORBIDDENThe caller does not have permission to perform this action.
NOT_FOUNDThe requested resource could not be found.
CONFLICTThe request conflicts with the current state of the resource.
PROJECT_DENIEDThe caller does not have access to this project.
USAGE_LIMIT_EXCEEDEDThis organization reached its usage limit for this period. Upgrade to Pro to add a payment method and keep working.
HUGINN_ERRORThe chat agent failed to process the request.
HUGINN_STREAM_ERRORThe chat response stream failed.
QUERY_FAILEDThe graph query could not be completed.
PROVIDER_CONFLICTA provider with this name already exists for this type.
PROVIDER_CONFIG_INVALIDThe provider configuration failed validation.
PROVIDER_NOT_CONNECTEDThis provider is not connected.
PROVIDER_RATE_LIMITEDThe connected provider is rate limiting requests. Wait and retry.
PROJECT_MEMBER_USER_NOT_IN_ORGThe user is not a member of this organization.
PROJECT_MEMBER_UNKNOWN_ROLEThe given role is not defined for this organization.
PROJECT_MEMBER_LAST_OWNERCannot remove or demote the last owner of a project.
PROJECT_CONFLICTA project with this slug already exists for this organization.
STORAGE_NOT_CONFIGUREDFile storage is not configured for this deployment.
BILLING_NOT_CONFIGUREDBilling is not configured for this deployment.
LICENSE_INACTIVEThis installation has no active license, so it is read-only. An administrator can upload a new license under Settings > License.
PLAN_REQUIREDThis feature requires a higher organization plan.
MEMBER_LIMIT_REACHEDThe organization has reached its member limit for the current plan.
SAGA_ASK_QUOTA_EXCEEDEDThe Saga Ask quota for this period has been exceeded.
SAGA_ASK_RATE_LIMITEDToo many Ask requests. Try again shortly.
SAGA_ASK_BUSYAnother Ask is still answering. Wait for it to finish.
SAGA_ASK_PAUSEDAsk is paused for Free accounts until tomorrow.
SAGA_ASK_UPSTREAMThe Ask service is temporarily unavailable.
SAGA_DICTATION_BUSYSpeech to text is busy. Retry after the delay in the Retry-After header.
SAGA_DICTATION_UNAVAILABLESpeech to text is temporarily unavailable.
SAGA_SHARE_LINK_LIMITThe Free plan allows 3 public links at a time. Turn one off or upgrade to Plus.
PROJECT_MEMBERSHIP_JWT_TOO_LARGEThis organization has too many projects to open in one session. Contact support so we can raise the limit.
WEBHOOK_URL_INVALIDThe webhook URL must be a valid HTTPS URL without credentials.
WEBHOOK_ADDRESS_BLOCKEDyggy cannot send webhooks to this URL.
WEBHOOK_EVENT_UNKNOWNA webhook subscription names an event that is not in the event catalog.
WEBHOOK_ENDPOINT_LIMITThe organization already has the maximum number of webhook endpoints.
WEBHOOK_ENDPOINT_DISABLEDThe webhook endpoint is disabled. Enable it first.
WEBHOOK_DELIVERY_IN_PROGRESSThe delivery is still being sent. Redeliver it once it has finished.
ORG_KEY_PERSONAL_SCOPEOrganization API keys act as the organization and cannot use routes that work on a person's own data. Use a personal key.
API_KEY_PERMISSION_EXCEEDS_ROLEThe key asks for a permission that your role does not have.
API_KEY_NO_PERMISSIONSThis organization API key holds no permissions, so it cannot do anything.
ORG_KEY_GRAPH_SCOPE_UNAVAILABLEOrganization API keys are unavailable because graph access cannot be scoped. Try again later.
ORG_KEY_TOO_MANY_PROJECTSThis organization has more shared projects than one organization API key can reach. Limit the key to one project.
SENDER_IS_LOGIN_EMAILThis address is already used to sign in.
SENDER_TAKENAnother person already uses this address as a sender.