Working with the Convert InDesign to IDML API
IDML (InDesign Markup Language) enables programmatic workflows for interoperability, archival, migration, content validation, and extraction of specific content into other formats.
For request parameters, response schemas, and error codes, see the Convert InDesign to IDML API reference.
Submit a conversion
Send a POST request to /v3/convert-indesign-to-idml. Include a pre-signed URL for the document and its destination file name. Currently, only one document can be converted per request.
The output file takes the name from the input asset's destination, replacing its extension with .idml. For example, example.indd produces example.idml.
curl --request POST \
--url https://indesign.adobe.io/v3/convert-indesign-to-idml \
--header 'Authorization: Bearer {YOUR_OAUTH_TOKEN}' \
--header 'x-api-key: {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
"assets": [
{
"source": {
"url": "{PRESIGNED_URL}"
},
"destination": "example.indd"
}
],
"params": {
"targetDocuments": ["example.indd"]
}
}'
An accepted request returns a jobId and statusUrl. Poll the status endpoint using the job ID to retrieve the conversion status and output.
{
"jobId": "{JOB_ID}",
"statusUrl": "https://indesign.adobe.io/v3/status/{JOB_ID}"
}
Links and fonts
If linked assets in the document are not included with the request, they are reported as missing links. Fonts unavailable are reported as missing fonts unless supplied using a pre-signed URL.