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

# API reference

> Every endpoint in the inDM API, with a playground to try each one.

Every page in this tab is one endpoint. Each shows its scope, its fields, an example in curl, JavaScript and Python, and a playground that calls the live API with your key.

> [!WARNING]
>
> The playground sends real requests to your workspace. A `full` key there can set automations live on your Instagram account. Try writes with care, or use a `read` key while you explore.

## Conventions

| | |
| - | - |
| **Base URL** | `https://api.indm.social/v1` |
| **Authentication** | `Authorization: Bearer indm_...`. See [Authentication](https://docs.indm.social/authentication.md). |
| **Scope** | Each endpoint names the scope it needs: `read` or `full`. |
| **Bodies** | JSON, with `Content-Type: application/json`. Field names are `snake_case`. |
| **Objects** | Returned bare, such as an automation or an account. |
| **Lists** | `{ "data": [...], "has_more": ..., "next_cursor": ... }`. See [Pagination](https://docs.indm.social/pagination.md). |
| **Errors** | `{ "error": { "type", "code", "message", "param", "doc_url" } }`. See [Errors](https://docs.indm.social/errors.md). |
| **Ids** | UUIDs. |
| **Times** | ISO 8601, in UTC. |
| **Request id** | Every response carries `X-Request-Id`. Include it when you contact support. |

## Endpoints

| Endpoint | Scope | What it does |
| - | - | - |
| [`GET /workspace`](https://docs.indm.social/api-reference/workspace/get-workspace) | `read` | The workspace, its plan, and this key's scope and expiry. |
| [`GET /accounts`](https://docs.indm.social/api-reference/accounts/list-accounts) | `read` | Connected Instagram accounts. |
| [`GET /accounts/{account_id}`](https://docs.indm.social/api-reference/accounts/get-account) | `read` | One account. |
| [`GET /accounts/{account_id}/health`](https://docs.indm.social/api-reference/accounts/get-account-health) | `read` | Connection, send pace, queue and recent refusals. |
| [`POST /accounts/{account_id}/refresh`](https://docs.indm.social/api-reference/accounts/refresh-account) | `full` | Pull the newest posts from Instagram now. |
| [`GET /accounts/{account_id}/refresh/{job_id}`](https://docs.indm.social/api-reference/accounts/get-refresh) | `read` | Where a refresh has got to. |
| [`GET /media`](https://docs.indm.social/api-reference/media/list-media) | `read` | Synced posts and reels, newest first. |
| [`GET /media/{media_id}`](https://docs.indm.social/api-reference/media/get-media) | `read` | One post or reel. |
| [`GET /automations`](https://docs.indm.social/api-reference/automations/list-automations) | `read` | Automations, newest first. |
| [`GET /automations/{automation_id}`](https://docs.indm.social/api-reference/automations/get-automation) | `read` | One automation's full setup. |
| [`POST /automations`](https://docs.indm.social/api-reference/automations/create-automation) | `full` | Create an automation, as a draft. |
| [`PATCH /automations/{automation_id}`](https://docs.indm.social/api-reference/automations/update-automation) | `full` | Change an automation. |
| [`POST /automations/{automation_id}/status`](https://docs.indm.social/api-reference/automations/set-automation-status) | `full` | Set it live or pause it. |
| [`GET /automations/{automation_id}/stats`](https://docs.indm.social/api-reference/automations/get-automation-stats) | `read` | How it's doing. |
| [`POST /automations/validate`](https://docs.indm.social/api-reference/automations/validate-automation) | `read` | Check an automation without saving it. |


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