### GET /api/v1/priorities Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/priorities ```markdown ### Responses #### 200 - Priorities retrieved successfully **PriorityListResponse** - **status** (string) (example: "success") - **data** (array (Priority)) Array items: - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **name** (string) (example: "High") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/priorities" ``` ``` -------------------------------- ### GET /api/v1/ai/prompts Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/ai/prompts ```markdown ### Responses #### 200 - AI prompts retrieved successfully **AIPromptListResponse** - **status** (string) (example: "success") - **data** (array (AIPrompt)) Array items: - **id** (integer): Unique prompt ID (example: 1) - **created_at** (string (date-time)) (example: "2025-08-30T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-30T10:00:00Z") - **key** (string): Unique key identifier for the prompt (example: "reply_friendly") - **title** (string): Display title of the prompt (example: "Friendly Reply") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/ai/prompts" ``` ``` -------------------------------- ### GET /api/v1/agents/me Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/agents/me ```markdown ### Responses #### 200 - Current agent details **AgentResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **email** (string (email)) (example: "john.doe@example.com") - **type** (string) (example: "agent") - **availability_status** (string) (example: "online") - **phone_number_country_code** (string) (example: "US") - **phone_number** (string) (example: "1234567890") - **avatar_url** (string) (example: "/avatars/agent1.jpg") - **enabled** (boolean) (example: true) - **last_active_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **last_login_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **roles** (array (string)) (example: ["admin"]) - **permissions** (array (string)) (example: ["conversations:read"]) - **custom_attributes** (object) - **teams** (array (TeamCompact)) Array items: - **id** (integer) (example: 1) - **name** (string) (example: "Support Team") - **emoji** (string) (example: "🛠️") - **api_key** (string) - **api_key_last_used_at** (string (date-time)) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/agents/me" ``` ``` -------------------------------- ### GET /api/v1/conversations/all Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/conversations/all ```markdown ### Parameters - **page** (integer, query, optional): Page number (defaults to 1) - **page_size** (integer, query, optional): Number of items per page (defaults to 30, max 100) ### Responses #### 200 - All conversations retrieved successfully **ConversationListResponse** - **status** (string) (example: "success") - **data** (object) - **results** (array (ConversationListItem)) Array items: - **id** (integer) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **uuid** (string) - **waiting_since** (string (date-time)) - **assignee_last_seen_at** (string (date-time)) - **contact** (object) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **first_name** (string) - **last_name** (string) - **avatar_url** (string) - **inbox_channel** (string) - **inbox_name** (string) - **sla_policy_id** (integer) - **first_reply_at** (string (date-time)) - **last_reply_at** (string (date-time)) - **resolved_at** (string (date-time)) - **subject** (string) - **last_message** (string) - **last_message_at** (string (date-time)) - **last_message_sender** (string) - **next_sla_deadline_at** (string (date-time)) - **priority_id** (integer) - **unread_message_count** (integer) - **status** (string) - **priority** (string) - **first_response_deadline_at** (string (date-time)) - **resolution_deadline_at** (string (date-time)) - **applied_sla_id** (integer) - **next_response_deadline_at** (string (date-time)) - **next_response_met_at** (string (date-time)) - **total** (integer) - **per_page** (integer) - **total_pages** (integer) - **page** (integer) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/conversations/all?page=1&page_size=30" ``` ``` -------------------------------- ### GET /api/v1/agents Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/agents ```markdown ### Responses #### 200 - Agents retrieved successfully **AgentListResponse** - **status** (string) (example: "success") - **data** (array (AgentCompact)) Array items: #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/agents" ``` ``` -------------------------------- ### GET /api/v1/teams Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/teams ```markdown ### Responses #### 200 - List of teams **TeamListResponse** - **status** (string) (example: "success") - **data** (array (Team)) Array items: - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **emoji** (string) (example: "🛠️") - **name** (string) (example: "Support Team") - **conversation_assignment_type** (string) (example: "round_robin") - **timezone** (string) (example: "UTC") - **business_hours_id** (integer) (example: 1) - **sla_policy_id** (integer) (example: 1) - **max_auto_assigned_conversations** (integer) (example: 10) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/teams" ``` ``` -------------------------------- ### GET /api/v1/statuses Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/statuses ```markdown ### Responses #### 200 - Statuses retrieved successfully **StatusListResponse** - **status** (string) (example: "success") - **data** (array (Status)) Array items: - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **name** (string) (example: "Open") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/statuses" ``` ``` -------------------------------- ### GET /api/v1/agents/{id} Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/agents/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Agent retrieved successfully **AgentResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **email** (string (email)) (example: "john.doe@example.com") - **type** (string) (example: "agent") - **availability_status** (string) (example: "online") - **phone_number_country_code** (string) (example: "US") - **phone_number** (string) (example: "1234567890") - **avatar_url** (string) (example: "/avatars/agent1.jpg") - **enabled** (boolean) (example: true) - **last_active_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **last_login_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **roles** (array (string)) (example: ["admin"]) - **permissions** (array (string)) (example: ["conversations:read"]) - **custom_attributes** (object) - **teams** (array (TeamCompact)) Array items: - **id** (integer) (example: 1) - **name** (string) (example: "Support Team") - **emoji** (string) (example: "🛠️") - **api_key** (string) - **api_key_last_used_at** (string (date-time)) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/agents/{id}" ``` ``` -------------------------------- ### GET /api/v1/messages/search Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/messages/search ```markdown ### Parameters - **query** (string, query, required): Search query (minimum 3 characters) ### Responses #### 200 - Messages searched successfully **MessageSearchResponse** - **status** (string) (example: "success") - **data** (array (MessageSearchResult)) Array items: - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **text_content** (string) (example: "Hello, I need help with my order.") - **conversation_created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **conversation_uuid** (string) (example: "550e8400-e29b-41d4-a716-446655440000") - **conversation_reference_number** (string) (example: "REF-001") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/messages/search?query=string" ``` ``` -------------------------------- ### GET /api/v1/teams/{id} Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/teams/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Team retrieved successfully **TeamResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **emoji** (string) (example: "🛠️") - **name** (string) (example: "Support Team") - **conversation_assignment_type** (string) (example: "round_robin") - **timezone** (string) (example: "UTC") - **business_hours_id** (integer) (example: 1) - **sla_policy_id** (integer) (example: 1) - **max_auto_assigned_conversations** (integer) (example: 10) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/teams/{id}" ``` ``` -------------------------------- ### GET /api/v1/contacts/{id}/notes Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/contacts/{id}/notes ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Contact notes retrieved successfully **ContactNoteListResponse** - **status** (string) (example: "success") - **data** (array (ContactNote)) Array items: - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **contact_id** (integer) (example: 1) - **note** (string) (example: "Customer prefers email communication") - **user_id** (integer) (example: 1) - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **avatar_url** (string) (example: "/avatars/agent1.jpg") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/contacts/{id}/notes" ``` ``` -------------------------------- ### API Overview: Libredesk API Source: https://docs.libredesk.io/api-reference/openapi.json 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 ``` ### 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. ```yaml # Libredesk API # Version: 1.0.0 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 ``` ### 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. # Base URL: http://localhost:8080 ``` -------------------------------- ### GET /health Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /health ```markdown ### Responses #### 200 - Health check passed **SuccessResponse** - **status** (string) (example: "success") - **data** (boolean) (example: true) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/health" ``` ``` -------------------------------- ### POST /api/v1/media Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for POST /api/v1/media ```markdown ### Request Body **Content-Type:** multipart/form-data - **files** (string (binary)): File to upload ### Responses #### 200 - Successful media upload response **MediaResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 123) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **uuid** (string) (example: "550e8400-e29b-41d4-a716-446655440000") - **store** (string) (example: "fs") - **filename** (string) (example: "example.jpg") - **content_type** (string) (example: "image/jpeg") - **content_id** (string) (example: "") - **model_id** (integer) (example: 456) - **model_type** (string) (example: "messages") - **disposition** (string) (example: "attachment") - **size** (integer) (example: 102400) - **meta** (object) (example: {"width":800,"height":600}) - **url** (string) (example: "/uploads/550e8400-e29b-41d4-a716-446655440000") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X POST "http://localhost:8080/api/v1/media" \ -H "Content-Type: application/json" \ -d '{ "files": "string" }' ``` ``` -------------------------------- ### POST /api/v1/ai/completion Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for POST /api/v1/ai/completion ```markdown ### Request Body **Content-Type:** application/json - **prompt_key** (string) (required): AI prompt identifier - **content** (string) (required): Content for AI completion ### Responses #### 200 - AI completion generated successfully **AICompletionResponse** - **status** (string) (example: "success") - **data** (string): The AI-generated completion response (example: "Thank you for contacting us. I'll help you resolve this issue...") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X POST "http://localhost:8080/api/v1/ai/completion" \ -H "Content-Type: application/json" \ -d '{ "prompt_key": "string", "content": "string" }' ``` ``` -------------------------------- ### GET /api/v1/conversations/search Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/conversations/search ```markdown ### Parameters - **query** (string, query, required): Search query (minimum 3 characters) ### Responses #### 200 - Conversations searched successfully **ConversationSearchResponse** - **status** (string) (example: "success") - **data** (array (ConversationSearchResult)) Array items: - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **uuid** (string) (example: "550e8400-e29b-41d4-a716-446655440000") - **reference_number** (string) (example: "REF-001") - **subject** (string) (example: "Order inquiry") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/conversations/search?query=string" ``` ``` -------------------------------- ### POST /api/v1/agents/{id}/api-key Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for POST /api/v1/agents/{id}/api-key ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - API key generated successfully **APIKeyResponse** - **status** (string) (example: "success") - **data** (object) - **api_key** (string) (example: "ak_1234567890abcdef") - **api_secret** (string) (example: "as_abcdef1234567890") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X POST "http://localhost:8080/api/v1/agents/{id}/api-key" ``` ``` -------------------------------- ### GET /api/v1/contacts/search Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/contacts/search ```markdown ### Parameters - **query** (string, query, required): Search query (minimum 3 characters) ### Responses #### 200 - Contacts searched successfully **ContactSearchResponse** - **status** (string) (example: "success") - **data** (array (ContactSearchResult)) Array items: - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **email** (string (email)) (example: "john.doe@example.com") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/contacts/search?query=string" ``` ``` -------------------------------- ### GET /api/v1/contacts Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for GET /api/v1/contacts ```markdown ### Parameters - **page** (integer, query, optional): Page number (defaults to 1) - **page_size** (integer, query, optional): Number of items per page (defaults to 30, max 100) ### Responses #### 200 - List of contacts **ContactListResponse** - **status** (string) (example: "success") - **data** (object) - **results** (array (ContactList)) Array items: - **id** (integer) (example: 163) - **type** (string) (example: "contact") - **first_name** (string) (example: "PayPal") - **last_name** (string) (example: "") - **email** (string (email)) (example: "donotreply@paypal.com") - **enabled** (boolean) (example: true) - **avatar_url** (string) (example: null) - **created_at** (string (date-time)) (example: "2025-09-14T18:53:01.172243Z") - **updated_at** (string (date-time)) (example: "2025-09-14T18:53:01.172243Z") - **total** (integer) (example: 39) - **per_page** (integer) (example: 100) - **total_pages** (integer) (example: 1) - **page** (integer) (example: 1) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/contacts?page=1&page_size=30" ``` ``` -------------------------------- ### POST /api/v1/agents Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for POST /api/v1/agents ```markdown ### Request Body **Content-Type:** application/json - **first_name** (string) (required): Agent's first name - **last_name** (string): Agent's last name - **email** (string (email)) (required): Agent's email address - **roles** (array (string)) (required): Roles assigned to the agent - **send_welcome_email** (boolean): Only used during agent creation to send welcome email - **teams** (array (string)): Team IDs to assign agent to - **enabled** (boolean): Whether agent is enabled - **availability_status** (string (online|away|away_manual|offline|away_and_reassigning)): Agent's availability status ("online"|"away"|"away_manual"|"offline"|"away_and_reassigning") - **new_password** (string): Agent's new password, Optional ### Responses #### 200 - Agent created successfully **AgentResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **email** (string (email)) (example: "john.doe@example.com") - **type** (string) (example: "agent") - **availability_status** (string) (example: "online") - **phone_number_country_code** (string) (example: "US") - **phone_number** (string) (example: "1234567890") - **avatar_url** (string) (example: "/avatars/agent1.jpg") - **enabled** (boolean) (example: true) - **last_active_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **last_login_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **roles** (array (string)) (example: ["admin"]) - **permissions** (array (string)) (example: ["conversations:read"]) - **custom_attributes** (object) - **teams** (array (TeamCompact)) Array items: - **id** (integer) (example: 1) - **name** (string) (example: "Support Team") - **emoji** (string) (example: "🛠️") - **api_key** (string) - **api_key_last_used_at** (string (date-time)) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X POST "http://localhost:8080/api/v1/agents" \ -H "Content-Type: application/json" \ -d '{ "first_name": "string", "last_name": "string", "email": "user@example.com", "roles": [ "string" ], "send_welcome_email": "true", "teams": [ "string" ], "enabled": "true", "availability_status": "online", "new_password": "string" }' ``` ``` -------------------------------- ### PUT /api/v1/agents/me/availability Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for PUT /api/v1/agents/me/availability ```markdown ### Request Body **Content-Type:** application/json - **status** (string (available|busy|away|offline)) (required): Availability status ("available"|"busy"|"away"|"offline") ### Responses #### 200 - Agent availability status updated successfully **AgentResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **email** (string (email)) (example: "john.doe@example.com") - **type** (string) (example: "agent") - **availability_status** (string) (example: "online") - **phone_number_country_code** (string) (example: "US") - **phone_number** (string) (example: "1234567890") - **avatar_url** (string) (example: "/avatars/agent1.jpg") - **enabled** (boolean) (example: true) - **last_active_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **last_login_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **roles** (array (string)) (example: ["admin"]) - **permissions** (array (string)) (example: ["conversations:read"]) - **custom_attributes** (object) - **teams** (array (TeamCompact)) Array items: - **id** (integer) (example: 1) - **name** (string) (example: "Support Team") - **emoji** (string) (example: "🛠️") - **api_key** (string) - **api_key_last_used_at** (string (date-time)) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X PUT "http://localhost:8080/api/v1/agents/me/availability" \ -H "Content-Type: application/json" \ -d '{ "status": "available" }' ``` ``` -------------------------------- ### Schema: AIPrompt Source: https://docs.libredesk.io/api-reference/openapi.json Schema definition for AIPrompt ```markdown ## Schema: AIPrompt Schema definition for AIPrompt **Type:** object - **id** (integer): Unique prompt ID (example: 1) - **created_at** (string (date-time)) (example: "2025-08-30T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-30T10:00:00Z") - **key** (string): Unique key identifier for the prompt (example: "reply_friendly") - **title** (string): Display title of the prompt (example: "Friendly Reply") ``` -------------------------------- ### GET /api/v1/conversations/unassigned Source: https://docs.libredesk.io/api-reference/openapi.json Get all conversations not assigned to any user and team ```markdown ### Parameters - **page** (integer, query, optional): Page number (defaults to 1) - **page_size** (integer, query, optional): Number of items per page (defaults to 30, max 100) ### Responses #### 200 - Unassigned conversations retrieved successfully **ConversationListResponse** - **status** (string) (example: "success") - **data** (object) - **results** (array (ConversationListItem)) Array items: - **id** (integer) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **uuid** (string) - **waiting_since** (string (date-time)) - **assignee_last_seen_at** (string (date-time)) - **contact** (object) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **first_name** (string) - **last_name** (string) - **avatar_url** (string) - **inbox_channel** (string) - **inbox_name** (string) - **sla_policy_id** (integer) - **first_reply_at** (string (date-time)) - **last_reply_at** (string (date-time)) - **resolved_at** (string (date-time)) - **subject** (string) - **last_message** (string) - **last_message_at** (string (date-time)) - **last_message_sender** (string) - **next_sla_deadline_at** (string (date-time)) - **priority_id** (integer) - **unread_message_count** (integer) - **status** (string) - **priority** (string) - **first_response_deadline_at** (string (date-time)) - **resolution_deadline_at** (string (date-time)) - **applied_sla_id** (integer) - **next_response_deadline_at** (string (date-time)) - **next_response_met_at** (string (date-time)) - **total** (integer) - **per_page** (integer) - **total_pages** (integer) - **page** (integer) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/conversations/unassigned?page=1&page_size=30" ``` ``` -------------------------------- ### Schema: Media Source: https://docs.libredesk.io/api-reference/openapi.json Schema definition for Media ```markdown ## Schema: Media Schema definition for Media **Type:** object - **id** (integer) (example: 123) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **uuid** (string) (example: "550e8400-e29b-41d4-a716-446655440000") - **store** (string) (example: "fs") - **filename** (string) (example: "example.jpg") - **content_type** (string) (example: "image/jpeg") - **content_id** (string) (example: "") - **model_id** (integer) (example: 456) - **model_type** (string) (example: "messages") - **disposition** (string) (example: "attachment") - **size** (integer) (example: 102400) - **meta** (object) (example: {"width":800,"height":600}) - **url** (string) (example: "/uploads/550e8400-e29b-41d4-a716-446655440000") ``` -------------------------------- ### GET /api/v1/conversations/assigned Source: https://docs.libredesk.io/api-reference/openapi.json Get all assigned conversations to current user ```markdown ### Parameters - **page** (integer, query, optional): Page number (defaults to 1) - **page_size** (integer, query, optional): Number of items per page (defaults to 30, max 100) ### Responses #### 200 - Assigned conversations retrieved successfully **ConversationListResponse** - **status** (string) (example: "success") - **data** (object) - **results** (array (ConversationListItem)) Array items: - **id** (integer) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **uuid** (string) - **waiting_since** (string (date-time)) - **assignee_last_seen_at** (string (date-time)) - **contact** (object) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **first_name** (string) - **last_name** (string) - **avatar_url** (string) - **inbox_channel** (string) - **inbox_name** (string) - **sla_policy_id** (integer) - **first_reply_at** (string (date-time)) - **last_reply_at** (string (date-time)) - **resolved_at** (string (date-time)) - **subject** (string) - **last_message** (string) - **last_message_at** (string (date-time)) - **last_message_sender** (string) - **next_sla_deadline_at** (string (date-time)) - **priority_id** (integer) - **unread_message_count** (integer) - **status** (string) - **priority** (string) - **first_response_deadline_at** (string (date-time)) - **resolution_deadline_at** (string (date-time)) - **applied_sla_id** (integer) - **next_response_deadline_at** (string (date-time)) - **next_response_met_at** (string (date-time)) - **total** (integer) - **per_page** (integer) - **total_pages** (integer) - **page** (integer) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/conversations/assigned?page=1&page_size=30" ``` ``` -------------------------------- ### POST /api/v1/contacts/{id}/notes Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for POST /api/v1/contacts/{id}/notes ```markdown ### Parameters - **id** (string, path, required) ### Request Body **Content-Type:** application/json - **note** (string) (required): Note content ### Responses #### 200 - Contact note created successfully **ContactNoteResponse** - **status** (string) (example: "success") - **data** (object) - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **updated_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **contact_id** (integer) (example: 1) - **note** (string) (example: "Customer prefers email communication") - **user_id** (integer) (example: 1) - **first_name** (string) (example: "John") - **last_name** (string) (example: "Doe") - **avatar_url** (string) (example: "/avatars/agent1.jpg") #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X POST "http://localhost:8080/api/v1/contacts/{id}/notes" \ -H "Content-Type: application/json" \ -d '{ "note": "string" }' ``` ``` -------------------------------- ### GET /api/v1/views/{id}/conversations Source: https://docs.libredesk.io/api-reference/openapi.json Get conversations for a specific view ```markdown ### Parameters - **id** (string, path, required): Unique ID of the view - **page** (integer, query, optional): Page number (defaults to 1) - **page_size** (integer, query, optional): Number of items per page (defaults to 30, max 100) ### Responses #### 200 - List of conversations for view **ConversationListResponse** - **status** (string) (example: "success") - **data** (object) - **results** (array (ConversationListItem)) Array items: - **id** (integer) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **uuid** (string) - **waiting_since** (string (date-time)) - **assignee_last_seen_at** (string (date-time)) - **contact** (object) - **created_at** (string (date-time)) - **updated_at** (string (date-time)) - **first_name** (string) - **last_name** (string) - **avatar_url** (string) - **inbox_channel** (string) - **inbox_name** (string) - **sla_policy_id** (integer) - **first_reply_at** (string (date-time)) - **last_reply_at** (string (date-time)) - **resolved_at** (string (date-time)) - **subject** (string) - **last_message** (string) - **last_message_at** (string (date-time)) - **last_message_sender** (string) - **next_sla_deadline_at** (string (date-time)) - **priority_id** (integer) - **unread_message_count** (integer) - **status** (string) - **priority** (string) - **first_response_deadline_at** (string (date-time)) - **resolution_deadline_at** (string (date-time)) - **applied_sla_id** (integer) - **next_response_deadline_at** (string (date-time)) - **next_response_met_at** (string (date-time)) - **total** (integer) - **per_page** (integer) - **total_pages** (integer) - **page** (integer) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X GET "http://localhost:8080/api/v1/views/{id}/conversations?page=1&page_size=30" ``` ``` -------------------------------- ### PUT /api/v1/ai/provider Source: https://docs.libredesk.io/api-reference/openapi.json API endpoint for PUT /api/v1/ai/provider ```markdown ### Request Body **Content-Type:** application/json - **provider** (string) (required): AI provider name - **api_key** (string) (required): API key for provider ### Responses #### 200 - AI provider updated successfully **SuccessResponse** - **status** (string) (example: "success") - **data** (boolean) (example: true) #### 401 - Unauthorized Unauthorized #### 500 - Internal server error Internal server error ### Example Usage ```bash curl -X PUT "http://localhost:8080/api/v1/ai/provider" \ -H "Content-Type: application/json" \ -d '{ "provider": "string", "api_key": "string" }' ``` ``` -------------------------------- ### Schema: Priority Source: https://docs.libredesk.io/api-reference/openapi.json Schema definition for Priority ```markdown ## Schema: Priority Schema definition for Priority **Type:** object - **id** (integer) (example: 1) - **created_at** (string (date-time)) (example: "2025-08-28T10:00:00Z") - **name** (string) (example: "High") ```