TikTok Data Portability API

User data export operations

OpenAPI Specification

tiktok-data-portability-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: TikTok API for Business Ad Groups Data Portability API
  description: TikTok's advertising API enabling developers to create and manage ad campaigns, ad groups, creatives, audiences, and reporting for global advertisers on TikTok's platform.
  version: v1.3
  contact:
    name: TikTok API for Business
    url: https://business-api.tiktok.com/portal/docs
  termsOfService: https://developers.tiktok.com/doc/tiktok-api-terms-of-service
servers:
- url: https://business-api.tiktok.com
  description: TikTok Business API Production
security:
- AccessToken: []
tags:
- name: Data Portability
  description: User data export operations
paths:
  /v2/data_portability/task/create/:
    post:
      operationId: createDataPortabilityTask
      summary: Create Data Portability Task
      description: Creates a data export task for a user, specifying the data categories to include.
      tags:
      - Data Portability
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPortabilityTaskRequest'
      responses:
        '200':
          description: Data portability task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPortabilityTaskResponse'
        '401':
          description: Unauthorized
  /v2/data_portability/task/status/:
    post:
      operationId: getDataPortabilityTaskStatus
      summary: Get Data Portability Task Status
      description: Retrieves the status of a data portability export task.
      tags:
      - Data Portability
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - task_id
              properties:
                task_id:
                  type: string
                  description: Task ID from createDataPortabilityTask
      responses:
        '200':
          description: Task status retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponse'
components:
  schemas:
    DataPortabilityTaskRequest:
      type: object
      required:
      - data_types
      properties:
        data_types:
          type: array
          items:
            type: string
            enum:
            - ACTIVITY
            - VIDEOS
            - FAVORITES
            - FOLLOWING
            - FOLLOWERS
            - PROFILE
            - DIRECT_MESSAGES
            - COMMENTS
          description: Data categories to export
    TaskStatusResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            task_id:
              type: string
            status:
              type: string
              enum:
              - PROCESSING
              - READY
              - FAILED
              - EXPIRED
            download_urls:
              type: array
              items:
                type: string
              description: Download URLs when status is READY
        error:
          $ref: '#/components/schemas/Error'
    DataPortabilityTaskResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            task_id:
              type: string
        error:
          $ref: '#/components/schemas/Error'
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        log_id:
          type: string
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: Access-Token
      description: TikTok Business API access token