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

# API Reference

> Endpoint-by-endpoint reference for the Xobito REST API.

This section lists every endpoint the Xobito REST API exposes. For conceptual background — base URL format, authentication, errors, rate limits, webhooks — start with the [developer guide](/developers/overview).

Each workspace has one bearer token; manage it at **Settings → API Management**.

## Base URL

All endpoints live under a single host, with your workspace subdomain as a **path parameter**:

```
https://dash.xobito.com/api/v1/{subdomain}/
```

For a workspace subdomain of `acme`, a list-contacts call is:

```
GET https://dash.xobito.com/api/v1/acme/contacts
```

## Authentication

Every request requires a bearer token (a 64-character hexadecimal string, no prefix):

```
Authorization: Bearer <your_token>
Accept: application/json
```

See [Authentication](/developers/authentication) for how to generate, rotate, and revoke the token.

## Response shape

Successful responses use:

```json theme={null}
{ "status": "success", "data": { ... }, "message": "..." }
```

Errors use:

```json theme={null}
{ "status": "error", "message": "...", "errors": { ... } }
```

See [Errors](/developers/errors) for every status code.

## Versioning

The current version is `v1`. Additive changes ship inside `v1`. Breaking changes ship under a new version prefix.

## Endpoints by resource

<CardGroup cols={2}>
  <Card title="Contacts" icon="user">
    Create, read, update, and delete contacts.
    [List](/api-reference/endpoints/list-contacts) · [Create](/api-reference/endpoints/create-contact) · [Update](/api-reference/endpoints/update-contact) · [Delete](/api-reference/endpoints/delete-contact)
  </Card>

  <Card title="Organize contacts" icon="folder-tree">
    Taxonomy and grouping.
    [Groups](/api-reference/endpoints/list-groups) · [Statuses](/api-reference/endpoints/list-statuses) · [Sources](/api-reference/endpoints/list-sources)
  </Card>

  <Card title="Templates" icon="file-lines">
    WhatsApp templates (read-only).
    [List](/api-reference/endpoints/list-templates)
  </Card>

  <Card title="Messaging" icon="paper-plane">
    Send text, template, and media messages.
    [Text](/api-reference/endpoints/send-text-message) · [Template](/api-reference/endpoints/send-template-message) · [Media](/api-reference/endpoints/send-media-message)
  </Card>

  <Card title="Message status" icon="circle-check">
    Poll a message's delivery state.
    [Get status](/api-reference/endpoints/message-status)
  </Card>

  <Card title="Phone validation" icon="phone">
    Validate the format of a phone number.
    [Validate](/api-reference/endpoints/validate-phone)
  </Card>
</CardGroup>

## Conventions

* **Content-Type** — `application/json` on requests with a body.
* **Timestamps** — ISO-8601 in UTC, microsecond precision.
* **Pagination** — Laravel paginator format, nested under `data`. See [Data Types](/developers/data-types#pagination-envelope).
* **Errors** — consistent `{ status, message, errors }` envelope. See [Errors](/developers/errors).

## Need help?

* Browse the [data types reference](/developers/data-types) to understand every field.
* Read the [webhooks section](/developers/webhooks-overview) if you want contact / status / source events pushed to you.
