Tickets
Open and follow support tickets with Depa from your own systems.
Link a ticket to an account and to the payment or trade it's about, so the support team
has the context. Ticket numbers (for example TKT-00012) are searchable, and fetching a
ticket marks its messages as read.
/ticketsReturns the support tickets of your vault, most recently updated first. Filter by status, priority or category, or search by ticket number, text or account.
Authorization
BearerAuth Token from POST /sign_in, sent as Authorization: Bearer <token>.
In: header
Query Parameters
Page number, starting at 1.
1 <= value1Filter by ticket status.
Value in
- "open"
- "in_progress"
- "waiting_customer"
- "resolved"
- "closed"
Filter by ticket priority.
Value in
- "low"
- "normal"
- "high"
- "urgent"
Filter by ticket category slug.
Free-text search. Matches ticket number (e.g. TKT-00012), subject, description, message body, or account UUID/alias.
Response Body
application/json
application/json
curl -X GET "https://example.com/tickets?page=1"{ "data": [ { "id": "8b3e6f1a-2d9c-4a7e-b1f5-0e4c7d2a9b83", "ticket_number": "TKT-00012", "subject": "Incoming SEPA payment not credited", "status": "open", "priority": "normal", "category": "payment", "has_unread_messages": true, "unread_count": 1, "last_message_at": 1772813114, "ticketable": { "type": "fiat_payment", "id": "7e2a9c4b-5d1f-4b8e-9a3c-6f0e2d8b1a74", "summary": "Incoming EUR 1,250.00 from Müller Bürobedarf GmbH" }, "account_uuid": "8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23", "client_assignee": { "uuid": "4c2e8a1f-6b3d-4e9a-8f7c-1d5b0a2e9c36", "email": "maria@acme.example" }, "created_at": 1772813114, "updated_at": 1772813114, "closed_at": null } ], "pagination": { "current_page": 1, "per_page": 80, "total_pages": 1, "total_count": 2 }}/ticketsOpens a support ticket. Attach it to an account with account_uuid, and to the payment or
trade it's about with ticketable_type and ticketable_uuid. message becomes the first
message on the ticket.
Authorization
BearerAuth Token from POST /sign_in, sent as Authorization: Bearer <token>.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/tickets" \ -H "Content-Type: application/json" \ -d '{ "subject": "Incoming SEPA payment not credited", "category_slug": "payment", "priority": "high", "account_uuid": "8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23", "ticketable_type": "fiat_payment", "ticketable_uuid": "7e2a9c4b-5d1f-4b8e-9a3c-6f0e2d8b1a74", "message": "The sender\'s reference was INV-2026-0142." }'{ "data": { "id": "8b3e6f1a-2d9c-4a7e-b1f5-0e4c7d2a9b83", "ticket_number": "TKT-00012", "subject": "Incoming SEPA payment not credited", "description": "A transfer of EUR 1,250 sent on 2 March hasn't reached the account.", "status": "open", "priority": "normal", "category": { "slug": "payment", "name": "Payment issues" }, "has_unread_messages": false, "ticketable": { "type": "fiat_payment", "id": "7e2a9c4b-5d1f-4b8e-9a3c-6f0e2d8b1a74", "summary": "Incoming EUR 1,250.00 from Müller Bürobedarf GmbH", "details": {} }, "account": { "uuid": "8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23", "alias": "Acme Ltd – operating" }, "client_assignee": { "uuid": "4c2e8a1f-6b3d-4e9a-8f7c-1d5b0a2e9c36", "email": "maria@acme.example" }, "messages": [ { "id": "9e1b4d7a-2c8f-4a6e-b3d0-5f7c1a9e2b48", "body": "We've located the transfer and credited it to the account.", "from_staff": true, "user_email": "support@depa.finance", "created_at": 1772816714 } ], "attachments": [ { "id": "8841", "filename": "bank_statement_march.pdf", "content_type": "application/pdf", "byte_size": 182044, "url": "https://files.example.com/attachments/8841", "message_id": "9e1b4d7a-2c8f-4a6e-b3d0-5f7c1a9e2b48", "uploaded_at": 1772813200, "uploaded_by": { "email": "maria@acme.example", "is_staff": false } } ], "created_at": 1772813114, "updated_at": 1772816714, "closed_at": null }}/tickets/{uuid}Returns a ticket with its messages, attachments and linked resources, and marks it as read.
Authorization
BearerAuth Token from POST /sign_in, sent as Authorization: Bearer <token>.
In: header
Path Parameters
The ticket UUID
uuidResponse Body
application/json
application/json
application/json
curl -X GET "https://example.com/tickets/8b3e6f1a-2d9c-4a7e-b1f5-0e4c7d2a9b83"{ "data": { "id": "8b3e6f1a-2d9c-4a7e-b1f5-0e4c7d2a9b83", "ticket_number": "TKT-00012", "subject": "Incoming SEPA payment not credited", "description": "A transfer of EUR 1,250 sent on 2 March hasn't reached the account.", "status": "open", "priority": "normal", "category": { "slug": "payment", "name": "Payment issues" }, "has_unread_messages": false, "ticketable": { "type": "fiat_payment", "id": "7e2a9c4b-5d1f-4b8e-9a3c-6f0e2d8b1a74", "summary": "Incoming EUR 1,250.00 from Müller Bürobedarf GmbH", "details": {} }, "account": { "uuid": "8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23", "alias": "Acme Ltd – operating" }, "client_assignee": { "uuid": "4c2e8a1f-6b3d-4e9a-8f7c-1d5b0a2e9c36", "email": "maria@acme.example" }, "messages": [ { "id": "9e1b4d7a-2c8f-4a6e-b3d0-5f7c1a9e2b48", "body": "We've located the transfer and credited it to the account.", "from_staff": true, "user_email": "support@depa.finance", "created_at": 1772816714 } ], "attachments": [ { "id": "8841", "filename": "bank_statement_march.pdf", "content_type": "application/pdf", "byte_size": 182044, "url": "https://files.example.com/attachments/8841", "message_id": "9e1b4d7a-2c8f-4a6e-b3d0-5f7c1a9e2b48", "uploaded_at": 1772813200, "uploaded_by": { "email": "maria@acme.example", "is_staff": false } } ], "created_at": 1772813114, "updated_at": 1772816714, "closed_at": null }}