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

# API reference

> How to read the MessageDesk Developer API reference and try requests from the playground.

# API reference

Endpoints are grouped the way integrations use them: **Context lookups**, **Actions** and **Triggers**.

<Note>
  **Paths are namespaced by provider.** Every endpoint here lives under `/integrations/developer/zapier`, the namespace for the only provider supported today. Additional namespaces will follow when general API access opens up; the request and response shapes are designed to stay the same.
</Note>

***

## Using the playground

1. Paste an OAuth 2.0 access token into the **Authorization** field. See [Authentication](/developer/authentication) for how tokens are issued.
2. Fill in the body or query fields and send. Required fields are marked. `developerProvider` names the calling provider and is `zapier` for the endpoints listed here.

***

## Zapier steps and their endpoints

Zapier is the only provider today, so a Zap's task history is the most common place you'll meet these endpoints. Each step is one request. Setup questions belong in the [Zapier integration guide](/integrations/zapier); this table is for matching a step to its reference page.

| Zapier step                     | Endpoint                                                                                                                                                                                |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Workspace Name** dropdown     | [List my workspaces](/developer/api-reference/endpoints/list-my-workspaces)                                                                                                             |
| **From** dropdown               | [List outbound channels](/developer/api-reference/endpoints/list-outbound-channels)                                                                                                     |
| **Mentions** dropdown           | [List workspace users](/developer/api-reference/endpoints/list-workspace-users)                                                                                                         |
| Custom fields on contact steps  | [List contact properties](/developer/api-reference/endpoints/list-contact-properties)                                                                                                   |
| **Send Message**                | [Send a message](/developer/api-reference/endpoints/send-a-message)                                                                                                                     |
| **Send Group Message**          | [Send a group message](/developer/api-reference/endpoints/send-a-group-message)                                                                                                         |
| **Send Broadcast Message**      | [Send a broadcast](/developer/api-reference/endpoints/send-a-broadcast)                                                                                                                 |
| **Create or Update Contact**    | [Create or update a contact](/developer/api-reference/endpoints/create-or-update-a-contact)                                                                                             |
| **Create Comment**              | [Create a comment](/developer/api-reference/endpoints/create-a-comment)                                                                                                                 |
| **Create Opt Out**              | [Create an opt out](/developer/api-reference/endpoints/create-an-opt-out)                                                                                                               |
| **Find or Create Contact**      | [Find contacts](/developer/api-reference/endpoints/find-contacts), then [Create a contact](/developer/api-reference/endpoints/create-a-contact) if there's no match                     |
| **Find or Create Conversation** | [Find conversations](/developer/api-reference/endpoints/find-conversations), then [Create a conversation](/developer/api-reference/endpoints/create-a-conversation) if there's no match |
| Turning a Zap on or off         | [Subscribe to an event](/developer/api-reference/endpoints/subscribe-to-an-event), [Unsubscribe from an event](/developer/api-reference/endpoints/unsubscribe-from-an-event)            |
| Trigger sample data             | The matching **Sample ...** endpoint under Triggers. Real recent records, or generated placeholders when the workspace has none, in exactly the webhook's shape.                        |

***

## Reading the schemas

* Names are prefixed with the internal package that defines them (`developer.`, `entities.`, `enums.`). The prefix has no meaning on the wire.
* **`entities.*`** schemas are full records as MessageDesk stores them and include nested relationships. Context lookups return them; actions return the smaller **`developer.*Response`** shapes.
* Fields typed as `object` with no properties accept or return arbitrary JSON, for example a contact's custom `properties`.

***

## Download

* [openapi.json](/developer/api-reference/openapi.json)
* [openapi.yaml](/developer/api-reference/openapi.yaml)
