---
title: 'Application API'
description: 'API endpoints for managing application-level resources'
---

# Application API

The Application API provides endpoints for managing application-level resources in Chatwoot, including contacts, conversations, inboxes, messages, and more.

<Note>
These APIs require a user API access token (`userApiKey`) for authentication.
</Note>

## Available Endpoints

The Application API includes endpoints for:

- **Account AgentBots** - Managing agent bots within accounts
- **Agents** - Managing agents
- **Canned Responses** - Managing canned responses
- **Contacts** - Managing contacts
- **Conversations** - Managing conversations
- **Custom Attributes** - Managing custom attributes
- **Custom Filters** - Managing custom filters
- **Inboxes** - Managing inboxes
- **Integrations** - Managing integrations
- **Messages** - Managing messages
- **Profile** - Managing user profile
- **Reports** - Generating reports
- **Teams** - Managing teams
- **Webhooks** - Managing webhooks
- **Automation Rules** - Managing automation rules
- **Help Center** - Managing help center

## Authentication

Application API endpoints require the user API access token:

```bash
curl -X GET "https://app.chatwoot.com/api/v1/accounts/{account_id}/inboxes" \
  -H "api_access_token: your_user_api_token"
```

## Rate Limiting

Application API requests are subject to rate limiting. Implement appropriate retry logic in your applications.

## OpenAPI Specification

The complete OpenAPI specification for the Application API is available below:

<Card title="OpenAPI Specification" icon="file-code" href="/api-reference/application">
  View the complete OpenAPI specification for the Application API
</Card>

## Code Examples

```javascript
// Example: Fetching all inboxes in an account
const response = await fetch('https://app.chatwoot.com/api/v1/accounts/1/inboxes', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'api_access_token': 'your_user_api_token'
  }
});

const data = await response.json();
console.log(data);
``` 