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

# Dohoo API HTTP Error Codes and Troubleshooting Guide

> A reference of HTTP error codes returned by the Dohoo API, what each status code means, and the steps you can take to resolve them quickly.

The Dohoo API uses standard HTTP status codes to communicate the outcome of every request. A `2xx` response means your request succeeded. A `4xx` response means something is wrong on your end — an invalid key, insufficient plan, or exhausted quota. A `5xx` response indicates a server-side issue. The table and guidance below cover the errors you're most likely to encounter.

## Error code reference

| Code  | Status         | Description                                               | Resolution                                                                                                                                     |
| ----- | -------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `401` | Unauthorized   | Your `X-API-Key` header is missing or the key is invalid. | Verify your key starts with `dh_live_` and is included in every request. If you recently rotated your key, make sure you're using the new one. |
| `403` | Forbidden      | Your current plan does not include API access.            | Upgrade to the Business or Agency plan. The Blogger plan does not grant API access.                                                            |
| `429` | Limit Exceeded | You've reached your monthly upload or post quota.         | Wait for your quota to reset at the start of the next billing period, or upgrade to a higher plan for a larger monthly allowance.              |

## Debugging checklist

If a request fails, work through these steps before contacting support:

<Steps>
  <Step title="Check the X-API-Key header">
    Confirm the header name is spelled exactly `X-API-Key` (case-sensitive in some clients) and that its value is your full key, including the `dh_live_` prefix.
  </Step>

  <Step title="Verify the key is active">
    If you recently rotated your API key, the old key is permanently invalidated. Retrieve your current key from **Settings → API Keys** or call `GET /api/user/api-key` with a valid key. Update every integration that uses the old value.
  </Step>

  <Step title="Confirm your plan includes API access">
    Open your account dashboard and check your active plan. API access is only available on Business ($31.99/mo) and Agency ($63.99/mo). If you're on the Blogger plan, upgrade before retrying.
  </Step>

  <Step title="Check your monthly quota">
    Go to the dashboard and review your remaining upload and post quota for the current billing period. If the counter is at zero, your requests will be rejected with `429` until the period resets.
  </Step>
</Steps>

## Monitoring your quota

<Tip>
  Before running bulk automations or scheduled publishing pipelines, check your remaining monthly quota in the Dohoo dashboard. Building a quota check into the start of your workflow prevents unexpected `429` errors mid-run.
</Tip>

## Server errors (5xx)

<Note>
  A `5xx` response means the error originated on Dohoo's servers, not in your request. Retry the request using exponential backoff — wait 1 second before the first retry, 2 seconds before the second, 4 seconds before the third, and so on. If the problem persists after several attempts, contact Dohoo support with the request details and the timestamp of the failure.
</Note>
