> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dekhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Errors

> Error codes the partner REST API returns.

New endpoints return errors as RFC 9457 `application/problem+json`. Each body has a stable `code`, a `detail` for this request, `errors[]` for rejected fields, and the `requestId` (the `X-Request-Id` header). The `type` URI points at the code's entry on this page.

The v1 order status and shipment endpoints keep their `{ "error": "<text>" }` body; their reference pages show it.

| code | HTTP status | When |
| - | - | - |
| [`forbidden`](#forbidden) | 403 | Your credential is not enabled for the scope this endpoint needs. |
| [`idempotency_conflict`](#idempotency_conflict) | 409 | This `Idempotency-Key` was already used with a different body. Send the original body to get the original answer, or a new key for a new order. |
| [`internal`](#internal) | 500 | An unexpected error on our side. It is logged; retry later. |
| [`invalid_request`](#invalid_request) | 400 | A query parameter or body field is missing or invalid. `errors[]` lists each field. |
| [`not_found`](#not_found) | 404 | No such resource for your credential: it does not exist, or it belongs to a client your credential is not linked to. |
| [`order_refused`](#order_refused) | 422 | The request is well formed but the order cannot be placed as sent. `errors[]` names each field and why: `not_supported_yet` for something this API does not take yet, `total_changed` when `expectedTotal` is not the current total (`currentTotal` carries it). `detail` says what to change. |
| [`payload_too_large`](#payload_too_large) | 413 | The request body is larger than this endpoint accepts. |
| [`rate_limited`](#rate_limited) | 429 | More than the allowed requests per minute. |
| [`unauthenticated`](#unauthenticated) | 401 | Missing or invalid credentials. |
| [`upload_refused`](#upload_refused) | 422 | The file can't be taken: its type isn't an art type we accept, it is empty or too large, its contents don't match its extension, or its bytes never arrived. `detail` says which. Start a new upload. |

## forbidden

HTTP 403 · Forbidden

Your credential is not enabled for the scope this endpoint needs.

## idempotency\_conflict

HTTP 409 · Idempotency conflict

This `Idempotency-Key` was already used with a different body. Send the original body to get the original answer, or a new key for a new order.

## internal

HTTP 500 · Internal error

An unexpected error on our side. It is logged; retry later.

## invalid\_request

HTTP 400 · Invalid request

A query parameter or body field is missing or invalid. `errors[]` lists each field.

## not\_found

HTTP 404 · Not found

No such resource for your credential: it does not exist, or it belongs to a client your credential is not linked to.

## order\_refused

HTTP 422 · Order refused

The request is well formed but the order cannot be placed as sent. `errors[]` names each field and why: `not_supported_yet` for something this API does not take yet, `total_changed` when `expectedTotal` is not the current total (`currentTotal` carries it). `detail` says what to change.

## payload\_too\_large

HTTP 413 · Payload too large

The request body is larger than this endpoint accepts.

## rate\_limited

HTTP 429 · Rate limited

More than the allowed requests per minute.

* `Retry-After` header: Seconds to wait before retrying.

## unauthenticated

HTTP 401 · Unauthenticated

Missing or invalid credentials.

* `WWW-Authenticate` header: Basic realm="DEKHQ Partner API"

## upload\_refused

HTTP 422 · Upload refused

The file can't be taken: its type isn't an art type we accept, it is empty or too large, its contents don't match its extension, or its bytes never arrived. `detail` says which. Start a new upload.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.