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

# WeCareRemote REST API overview

> The WeCareRemote REST API provides programmatic access to the AI assistant, authentication tokens, and meeting recordings. All requests return JSON.

The WeCareRemote REST API provides programmatic access to the platform's core features — the AI assistant, JWT authentication, and meeting recordings. All requests use standard HTTP and return JSON. Whether you are building an integration, automating workflows, or accessing meeting data, the API gives you direct access to the platform.

## When to use the API

Reach for the API when you want to:

* Embed the AI assistant in your own application or website
* Batch-process or analyse conversation data
* Trigger automation based on meeting recordings (transcription, summarisation, archiving)
* Synchronise WeCareRemote identities with another system
* Build custom dashboards for NGO staff

## Base URLs

Each service in the WeCareRemote platform has its own base URL.

| Service      | Base URL                                     |
| ------------ | -------------------------------------------- |
| AI Agent API | Provided by your WeCareRemote administrator  |
| Auth API     | `https://getme.global/api/v1/wordpress_auth` |

<Note>Your WeCareRemote administrator will provide the base URL for the AI agent API. The authentication API is always available at `https://getme.global/api/v1/wordpress_auth`.</Note>

## Authentication

All requests to the AI agent API require a Bearer token in the `Authorization` header. You obtain this token by logging in through the WeCareRemote web interface or by calling the JWT token endpoint.

```http theme={null}
Authorization: Bearer <your-token>
```

See the [Authentication guide](/api/authentication) for full details on obtaining and using tokens.

## Request format

All request bodies must be JSON. Set the `Content-Type` header on every request that includes a body.

```http theme={null}
Content-Type: application/json
```

## Response format

All responses are JSON. Successful responses include a data payload. Error responses include an error message describing what went wrong.

### HTTP status codes

| Code                        | Meaning                                               |
| --------------------------- | ----------------------------------------------------- |
| `200 OK`                    | Request succeeded.                                    |
| `400 Bad Request`           | The request was malformed or missing required fields. |
| `401 Unauthorized`          | The Bearer token is missing, expired, or invalid.     |
| `422 Unprocessable Entity`  | The request body failed validation.                   |
| `500 Internal Server Error` | An unexpected error occurred on the server.           |

## Example request

The following examples show a basic message sent to the AI agent endpoint.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST http://localhost:8080/ \
    -H "Authorization: Bearer your-token" \
    -H "Content-Type: application/json" \
    -d '{"message": "Hello, how can I get help?"}'
  ```

  ```python Python theme={null}
  import httpx

  client = httpx.Client()
  response = client.post(
      "http://localhost:8080/",
      headers={"Authorization": "Bearer your-token"},
      json={"message": "Hello, how can I get help?"}
  )
  print(response.json())
  ```
</CodeGroup>

## Rate limiting and retries

The API does not currently advertise a fixed rate limit, but you should treat the AI agent endpoint as bounded by the underlying model provider's quota. If you receive a `429 Too Many Requests` or a `500` indicating upstream throttling, back off and retry — an exponential strategy starting at one second works well.

For idempotent endpoints (`GET /jwt_token`, `POST /verify_jwt_token`, `GET /recordings`), it is safe to retry on any transient failure. For non-idempotent calls to the AI agent, retry only if you are certain the request was not processed.

## Versioning

The authentication API is versioned in the path (`/api/v1/wordpress_auth`). The AI agent and recordings APIs are deployed per-organization and follow the version provided by your administrator. If the API changes in a breaking way, WeCareRemote will introduce a new version path rather than altering existing endpoints in place.

## Explore the API

<CardGroup cols={2}>
  <Card title="AI agent" icon="robot" href="/api/agent">
    Send messages to the AI assistant and receive responses, with optional conversation history.
  </Card>

  <Card title="Authentication" icon="key" href="/api/auth">
    Obtain and verify JWT tokens for WeCareRemote users.
  </Card>

  <Card title="Authentication guide" icon="lock" href="/api/authentication">
    Learn how to pass Bearer tokens in your API requests.
  </Card>

  <Card title="Meeting recordings" icon="video" href="/api/records">
    List and download meeting recordings stored in cloud storage.
  </Card>
</CardGroup>
