openapi: 3.2.0 info: description: Firefly Service's RESTful InDesign API offers resources to automate tedious, time-consuming design tasks through scalable cloud services, encouraging more personalization at scale, creative automation, and faster content delivery. version: '' title: Firefly Services - InDesign Rendition API termsOfService: https://www.adobe.com/content/dam/cc/en/legal/terms/enterprise/pdfs/PSLT-AdobeCreativeAPI-WW-2024v2.pdf contact: email: idservices@adobe.com servers: - url: https://indesign.adobe.io security: - AccessToken: [] X-Api-Key: [] tags: - name: Rendition description: Create file renditions in specified formats (e.g., PNG, JPEG, or PDF). paths: /v3/create-rendition: post: summary: Create JPEG, PNG, or PDF renditions description: 'Creates JPEG, PNG, or PDF renditions of InDesign documents. Supports multiple output formats: JPEG (`image/jpeg`), PNG (`image/png`), and PDF (`application/pdf`).' operationId: renditionJob tags: - Rendition parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRenditionRequest' description: This object specifies parameters for the JPEG, PNG or PDF output. required: true responses: '202': $ref: '#/components/responses/Accepted' '400': $ref: '#/components/responses/BadParams' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' components: responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The type of content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This header indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The type of content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This header indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. TooManyRequests: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The format of the content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Retry-After: schema: type: integer description: The number of seconds until the user should try again. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The type of content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The type of content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This header indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. Accepted: description: The job has been accepted for processing. content: application/json: schema: properties: jobId: type: string description: The job ID. statusUrl: type: string description: The status URL. headers: link: schema: type: string description: The status URL for a retry. retry-after: schema: type: integer description: The number of seconds until the user should try again. Content-Type: schema: type: string description: The type of content that is returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. BadParams: description: Bad Parameter content: application/json: schema: $ref: '#/components/schemas/Error' headers: Content-Type: schema: type: string description: The type of content returned (e.g., `application/json`). Content-Length: schema: type: integer description: The length of the response content. Access-Control-Allow-Origin: schema: type: string description: The Cross Origin Resource Sharing (CORS) header. Access-Control-Allow-Methods: schema: type: string description: This header indicates what HTTP methods are allowed. Access-Control-Allow-Headers: schema: type: string description: This indicates which HTTP headers can be used during the actual request. Access-Control-Allow-Credentials: schema: type: string description: This header is used by servers to indicate that the client shall share HTTP responses. Access-Control-Max-Age: schema: type: integer description: This indicates how long the results of a preflight request can be cached. schemas: BaseJobRequest: description: The base job request for any job. required: - assets properties: assets: type: array items: $ref: '#/components/schemas/InputAsset' description: Information about the assets, which will be used to process the job. params: type: object properties: generalSettings: description: General settings. type: object properties: fonts: description: Settings related to fonts. It is recommended to include fonts to avoid missing fonts warnings when processing the job. type: object properties: fontsDirectories: description: This lists the font directories for the input InDesign documents. "Document Fonts" in parallel to the document will continue to work even without specifying them.

If none are specified, a temporary base directory (working directory) will be considered as a font directory. type: array items: type: string description: This provides a path to a directory relative to a temporary base directory (working directory) where the fonts can be found. It cannot go up using '..' or '/'. Should be a valid path. For specifying a working directory, mention '.'. links: description: Settings related to links. type: object properties: replaceLinks: type: array items: type: object required: - targetDocument - mapping properties: targetDocument: description: The document in which the relinking is to be done. Relinking of assets is required to ensure that there are no missing links in the output document. type: string mapping: type: array items: type: object required: - newAssetRelativePath properties: newAssetRelativePath: type: string description: This provides a path relative to a temporary base directory (working directory) where the asset to be linked to can be found. It cannot go up using '..' or '/'. Should be a valid file name. currentURI: type: string description: The existing URI of the link that needs relinking. If multiple links with this URI are found, all will be relinked. If `linkID` is provided, this attribute will be ignored. Either `currentURI` or `linkID` should be present. linkID: type: integer description: The ID of the link which is to be relinked. If `currentURI` is also provided, it will be ignored. Either `currentURI` or `linkID` should be present. appLogs: description: Describes parameters regarding application logs. type: object properties: logsRelativePath: type: string description: This provides a path to a file, relative to the temporary base directory (working directory). This file is where the application's logs are to be dumped. BaseJobRequestWithOutput: allOf: - $ref: '#/components/schemas/BaseJobRequest' - description: The base job request for any job with the option to specify output URLs. type: object properties: outputs: type: array items: $ref: '#/components/schemas/OutputAsset' CreateRenditionRequest: allOf: - $ref: '#/components/schemas/BaseJobRequestWithOutput' - description: Inputs and properties with which the job should be processed. type: object required: - params properties: params: type: object required: - targetDocuments - outputMediaType properties: targetDocuments: description: The documents that will be processed and rendered. Currently, only one document at a time is supported. type: array items: type: string minItems: 1 maxItems: 1 outputMediaType: description: The MIME type output of the rendered file. type: string enum: - image/jpeg - image/png - application/pdf exportingSpread: type: boolean default: false description: Specify `true` if you consider range as spread numbers. Use `false` if you treat range as pages. pageRange: type: string default: All description: The page ranges, based on the index of the page within the document. The value can be 'All', as well as numeral ranges. If `exportingSpread` is true, this range would represent spread indices in the document. quality: type: string description: Defines the quality of the output. default: medium enum: - low - medium - high - maximum renderingStyle: type: string description: Specifies formatting options for the converted JPEG images. default: baseline_encoding enum: - baseline_encoding - progressive_encoding resolution: type: integer default: 72 description: Specifies the resolution of the final image. minimum: 1 maximum: 2400 colorSpace: type: string description: Specifies formatting options for converted JPEG images. default: rgb enum: - rgb - cmyk - gray embedColorProfile: type: boolean default: true description: Specify `true` to embed the color profile. Otherwise, use `false`. antiAlias: type: boolean default: true description: If `true`, anti-aliasing is used for text and vectors during export. simulateOverprint: type: boolean default: false description: If `true`, this simulates the effects of overprinting spot and processes colors in the same way they would occur with a print. useDocumentBleeds: type: boolean default: false description: If `true`, the document's bleed settings are used in the exported JPEG. colorSettingsFile: type: string description: This is the color settings file to be used for generating a rendition. transparentBackground: type: boolean default: false description: If `true`, this uses a transparent background for the exported PNG. This is valid only for PNG renditions. createSeparateFiles: type: boolean default: false description: Specify `true` to create separate PDF files for all the specified pages/spreads. This is applicable only in case of PDF rendition. optimizeForFastWebView: type: boolean default: true description: Specify `true` to optimize the PDF for faster web viewing. This is applicable only in case of PDF rendition. embedPageThumbnails: type: boolean default: false description: Specify `true` for embedding page thumbnails. This is applicable only in case of PDF rendition. includeBookmarks: type: boolean default: false description: If `true`, this displays bookmarks and table-of-contents entries as links in the bookmarks pane of the PDF document. If `false`, bookmarks are not exported. This is applicable only in case of PDF rendition. includeHyperlinks: type: boolean default: false description: If `true`, this includes the hyperlinks when exporting the document. This is applicable only in case of PDF rendition. exportNonprintingObjects: type: boolean default: false description: If `true`, this makes non-printing objects visible in the PDF document. This is applicable only in case of PDF rendition. exportGuidesAndGrids: type: boolean default: false description: If `true`, this includes visible guides and baseline grids in the PDF. This is applicable only in case of PDF rendition. document. createTaggedPDF: type: boolean default: true description: If `true`, this creates a tagged PDF file. This is applicable only in case of PDF rendition. includeInteractiveElements: type: string description: Specifies the option to draw interactive elements. This is applicable only in case of PDF rendition. default: do_not_include enum: - do_not_include - appearance_only exportWhichLayers: type: string description: This indicates the image layers to be exported. This is applicable only in case of PDF rendition. default: export_all_layers enum: - export_all_layers - export_visible_layers - export_visible_printable_layers jobOptionsFile: type: string description: File path reference to a `.joboptions` file (Adobe PDF preset file) containing custom PDF export settings. This file must be included as part of the input assets. It defines detailed PDF output configurations such as compression, color management, and security settings. When provided, this takes precedence over the `pdfPreset` attribute. Only applicable when generating PDF output. default: PDF preset `High Quality Print` will be used if not provided. pdfPreset: type: string description: The export style to be used. This is applicable only in case of PDF rendition. default: High Quality Print enum: - High Quality Print - PDF/X-1a:2001 - PDF/X-3:2002 - PDF/X-4:2008 - Press Quality - Smallest File Size outputFileBaseString: type: string description: The name of the output file. default: It is derived from the original document filename. outputFolderPath: type: string description: The path of the output folder. default: A unique temporary folder name would be created. OutputAsset: description: The URL where the output assets are to be posted after the job is processed. type: object required: - destination - source properties: destination: type: object required: - url properties: url: type: string description: The URL of the asset. storageType: type: string description: This is an optional parameter, however IT IS RECOMMENDED to provide this information. enum: - Azure - Dropbox - AWS source: type: string description: This provides a path relative of the output where the resource would be generated. It cannot go up using '..' or '/'. Should be a valid file name. InputAsset: type: object description: The URL where the asset will be fetched. required: - source properties: source: type: object required: - url properties: url: type: string description: The pre-signed URL of the input asset. This is the URL of the asset that will be downloaded and acted upon during the job. destination: type: string description: This provides a path relative to a temporary base directory (working directory) where the resource would be downloaded. This would be used to identify the assets within the parameters. It cannot go up using '..' or '/'. Should be a valid file name. Error: type: object properties: message: type: string error_code: type: string required: - message - error_code securitySchemes: AccessToken: type: http scheme: bearer description: The Adobe-generated access token, S2S format. X-Api-Key: type: apiKey name: x-api-key in: header description: The client ID for authentication.