OpenAPI Specification
openapi: 3.0.3
info:
title: Zamzar Account Formats 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: Formats
description: List supported source and target formats
paths:
/formats:
get:
tags:
- Formats
summary: List all formats
operationId: listFormats
parameters:
- in: query
name: limit
required: false
schema:
type: integer
example: 10
description: Limit the number of results (max 50)
- in: query
name: after
required: false
schema:
type: string
example: mpg
description: Retrieve formats after the specified format
- in: query
name: before
required: false
schema:
type: string
example: mpg
description: Retrieve formats before the specified format
responses:
'200':
description: 'Source formats are ordered alphabetically within the `data` array of formats and include the target formats and associated cost of conversion.
A `paging` object is included within the results, with each page having a limit of 50 records by default. Request the next page by using the `after` parameter in reference to the `last` property within the paging object of the current response.
For example to retrieve the next page of formats after the `msg` format:
```
https://api.zamzar.com/v1/formats/?after=msg
```
To limit the results to 10 records:
```
https://api.zamzar.com/v1/formats/?after=msg&limit=10
```'
content:
application/json:
schema:
$ref: '#/components/schemas/Formats'
description: Retrieve a list of all source formats which have one or more target (conversion) formats.
/formats/{format}:
get:
tags:
- Formats
summary: Retrieve a specific format
operationId: getFormatById
parameters:
- in: path
name: format
schema:
type: string
required: true
description: The format to retrieve
example: doc
responses:
'200':
description: "A specific source format and valid target formats.\n\n```json\n{\n \"name\": \"doc\",\n \"targets\": [\n {\n \"name\": \"docx\",\n \"credit_cost\": 1\n },\n {\n \"name\": \"pdf\",\n \"credit_cost\": 1\n }\n ]\n}\n```"
content:
application/json:
schema:
$ref: '#/components/schemas/Format'
'404':
description: Unsupported Format.
description: 'Retrieve a specific format and the cost of performing a conversion to one or more target formats.
'
components:
schemas:
PagingString:
type: object
properties:
total_count:
type: integer
description: The number of elements in the entire collection
format: int32
first:
type: string
description: The identifier of the first element in this page of the collection
last:
type: string
description: The identifier of the last element in this page of the collection
limit:
type: integer
description: The maximum number of elements this page could contain
format: int32
example:
total_count: 100
first: docx
last: pdf
limit: 50
description: When you request a list of of all resources of any type (files, formats, jobs), you will receive a paged collection as a response. A paged collection allows you to view a subset of the entire collection (limited to 50 elements) and makes it easy to implement pagination in your application. Use the `limit` parameter to limit the number of results and the `after` parameter to request the next page of results (based on the value of `last` within the paging object).
Formats:
type: object
description: Contains a paged collection of formats listed in alphabetical order. The `targets` array represent the formats which the source format `name` can be converted to and the associated cost (in credits).
properties:
paging:
$ref: '#/components/schemas/PagingString'
data:
type: array
description: An array of source and target formats ordered alphabetically.
items:
$ref: '#/components/schemas/Format'
Format:
type: object
description: Represents the source format and an array of valid target formats.
properties:
name:
type: string
description: The name of the format, synonymous with `source format`
targets:
type: array
description: The conversions that Zamzar supports for this format, synonymous with `target formats`
items:
type: object
properties:
name:
type: string
description: The name of the target format
credit_cost:
type: integer
description: The number of base credits that are charged when scheduling a job for this conversion
format: int32
example:
name: doc
targets:
- name: docx
credit_cost: 1
- name: pdf
credit_cost: 1
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer
externalDocs:
description: Find out more about the Zamzar API
url: https://developers.zamzar.com/docs