Skip to main content

Error Catalog

All errors return a JSON object with the same format:

{
"name": "partner_api_key.not_found",
"message": "human-readable error description"
}

Use the name field for your integration logic — it is stable across versions. The message field may change.

Authentication errors (401)

nameCause
partner_api_key.not_foundThe X-API-Key header is absent, the value does not match any active key, or the key has been revoked.
partner_api_key.expiredThe key exists but has passed its expiry date (expires_at).

Authorization errors (403)

nameCause
partner_api_key.forbiddenThe key is valid but does not have permissions on the requested resource.

Validation errors (400)

These errors indicate a problem with the sent payload. They are not retryable — fix them in your integration.

nameAffected fieldCause
authorization.validation_error.external_id_emptyexternalIdThe field is empty or contains only whitespace.
authorization.invalid_quantityquantityThe quantity is zero or negative. Must be greater than 0.
authorization.invalid_plate_formattractorPlate / trailerPlatesThe plate contains disallowed characters (alphanumeric only, 1–8 characters).
authorization.validation_error.product_emptyproductThe field is empty or contains only whitespace.
authorization.validation_error.product_owner_name_emptyproductOwner.nameThe owner name is empty.
authorization.validation_error.product_owner_cif_emptyproductOwner.cifThe owner tax ID is empty.
authorization.validation_error.product_owner_phone_emptyproductOwner.phoneThe owner phone is empty.
authorization.validation_error.product_owner_email_emptyproductOwner.emailThe owner email is empty.
authorization.validation_error.business_partner_name_emptysender.name / receiver.nameThe sender or receiver name is empty.
authorization.validation_error.business_partner_cif_emptysender.cif / receiver.cifThe sender or receiver tax ID is empty.
authorization.validation_error.business_partner_phone_emptysender.phone / receiver.phoneThe sender or receiver phone is empty.
authorization.validation_error.business_partner_address_emptysender.address / receiver.addressThe sender or receiver address is empty.
authorization.validation_error.business_partner_warehouse_code_emptysender.warehouseCode / receiver.warehouseCodeThe warehouse code is empty.

Server errors (500)

nameCause
internal_server_errorInternal DigiAnt error. Not a problem with your integration.

Retry strategy

HTTP codeRetryableRecommended action
400Fix the payload before retrying. Log the error name to identify the problematic field.
401Verify the API Key. If expired, rotate the key.
403Contact DigiAnt support.
500Retry with exponential backoff. If the error persists for more than 5 minutes, contact support.
tip

Implement a retry queue for 5xx errors with exponential backoff (e.g., 1s, 2s, 4s, 8s). Never retry 4xx errors without fixing the payload first.

Example payloads that trigger 400 errors

Negative quantity:

{
"externalId": "GOF-2026-001",
"quantity": -100,
"..."
}

authorization.invalid_quantity

Plate with hyphen:

{
"tractorPlate": "1234-ABC",
"..."
}

authorization.invalid_plate_format

Empty externalId:

{
"externalId": "",
"..."
}

authorization.validation_error.external_id_empty