List supported conversions
Every supported pair of input and output format with its minimum credits. No API key needed.
GET
https://api.switchfile.io/v2/convert/formatsExample
Request
curl -g "https://api.switchfile.io/v2/convert/formats?filter[input_format]=docx"const res = await fetch("https://api.switchfile.io/v2/convert/formats?filter[input_format]=docx");
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());<?php
$ch = curl_init('https://api.switchfile.io/v2/convert/formats?filter[input_format]=docx');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status >= 400) {
throw new RuntimeException("HTTP $status: $response");
}
print_r(json_decode($response, true));import requests
res = requests.get(
"https://api.switchfile.io/v2/convert/formats?filter[input_format]=docx",
)
res.raise_for_status()
print(res.json())Parameters
Query parameters
filter[input_format]stringOnly pairs with this input format
example: docx
filter[output_format]stringOnly pairs with this output format
filter[engine]stringOnly pairs with this engine value (internal identifier, may change)
includestringoptions: add the options of each pair (name, type, default, description)
Responses
200OK
dataobject[]requireddata[].creditsstring (integer) | integerrequiredMinimum credits per file
data[].enginestringrequiredInternal identifier, may change. Do not rely on its value
data[].input_formatstringrequireddata[].metaobjectrequireddata[].meta.groupstringrequiredGroup of the output format as in CloudConvert: audio, video, image, document, spreadsheet, presentation, vector, ebook, archive, font or cad
data[].operationstringrequiredone of "convert"
data[].optionsFormatOption[]Only with include=options
data[].options[].defaultstring | number | booleanrequireddata[].options[].descriptionstringrequireddata[].options[].namestringrequireddata[].options[].possible_valuesstring[]Only for type enum
data[].options[].typestringrequiredone of "string", "integer", "float", "boolean", "enum"
data[].output_formatstringrequired
200 application/json{ "data": [ { "operation": "convert", "input_format": "docx", "output_format": "pdf", "engine": "office", "credits": 1, "meta": { "group": "document" } }, { "operation": "convert", "input_format": "docx", "output_format": "png", "engine": "chain", "credits": 1, "meta": { "group": "image" } } ] }422Invalid data. errors names the fields
INVALID_DATA422 application/json{ "message": "id: Expected string to match 'uuid' format", "code": "INVALID_DATA", "errors": { "id": [ "Expected string to match 'uuid' format" ] } }429Too many requests or a daily quota is used up. See Retry-After
RATE_LIMIT_EXCEEDED429 application/json{ "message": "Too many requests. Try again in 12 seconds.", "code": "RATE_LIMIT_EXCEEDED" }