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

In JSON format, each line of the response is one ticket object whose keys are the column names listed below.

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 Filum ID
  • Customer name
  • Customer phone
  • Customer email
  • Subject
  • Description
  • Status
  • Priority
  • Due Date
  • Assignee Name
  • Assignee Email
  • Creator Name
  • Creator Email
  • Channel ID (also exported as Installed Source ID, see Deprecated columns)
  • Channel Name (also exported as Installed Source Name, see Deprecated columns)
  • Channel Type
  • Source ID
  • Source Name
  • Ticket Link
  • Customer Link
  • SLA First Response Time
  • SLA Next Response Time
  • SLA Time to Closed
  • SLA Time to Resolved

Custom field columns (varies based on workspace setup):

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

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 Filum ID: The Filum ID of the customer associated with the ticket
  • 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)
  • Channel ID: The ID of the installed channel where the ticket was created
  • Channel Name: The name of the installed channel where the ticket was created
  • Channel Type: The type of data the channel carries: Chat, Call, Email, Review or Survey
  • Source ID: The ID of the source the channel belongs to (e.g. Facebook, Zalo OA)
  • Source Name: The name of the source the channel belongs to
  • Ticket Link: The link to the ticket in the Filum CX platform
  • Customer Link: The link to the customer profile in the Filum CX platform
  • SLA *: The status of each SLA metric on the ticket — Đáp ứng (met), Không đáp ứng (breached) or Pending. Empty when the metric does not apply to the ticket
  • Custom Fields: Additional custom fields defined in your workspace, with their respective values

Deprecated columns

Channel ID and Channel Name were previously named Installed Source ID and Installed Source Name. Both names are still exported, side by side and with the same values, so existing integrations keep working:

Deprecated columnReplacement
Installed Source IDChannel ID
Installed Source NameChannel Name

The deprecated columns are kept for backward compatibility. New integrations should read Channel ID / Channel Name.

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"
}