Twilio Exports API

The Exports API from Twilio — 6 operation(s) for exports.

Operations 9

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/Exports/{ResourceType}/Days/{Day} Get one day's export file for a resource type · Fetch day #
Ask an LLM
“Can I download the exported message records for a single UTC day?”
“Where do I get yesterday's call export file?”
Tell an agent
Fetch the {resource_type} export for day {day}.
Get the daily export file of {resource_type} dated {day}.
GET /v1/Exports/{ResourceType}/Days List the daily export files available · List day #
Ask an LLM
“Which days have export files ready for my messages?”
“Can I see every available daily export for calls?”
Tell an agent
List the available export days for {resource_type}.
Show {page_size} daily {resource_type} export files per page.
GET /v1/Exports/{ResourceType} Look up the export for a resource type · Fetch export #
Ask an LLM
“What does the export resource for Messages link to?”
“Can I check the top-level export record for one kind of communication?”
Tell an agent
Fetch the export resource for {resource_type}.
Show the export overview and links for {resource_type}.
GET /v1/Exports/{ResourceType}/Configuration Check automatic daily export settings · Fetch export configuration #
Ask an LLM
“Is automatic daily export turned on for my call records?”
“Which webhook gets notified when a message export is ready?”
Tell an agent
Show the export configuration for {resource_type}.
Check whether daily {resource_type} exports are enabled and where they notify.
POST /v1/Exports/{ResourceType}/Configuration Turn automatic daily exports on or off · Update export configuration #
Ask an LLM
“Can I have a file generated automatically every day once the day is over?”
“Can I get a webhook when each day's export finishes?”
Tell an agent
Set automatic daily exports for {resource_type} to {enabled}.
Notify {webhook_url} via {webhook_method} when {resource_type} exports are ready.
GET /v1/Exports/{ResourceType}/Jobs List custom date-range export jobs · List export custom job #
Ask an LLM
“Which custom export jobs have I requested for my messages?”
“Can I see the status of my date-range export jobs?”
Tell an agent
List the custom export jobs for {resource_type}.
Show my {resource_type} date-range export jobs, {page_size} per page.
POST /v1/Exports/{ResourceType}/Jobs Request an export for a custom date range · Create export custom job #
Ask an LLM
“Can I export a whole month of call records in one job?”
“Can I get an email when my custom export is finished?”
Tell an agent
Export {resource_type} from {start_day} to {end_day} as job {friendly_name}.
Start custom job {friendly_name} for {resource_type} between {start_day} and {end_day} and email {email}.
GET /v1/Exports/Jobs/{JobSid} Check on one custom export job · Fetch job #
Ask an LLM
“Has my custom export job finished yet?”
“Can I look up a single export job by its SID?”
Tell an agent
Fetch export job {job_sid}.
Show the progress of custom export job {job_sid}.
DELETE /v1/Exports/Jobs/{JobSid} Delete a custom export job · Delete job #
Ask an LLM
“Can I delete a custom export job I no longer need?”
“How do I remove an old export job from my list?”
Tell an agent destructive · confirm first
Delete export job {job_sid}.
Remove custom export job {job_sid} from my account.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/twilio-exports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

twilio-exports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio - Bulkexports Exports API
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.52.0
servers:
- url: https://bulkexports.twilio.com
tags:
- name: Exports
paths:
  /v1/Exports/{ResourceType}/Days/{Day}:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - friendly_name
      - create_date
      - day
      - resource_type
      - size
      - redirectTo
      pathType: instance
      parent: /Exports/{ResourceType}
    get:
      description: Fetch a specific Day.
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      - name: Day
        in: path
        description: The ISO 8601 format date of the resources in the file, for a UTC day
        schema:
          type: string
        required: true
      responses:
        '307':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export.day-instance'
          description: Temporary Redirect
      security:
      - accountSid_authToken: []
      operationId: FetchDay
      x-maturity:
      - GA
      summary: Fetch day
      x-summary-source: derived
  /v1/Exports/{ResourceType}/Days:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - friendly_name
      - create_date
      - day
      - resource_type
      - size
      - redirectTo
      pathType: list
      parent: /Exports/{ResourceType}
    get:
      description: Retrieve a list of all Days for a resource.
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDayResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListDay
      x-maturity:
      - GA
      summary: List day
      x-summary-source: derived
  /v1/Exports/{ResourceType}:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties: []
      pathType: instance
      dependentProperties:
        days:
          mapping:
            resource_type: resource_type
          resource_url: /v1/Exports/{resource_type}/Days
        export_custom_jobs:
          mapping:
            resource_type: resource_type
          resource_url: /v1/Exports/{resource_type}/Jobs
    get:
      description: Fetch a specific Export.
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchExport
      x-maturity:
      - GA
      summary: Fetch export
      x-summary-source: derived
  /v1/Exports/{ResourceType}/Configuration:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - enabled
      - resource_type
      - url
      - webhook_method
      - webhook_url
      pathType: instance
      mountName: export_configuration
    get:
      description: Fetch a specific Export Configuration.
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export_configuration'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchExportConfiguration
      x-maturity:
      - GA
      summary: Fetch export configuration
      x-summary-source: derived
    post:
      description: Update a specific Export Configuration.
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export_configuration'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateExportConfiguration
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateExportConfigurationRequest'
      summary: Update export configuration
      x-summary-source: derived
  /v1/Exports/{ResourceType}/Jobs:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - details
      - email
      - end_day
      - estimated_completion_time
      - friendly_name
      - job_queue_position
      - job_sid
      - resource_type
      - start_day
      - webhook_method
      - webhook_url
      pathType: list
      parent: /Exports/{ResourceType}
      mountName: export_custom_jobs
    get:
      description: ''
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages, Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExportCustomJobResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListExportCustomJob
      x-maturity:
      - GA
      summary: List export custom job
      x-summary-source: derived
    post:
      description: ''
      tags:
      - Exports
      parameters:
      - name: ResourceType
        in: path
        description: The type of communication – Messages or Calls, Conferences, and Participants
        schema:
          type: string
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export.export_custom_job'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateExportCustomJob
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateExportCustomJobRequest'
      summary: Create export custom job
      x-summary-source: derived
  /v1/Exports/Jobs/{JobSid}:
    servers:
    - url: https://bulkexports.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - details
      - email
      - end_day
      - estimated_completion_time
      - friendly_name
      - job_queue_position
      - job_sid
      - resource_type
      - start_day
      - webhook_method
      - webhook_url
      pathType: instance
      parent: /Exports
    get:
      description: ''
      tags:
      - Exports
      parameters:
      - name: JobSid
        in: path
        description: The unique string that that we created to identify the Bulk Export job
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^JS[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bulkexports.v1.export.job'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchJob
      x-maturity:
      - GA
      summary: Fetch job
      x-summary-source: derived
    delete:
      description: ''
      tags:
      - Exports
      parameters:
      - name: JobSid
        in: path
        description: The unique string that that we created to identify the Bulk Export job
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^JS[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteJob
      x-maturity:
      - GA
      summary: Delete job
      x-summary-source: derived
components:
  schemas:
    ListDayResponse:
      type: object
      properties:
        days:
          type: array
          items:
            $ref: '#/components/schemas/bulkexports.v1.export.day'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    bulkexports.v1.export.export_custom_job:
      type: object
      properties:
        friendly_name:
          type:
          - string
          - 'null'
          description: The friendly name specified when creating the job
        resource_type:
          type:
          - string
          - 'null'
          description: The type of communication – Messages, Calls, Conferences, and Participants
        start_day:
          type:
          - string
          - 'null'
          description: The start day for the custom export specified when creating the job
        end_day:
          type:
          - string
          - 'null'
          description: The end day for the export specified when creating the job
        webhook_url:
          type:
          - string
          - 'null'
          description: The optional webhook url called on completion of the job. If this is supplied, `WebhookMethod` must also be supplied.
        webhook_method:
          type:
          - string
          - 'null'
          description: This is the method used to call the webhook on completion of the job. If this is supplied, `WebhookUrl` must also be supplied.
        email:
          type:
          - string
          - 'null'
          description: The optional email to send the completion notification to
        job_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^JS[0-9a-fA-F]{32}$
          description: The unique job_sid returned when the custom export was created
        details:
          description: The details of a job which is an object that contains an array of status grouped by `status` state.  Each `status` object has a `status` string, a count which is the number of days in that `status`, and list of days in that `status`. The day strings are in the format yyyy-MM-dd. As an example, a currently running job may have a status object for COMPLETED and a `status` object for SUBMITTED each with its own count and list of days.
        job_queue_position:
          type:
          - string
          - 'null'
          description: This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease
        estimated_completion_time:
          type:
          - string
          - 'null'
          description: this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position
    bulkexports.v1.export.job:
      type: object
      properties:
        resource_type:
          type:
          - string
          - 'null'
          description: The type of communication – Messages, Calls, Conferences, and Participants
        friendly_name:
          type:
          - string
          - 'null'
          description: The friendly name specified when creating the job
        details:
          description: The details of a job which is an object that contains an array of status grouped by `status` state.  Each `status` object has a `status` string, a count which is the number of days in that `status`, and list of days in that `status`. The day strings are in the format yyyy-MM-dd. As an example, a currently running job may have a status object for COMPLETED and a `status` object for SUBMITTED each with its own count and list of days.
        start_day:
          type:
          - string
          - 'null'
          description: The start time for the export specified when creating the job
        end_day:
          type:
          - string
          - 'null'
          description: The end time for the export specified when creating the job
        job_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^JS[0-9a-fA-F]{32}$
          description: The job_sid returned when the export was created
        webhook_url:
          type:
          - string
          - 'null'
          description: The optional webhook url called on completion
        webhook_method:
          type:
          - string
          - 'null'
          description: This is the method used to call the webhook
        email:
          type:
          - string
          - 'null'
          description: The optional email to send the completion notification to
        url:
          type:
          - string
          - 'null'
          format: uri
        job_queue_position:
          type:
          - string
          - 'null'
          description: This is the job position from the 1st in line. Your queue position will never increase. As jobs ahead of yours in the queue are processed, the queue position number will decrease
        estimated_completion_time:
          type:
          - string
          - 'null'
          description: this is the time estimated until your job is complete. This is calculated each time you request the job list. The time is calculated based on the current rate of job completion (which may vary) and your job queue position
    bulkexports.v1.export:
      type: object
      properties:
        resource_type:
          type:
          - string
          - 'null'
          description: The type of communication – Messages, Calls, Conferences, and Participants
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URL of this resource.
        links:
          type:
          - object
          - 'null'
          format: uri-map
          description: Contains a dictionary of URL links to nested resources of this Export.
    bulkexports.v1.export.day-instance:
      type: object
      properties:
        redirect_to:
          type:
          - string
          - 'null'
          format: uri
    CreateExportCustomJobRequest:
      type: object
      required:
      - StartDay
      - EndDay
      - FriendlyName
      properties:
        StartDay:
          type: string
          description: The start day for the custom export specified as a string in the format of yyyy-mm-dd
        EndDay:
          type: string
          description: The end day for the custom export specified as a string in the format of yyyy-mm-dd. End day is inclusive and must be 2 days earlier than the current UTC day.
        FriendlyName:
          type: string
          description: The friendly name specified when creating the job
        WebhookUrl:
          type: string
          description: The optional webhook url called on completion of the job. If this is supplied, `WebhookMethod` must also be supplied. If you set neither webhook nor email, you will have to check your job's status manually.
        WebhookMethod:
          type: string
          description: This is the method used to call the webhook on completion of the job. If this is supplied, `WebhookUrl` must also be supplied.
        Email:
          type: string
          description: The optional email to send the completion notification to. You can set both webhook, and email, or one or the other. If you set neither, the job will run but you will have to query to determine your job's status.
    bulkexports.v1.export.day:
      type: object
      properties:
        day:
          type:
          - string
          - 'null'
          description: The ISO 8601 format date of the resources in the file, for a UTC day
        size:
          type:
          - integer
          - 'null'
          description: The size of the day's data file in bytes
        create_date:
          type:
          - string
          - 'null'
          description: The ISO 8601 format date when resources is created
        friendly_name:
          type:
          - string
          - 'null'
          description: The friendly name specified when creating the job
        resource_type:
          type:
          - string
          - 'null'
          description: The type of communication – Messages, Calls, Conferences, and Participants
    ListExportCustomJobResponse:
      type: object
      properties:
        jobs:
          type: array
          items:
            $ref: '#/components/schemas/bulkexports.v1.export.export_custom_job'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    bulkexports.v1.export_configuration:
      type: object
      properties:
        enabled:
          type:
          - boolean
          - 'null'
          description: If true, Twilio will automatically generate every day's file when the day is over.
        webhook_url:
          type:
          - string
          - 'null'
          format: uri
          description: Stores the URL destination for the method specified in webhook_method.
        webhook_method:
          type:
          - string
          - 'null'
          description: Sets whether Twilio should call a webhook URL when the automatic generation is complete, using GET or POST. The actual destination is set in the webhook_url
        resource_type:
          type:
          - string
          - 'null'
          description: The type of communication – Messages, Calls, Conferences, and Participants
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URL of this resource.
    UpdateExportConfigurationRequest:
      type: object
      properties:
        Enabled:
          type: boolean
          description: If true, Twilio will automatically generate every day's file when the day is over.
        WebhookUrl:
          type: string
          format: uri
          description: Stores the URL destination for the method specified in webhook_method.
        WebhookMethod:
          type: string
          description: Sets whether Twilio should call a webhook URL when the automatic generation is complete, using GET or POST. The actual destination is set in the webhook_url
  securitySchemes:
    accountSid_authToken:
      type: http
      scheme: basic
x-maturity:
- name: GA
  description: This product is Generally Available.