docs/api/targets and catalog

API

Targets and catalog

Ask what a format can become, or fetch the whole catalog of formats, options and conversions. Neither needs a key.

Targets of a format

GET /v1/targets?from=<format> lists the conversions from a format, each with what it keeps, its options and its version. An unknown format answers 400.

Terminal
$ export CV_API_KEY=cv_sk_…

Set your key once. Every cv command reads it.

Terminal
$ cv targets --from heic

A conversion

Field
idThe conversion, such as heic>jpeg.
from, toThe input and output formats.
inputsone, or many for a join that makes one file of many.
outputsone, or many when it can make several files, such as one per page.
versionChanges whenever anything that can change the result changes.
noteWhat the conversion keeps and what it drops.
optionsA JSON Schema of the options it takes, with their ranges and defaults.
editsOn a conversion that takes edits, a JSON Schema of the edit list.
refsOn a conversion with a refs view, a JSON Schema of the refs it takes.

A job's transforms names the conversions it ran with these versions, so you can tell when a result came from a newer one.

The whole catalog

GET /v1/catalog returns every format, every option and every conversion with its version and options. It is large, so keep its ETag and send it back as If-None-Match: the answer is 304 while nothing changed.

It has categories, formats (each with its id, name, mime, extensions, category and aliases), options and transforms. Formats and Options are built from it.

Terminal
$ curl -i https://api.convert.dev/v1/catalog \  -H 'If-None-Match: "…"'
responseHTTP/2 304

Updated 3 November 2026