GET /api/v1/inboxes
Authentication
Use an agent API key and secret.
Responses
200
Inboxes retrieved successfully
Content type: application/json.
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | No | example: "success" |
| data | array of object | No | |
| data[].id | integer | No | example: 1 |
| data[].uuid | string | No | example: "550e8400-e29b-41d4-a716-446655440000" |
| data[].created_at | string (date-time) | No | example: "2025-08-28T10:00:00Z" |
| data[].updated_at | string (date-time) | No | example: "2025-08-28T10:00:00Z" |
| data[].name | string | No | example: "Support" |
| data[].channel | string (enum) | No | enum: ["email", "livechat"] example: "email" |
| data[].enabled | boolean | No | example: true |
| data[].csat_enabled | boolean | No | example: false |
| data[].prompt_tags_on_reply | boolean | No | example: false |
| data[].from | string | No | example: "[email protected]" |
| data[].from_name_template | string | No | example: "" |
| data[].config | object | No | Channel configuration. Passwords, OAuth tokens and client secrets are masked. |
| data[].secret | string | No | Livechat secret, masked when set. nullable: true |
| data[].linked_email_inbox_id | integer | No | nullable: true |
401
Unauthorized
Content type: application/json.
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | No | example: "error" |
| message | string | No | Error message example: "Invalid request" |
| data | unspecified | No | Additional error data nullable: true |
| error_type | string (enum) | No | enum: ["GeneralException", "PermissionException", "InputException", "DataException", "NetworkException", "NotFoundException", "ConflictException", "UnauthorizedException", "RateLimitException"] |
500
Internal server error
Content type: application/json.
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | No | example: "error" |
| message | string | No | Error message example: "Invalid request" |
| data | unspecified | No | Additional error data nullable: true |
| error_type | string (enum) | No | enum: ["GeneralException", "PermissionException", "InputException", "DataException", "NetworkException", "NotFoundException", "ConflictException", "UnauthorizedException", "RateLimitException"] |
Specification
Download the complete OpenAPI specification.
OpenAPI definition for this endpoint
openapi: 3.0.0
info:
title: Libredesk API
description: >-
REST API documentation for Libredesk helpdesk system.
## Authentication
The Libredesk API supports two authentication methods:
### 1. Basic Authentication
Use your API key and secret with Basic authentication:
```
Authorization: Basic <base64_encoded_api_key:api_secret>
```
### 2. Token Authentication
Use your API key and secret with token authentication:
```
Authorization: token api_key:api_secret
```
To obtain API credentials, generate them from your agent profile in the
Libredesk dashboard.
version: 1.0.0
servers:
- url: http://localhost:8080
description: Local development server
security:
- basicAuth: []
- tokenAuth: []
paths:
/api/v1/inboxes:
get:
tags:
- Inboxes
summary: List Inboxes
operationId: handleGetInboxes
responses:
'200':
description: Inboxes retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/InboxListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- basicAuth: []
- tokenAuth: []
components:
schemas:
InboxListResponse:
type: object
properties:
status:
type: string
example: success
data:
type: array
items:
$ref: '#/components/schemas/Inbox'
ErrorResponse:
type: object
description: Error response format
properties:
status:
type: string
example: error
message:
type: string
description: Error message
example: Invalid request
data:
nullable: true
description: Additional error data
error_type:
type: string
enum:
- GeneralException
- PermissionException
- InputException
- DataException
- NetworkException
- NotFoundException
- ConflictException
- UnauthorizedException
- RateLimitException
Inbox:
type: object
properties:
id:
type: integer
example: 1
uuid:
type: string
example: 550e8400-e29b-41d4-a716-446655440000
created_at:
type: string
format: date-time
example: '2025-08-28T10:00:00Z'
updated_at:
type: string
format: date-time
example: '2025-08-28T10:00:00Z'
name:
type: string
example: Support
channel:
type: string
enum:
- email
- livechat
example: email
enabled:
type: boolean
example: true
csat_enabled:
type: boolean
example: false
prompt_tags_on_reply:
type: boolean
example: false
from:
type: string
example: [email protected]
from_name_template:
type: string
example: ''
config:
type: object
description: >-
Channel configuration. Passwords, OAuth tokens and client secrets
are masked.
secret:
type: string
description: Livechat secret, masked when set.
nullable: true
linked_email_inbox_id:
type: integer
nullable: true
securitySchemes:
basicAuth:
type: http
scheme: basic
description: >-
Basic authentication using base64 encoded API key and secret. Format:
`Authorization: Basic <base64(api_key:api_secret)>`
tokenAuth:
type: apiKey
name: Authorization
in: header
description: >-
Token authentication using API key and secret. Format: `Authorization:
token api_key:api_secret`
