Skip to main content

Export tickets API

Prerequisites

To use the APIs, you need to have a token. Tokens can be generated by an admin at the setting section in Filum CX platform. Ensure you have the necessary permissions to access the admin settings for token generation.

APIs

Access the APIs via the endpoint: https://api.filum.ai/

POST /external/tickets/export

Summary

Export Tickets

Limitations:

  • Each export request can include up to 5000 rows of data.
  • The data exported must fall within a date range that does not exceed 90 days. If the date range you provide is more than 90 days, the system will automatically adjust the start date. It will do this by counting back 90 days from the end date you provided. This new date will then be used as the start date for the data export.

Query Parameters

NameDescriptionRequiredSchema
start_dateThe lower boundary of the date range for which you want to retrieve ticketsYesdate
end_dateThe upper boundary of the date range for which you want to retrieve ticketsYesdate
searchSearch term to filter tickets by subject, description, or customer informationNostring
statusesFilter tickets by status. Options are: open, pending, closed, deletedNo[ string ]
prioritiesFilter tickets by priority. Options are: low, medium, high, urgentNo[ string ]
survey_response_idsFilter tickets by survey response IDsNo[ integer ]
review_keysFilter tickets by review keysNo[ string ]
assignee_account_idsFilter tickets by assignee account IDsNo[ integer ]
creator_account_idsFilter tickets by creator account IDs. Use 0 to include tickets created by the system (no creator). When mixing 0 with other IDs, the result includes both system-created tickets and tickets created by the specified accounts.No[ integer ]
overdueFilter tickets that are overdueNoboolean
assignedFilter tickets that are assigned/unassignedNoboolean
assigned_to_meFilter tickets assigned to the current userNoboolean
installed_source_idsFilter tickets by installed source IDsNo[ integer ]

Examples for list-type parameters:

# Filter tickets with status 'open' or 'pending'
statuses=open&statuses=pending

# Only tickets created by the system (creator_account_id IS NULL)
creator_account_ids=0

# Tickets created by the system OR by accounts 12 and 34
creator_account_ids=0&creator_account_ids=12&creator_account_ids=34

Header Parameters

NameDescriptionRequiredSchema
authorizationThe authorization token to validate the request. The value must be in the format Bearer <your_api_token>Yesstring
organization-idThe unique identifier of your organizationYesstring
auth-typeThe type of authorization used for the request. In this case, the value must be tokenYesstring
acceptThe format of the exported file. Options are: text/csv, application/jsonYesstring

Responses

CodeDescriptionContent type
200Successful Responsetext/csv; charset=utf-16le or application/json; charset=utf-16le
422Validation Errorapplication/json
429Too Many Requestsapplication/json

200 Successful Response

File Format Details:

  • The output file will be provided in either CSV or JSON format
  • The CSV file is encoded in UTF-16LE (Little Endian)
  • The CSV file starts with a UTF-16LE BOM (Byte Order Mark)
  • Fields in CSV format are tab-separated
  • Values containing special characters are enclosed in double quotes

The output file will provide the following information:

Default columns:

  • Ticket ID
  • Created at (in UTC +7 timezone)
  • Updated at (in UTC +7 timezone)
  • Customer name
  • Customer phone
  • Customer email
  • Subject
  • Description
  • Status
  • Priority
  • Due Date
  • Assignee Name
  • Assignee Email
  • Creator Name
  • Creator Email
  • Installed Source ID
  • Installed Source Name

Custom field columns (varies based on workspace setup):

  • Each custom field will have its own column with the field name as the column header

Sample columns for TSV format:

| Ticket ID | Created at | Updated at | Customer name | Customer phone | Customer email | Subject | Description | Status | Priority | Due Date | Assignee Name | Assignee Email | Creator Name | Creator Email | Installed Source ID | Installed Source Name | [Custom Field 1] | [Custom Field 2] | ... | |-----------|------------|------------|---------------|----------------|----------------|---------|-------------|--------|----------|----------|---------------|-----------------|--------------|---------------|------------------|------------------|-----| | | | | | | | | | | | | | | | | | | |

Each row in the table will represent a unique ticket. The columns will contain the following information:

  • Ticket ID: A unique identifier for the ticket
  • Created at: The timestamp when the ticket was created
  • Updated at: The timestamp when the ticket was last updated
  • Customer name: The name of the customer associated with the ticket
  • Customer phone: The phone number of the customer
  • Customer email: The email of the customer
  • Subject: The subject of the ticket
  • Description: The description of the ticket
  • Status: The current status of the ticket
  • Priority: The priority level of the ticket
  • Due Date: The due date of the ticket (if set)
  • Assignee Name: The name of the person assigned to the ticket
  • Assignee Email: The email of the person assigned to the ticket
  • Creator Name: The name of the user who created the ticket (empty when ticket has no creator, e.g. created via internal/system)
  • Creator Email: The email of the user who created the ticket (empty when ticket has no creator)
  • Installed Source ID: The ID of the channel where the ticket was created
  • Installed Source Name: The name of the channel where the ticket was created
  • Custom Fields: Additional custom fields defined in your workspace, with their respective values

Rate Limiting

The API endpoints are rate-limited to ensure fair usage and system stability. The default rate limits are:

  • Per second: 5 requests
  • Per minute: 50 requests

If you exceed these limits, you will receive a 429 Too Many Requests response. Please implement appropriate retry logic with exponential backoff in your integration.

Error Responses

429 Too Many Requests

{
"detail": "Rate limit exceeded"
}