Zamzar Imports API

Import files from an external URL, (S)FTP server or Amazon S3 bucket

OpenAPI Specification

zamzar-imports-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Zamzar Account Imports API
  description: Zamzar provides a simple API for fast, scalable, high-quality file conversion for 100s of formats.
  termsOfService: http://developers.zamzar.com
  contact:
    email: api-sdks@zamzar.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 0.0.7
servers:
- url: https://api.zamzar.com/v1
  description: Production Server
- url: https://sandbox.zamzar.com/v1
  description: Test Server
security:
- ApiKeyAuth: []
tags:
- name: Imports
  description: Import files from an external URL, (S)FTP server or Amazon S3 bucket
paths:
  /imports:
    get:
      tags:
      - Imports
      summary: Retrieve a list of all imports
      description: Retrieve a list of all imports
      operationId: listImports
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          type: integer
        description: Limit the number of results (max 50)
      - in: query
        name: after
        required: false
        schema:
          type: integer
        description: Retrieve imports after the specified importId
      - in: query
        name: before
        required: false
        schema:
          type: integer
        description: Retrieve imports before the specified importId
      responses:
        '200':
          description: A list of all imports
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Imports'
        '504':
          description: Gateway Timeout
    post:
      tags:
      - Imports
      summary: Start an Import
      description: Start an Import
      operationId: startImport
      requestBody:
        description: Start an import for a HTTP/HTTPS url, (S)FTP file or S3 bucket
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - url
              properties:
                url:
                  type: string
                  description: Provide a url in the form HTTP(S), (S)FTP or S3
                filename:
                  type: string
                  description: Override the filename provided in the url
      responses:
        '201':
          description: Import submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Import'
  /imports/{importId}:
    get:
      tags:
      - Imports
      summary: Retrieve a specific import
      description: Retriefe a specific import
      operationId: getImportById
      parameters:
      - in: path
        name: importId
        schema:
          type: integer
        required: true
        description: Numeric id of the import to get
      responses:
        '200':
          description: Information about a specific import
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Import'
components:
  schemas:
    Imports:
      type: object
      description: Contains a paged collection of import objects. Newer imports appear before older imports.
      properties:
        paging:
          $ref: '#/components/schemas/PagingNumeric'
        data:
          type: array
          description: An array of import objects
          items:
            $ref: '#/components/schemas/Import'
    PagingNumeric:
      type: object
      properties:
        total_count:
          type: integer
          description: The number of elements in the entire collection
          format: int32
        first:
          type: integer
          description: The identifier of the first element in this page of the collection
          format: int32
        last:
          type: integer
          description: The identifier of the last element in this page of the collection
          format: int32
        limit:
          type: integer
          description: The maximum number of elements this page could contain
          format: int32
    Import:
      type: object
      description: Represents the process of copying a file from an external URL, (S)FTP server, or an Amazon S3 bucket.
      required:
      - id
      properties:
        id:
          type: integer
          description: The unique identifier assigned to the import
          format: int32
        key:
          type: string
          description: The API key used to create the import.
        url:
          type: string
          description: The URL to the file being imported.
        status:
          type: string
          description: The current status of the import
          enum:
          - initialising
          - downloading
          - successful
          - failed
          example: failed
        failure:
          $ref: '#/components/schemas/Failure'
        file:
          $ref: '#/components/schemas/File'
        created_at:
          type: string
          description: The time at which the import was created on Zamzar servers ((UTC in [ISO_8601](https://en.wikipedia.org/wiki/ISO_8601)))
          format: date-time
        finished_at:
          type: string
          description: The time at which the import finished if successful, or null otherwise ((UTC in [ISO_8601](https://en.wikipedia.org/wiki/ISO_8601)))
          format: date-time
          nullable: true
      example:
        id: 1
        key: apikey
        url: http://www.example.com/logo.png
        status: failed
        failure:
          code: 11
          message: an invalid value was specified for a parameter
          context:
            parameter: url
            reason: http URLs must not include a password (use https instead)
        created_at: '2022-01-01T14:15:22Z'
        finished_at: '2022-01-01T14:15:22Z'
    File:
      type: object
      description: Represents a file which has been uploaded, imported or converted.
      required:
      - id
      - name
      properties:
        id:
          type: integer
          description: The unique identifier assigned to the file
          format: int32
        key:
          type: string
          description: The API key which was used to create the file
        name:
          type: string
          description: The name that was specified for the file (must not be more than 256 chars)
        size:
          type: integer
          format: int64
          description: The size of the file in bytes, derived from the content of the file
        format:
          type: string
          description: The identifier of the format of the file
        created_at:
          type: string
          description: The time at which the file was created on Zamzar servers ((UTC in [ISO_8601](https://en.wikipedia.org/wiki/ISO_8601)))
          format: date-time
      example:
        id: 3
        key: apikey
        name: filename.jpg
        size: 4096
        format: jpg
        created_at: '2022-01-01T14:15:22Z'
    Failure:
      type: object
      description: If a process fails, the response will include a failure object to describe the error. If a process is either incomplete or successful, the failure object will not be present.
      properties:
        code:
          type: integer
          description: Can be used to determine what action to take
          format: int32
        message:
          type: string
          description: Provides an explanation of the failure (which could also be displayed to your users)
      example:
        code: 5
        message: A file named portrait.png already exists
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
externalDocs:
  description: Find out more about the Zamzar API
  url: https://developers.zamzar.com/docs