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

# Reseller API v1

> Place and track Canva Pro team invitation orders programmatically.

## Overview

Base URL: `https://orders.balaipedia.com/v1`. All requests and responses are JSON over HTTPS (plain HTTP is not available). Send `Content-Type: application/json` on requests with a body. Timestamps are ISO 8601 UTC. Amounts are in your account currency. Only `GET` and `POST` are used.

> [!WARNING]
>
> The API is for **server-to-server** use only. Never put your API key in browser or mobile app code.

## Endpoints at a glance

| # | Method | Path | What it does |
| - | - | - | - |
| 1 | `POST` | [`/orders`](https://docs.balaipedia.com/api-reference/create-order) | Create an order (sends the invitation). |
| 2 | `GET` | [`/orders/{id}`](https://docs.balaipedia.com/api-reference/get-order) | Get the status of one order. |
| 3 | `GET` | [`/orders`](https://docs.balaipedia.com/api-reference/list-orders) | List and filter your orders. |
| 4 | `GET` | [`/balance`](https://docs.balaipedia.com/api-reference/get-balance) | Your credit balance and price per order. |
| 5 | `GET` | [`/transactions`](https://docs.balaipedia.com/api-reference/list-transactions) | Top-ups, charges, refunds and adjustments. |
| 6 | `POST` | [`/webhook`](https://docs.balaipedia.com/api-reference/set-webhook) | Set your webhook URL (or rotate its secret). |
| 7 | `GET` | [`/webhook`](https://docs.balaipedia.com/api-reference/get-webhook) | Read the current webhook setting. |
| 8 | `POST` | [`/webhook/disable`](https://docs.balaipedia.com/api-reference/disable-webhook) | Remove your webhook. |
| 9 | `POST` | [`/webhook/test`](https://docs.balaipedia.com/api-reference/test-webhook) | Send a test event to your webhook. |
| 10 | `GET` | [`/ping`](https://docs.balaipedia.com/api-reference/ping) | Health check (no authentication). |

## Response conventions

* **Every response from the API is JSON**, including errors, unknown URLs and wrong HTTP methods. Responses carry an `X-Request-Id` header (same value as `request_id` in error bodies). The only HTML page is the documentation.
* **Platform failures.** In rare cases a failure can happen before your request reaches our application (for example a gateway or network outage). Such a `5xx` response may not be JSON. Always check the HTTP status first and parse the body only if it is JSON. Treat any `5xx` or network timeout as retryable (see [Retries](https://docs.balaipedia.com/errors.md#retries)).
* Success responses return the object directly (no wrapper). Error responses always return `{"error":{"code","message","request_id"}}` (see [Errors](https://docs.balaipedia.com/errors.md)); branch on `code`, never on `message`.
* Fields documented as *nullable* are always present and are `null` when there is no value yet (for example `completed_at` on an order that is still processing). Fields are never omitted or `undefined`.
* Responses contain only information about your own orders and account. No internal or third-party system details are ever included.
* CORS is not enabled: call the API from your server, not from a browser.

> [card] [Quickstart](https://docs.balaipedia.com/quickstart.md)
>
> Create your first order.

> [card] [Authentication](https://docs.balaipedia.com/authentication.md)
>
> Authenticate with your API key.

> [card] [Webhooks](https://docs.balaipedia.com/webhooks.md)
>
> Receive order status changes.

> [card] [Errors and limits](https://docs.balaipedia.com/errors.md)
>
> Error codes, rate limits and retries.


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