Qualtrics file API

The file API from Qualtrics — 3 operation(s) for file.

Operations 4

POST /automations/{automationId}/files Upload a File #
GET /automations/{automationId}/files/{fileId} Get File Metadata #
DELETE /automations/{automationId}/files/{fileId} Delete File #
GET /automations/{automationId}/files/{fileId}/content Get File Content #

Documentation

Specifications

Schemas & Data

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/qualtrics-file-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

qualtrics-file-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Automations Service File API
  description: "# Introduction\n\nThe Automations File Service API exposes a secured and isolated file store for you to manage files intended for a Qualtrics Automation.\nYou may upload a file for an Automation via an HTTPS endpoint.  When the Automation is scheduled to run, it will process\nany new files targeted at that Automation.\n\nFiles uploaded to the Automations File Service persist for 60 days. These endpoints allow you to do the following:\n  - retrieve the metadata of the file—including information about its processing\n  - download a file\n  - delete a file.\n\nAutomations supports several data import sources, including SFTP.  When an Automation consumes a file from one of these data import sources, it\nstores the file in the Automations File Service file store to preserve a historical record. When choosing a\ndata import source, we recommend the Automations File Service for uploading files.\n\nNote: The API calls in this documentation are written with the base URL datacenterId.qualtrics.com. You should change the base URL to \nreflect the correct datacenter for your brand. If you do not know the datacenter ID, you can look in the URL you use to access Qualtrics, \nor in your account settings to find this. API calls may still work if you call the wrong datacenter, as your request will be proxied to \nthe correct datacenter. However, this may extend the time it takes for you to receive a response, or the API call may fail entirely.\n"
  contact:
    name: Contact Qualtrics Support for more information.
  version: 1.0.0
servers:
- url: https://datacenterId.qualtrics.com/automations-file-service
security:
- API Token: []
tags:
- name: file
paths:
  /automations/{automationId}/files:
    post:
      tags:
      - file
      summary: Upload a File
      description: Upload a file for the automation to consume.
      operationId: createFile
      parameters:
      - $ref: '#/components/parameters/automationIdPath'
      responses:
        '200':
          description: File Id
          content:
            application/json:
              schema:
                type: object
                required:
                - result
                - meta
                properties:
                  result:
                    type: object
                    required:
                    - id
                    properties:
                      id:
                        $ref: '#/components/schemas/fileId'
                  meta:
                    $ref: '#/components/schemas/metawarn'
            text/plain; charset=utf-8:
              schema:
                type: object
                required:
                - result
                - meta
                properties:
                  result:
                    type: object
                    required:
                    - id
                    properties:
                      id:
                        $ref: '#/components/schemas/fileId'
                  meta:
                    $ref: '#/components/schemas/metawarn'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: The file to upload.
                  format: binary
  /automations/{automationId}/files/{fileId}:
    get:
      tags:
      - file
      summary: Get File Metadata
      description: Get the file's metadata.
      operationId: getFile
      parameters:
      - $ref: '#/components/parameters/automationIdPath'
      - $ref: '#/components/parameters/fileIdPath'
      responses:
        '200':
          description: File Metadata
          content:
            application/json:
              schema:
                type: object
                required:
                - result
                - meta
                properties:
                  result:
                    $ref: file.yaml#/definitions/file
                  meta:
                    $ref: '#/components/schemas/meta'
            text/plain; charset=utf-8:
              schema:
                type: object
                required:
                - result
                - meta
                properties:
                  result:
                    $ref: file.yaml#/definitions/file
                  meta:
                    $ref: '#/components/schemas/meta'
    delete:
      tags:
      - file
      summary: Delete File
      description: Deletes the file.
      operationId: deleteFile
      parameters:
      - $ref: '#/components/parameters/automationIdPath'
      - $ref: '#/components/parameters/fileIdPath'
      responses:
        '200':
          $ref: '#/components/responses/success'
  /automations/{automationId}/files/{fileId}/content:
    get:
      tags:
      - file
      summary: Get File Content
      description: Download the file's content.
      operationId: getFileContent
      parameters:
      - $ref: '#/components/parameters/automationIdPath'
      - $ref: '#/components/parameters/fileIdPath'
      responses:
        '200':
          description: File Content
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
                format: binary
components:
  responses:
    success:
      description: Success
      content:
        application/json:
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                $ref: '#/components/schemas/meta'
        text/plain; charset=utf-8:
          schema:
            type: object
            required:
            - meta
            properties:
              meta:
                $ref: '#/components/schemas/meta'
  schemas:
    fileId:
      example: AFL_123456789012345
      type: string
      description: 'The file''s unique Id.


        Since multiple files may share the same name, the id is used to identify a particular file.


        Multiple files may share the same name if

        * They have different tags; e.g. one file has no tags, one file is tagged for processing, one file is tagged as archived.

        * They have different processed or archived date/times.


        **Example**: `AFL_123456789012345`

        '
    meta:
      example:
        httpStatus: 200 - OK
      type: object
      required:
      - httpStatus
      - requestId
      properties:
        httpStatus:
          type: string
          description: 'Always of the format `{X} - {Y}`,

            where `{X}` is the associated HTTP status code,

            and `{Y}` is a human readable explanation of the status code.

            '
        error:
          type: object
          description: Only given if an error occurred during the request.
          required:
          - errorMessage
          - errorCode
          properties:
            errorMessage:
              type: string
              description: A human readable explanation of the error.
            errorCode:
              type: string
              description: An identifying code associated with the error.
        requestId:
          type: string
          description: A transaction id associated with the request.
    metawarn:
      example:
        httpStatus: 200 - OK
      type: object
      required:
      - httpStatus
      - requestId
      properties:
        httpStatus:
          type: string
          description: 'Always of the format `{X} - {Y}`,

            where `{X}` is the associated HTTP status code,

            and `{Y}` is a human readable explanation of the status code.

            '
        error:
          type: object
          description: Only given if an error occurred during the request.
          required:
          - errorMessage
          - errorCode
          properties:
            errorMessage:
              type: string
              description: A human readable explanation of the error.
            errorCode:
              type: string
              description: An identifying code associated with the error.
        requestId:
          type: string
          description: A transaction id associated with the request.
        warning:
          type: object
          description: 'Only given if a warning occurred during the request,

            such as an upload of an existing file name overwriting that file''s content.

            '
          required:
          - warningMessage
          - warningCode
          properties:
            warningMessage:
              type: string
              description: A human readable explanation of the warning.
            warningCode:
              type: string
              description: An identifying code associated with the warning.
  parameters:
    fileIdPath:
      name: fileId
      in: path
      description: 'Id of the associated file.


        **Example**: `AFL_123456789012345`

        '
      required: true
      schema:
        type: string
    automationIdPath:
      name: automationId
      in: path
      description: 'Id of the associated automation.


        **Example**: `AU_123456789012345`

        '
      required: true
      schema:
        type: string
  securitySchemes:
    API_Token:
      type: apiKey
      in: header
      name: X-API-TOKEN