Adobe Creative Cloud · Arazzo Workflow

Adobe Creative Cloud PDF Export to Format

Version 1.0.0

Upload a PDF, export it to another format, then retrieve the converted result download URI.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI/MLCloudCreativeDesignDocumentsPhotographySaaSVideoArazzoWorkflows

Provider

adobe-creative-cloud

Workflows

pdf-export-to-format
Export an uploaded PDF to another format and get the download URI.
Creates an upload asset for a PDF, submits an export job to the requested target format, and retrieves the converted result asset download URI.
3 steps inputs: accessToken, apiKey, resultAssetID, targetFormat outputs: downloadUri, jobLocation, sourceAssetID
1
createUploadAsset
createAsset
Create an upload asset for the source PDF, obtaining an asset ID and a presigned upload URI.
2
submitExport
exportPdf
Submit the export-PDF job referencing the uploaded asset and the target format. Responds 201 with a Location header for job status.
3
getResultDownloadUri
getAsset
Retrieve the presigned download URI for the converted result asset once the export job has completed.

Source API Descriptions

Arazzo Workflow Specification

adobe-creative-cloud-pdf-export-to-format-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Creative Cloud PDF Export to Format
  summary: Upload a PDF, export it to another format, then retrieve the converted result download URI.
  description: >-
    Converts an Adobe PDF to a Word, Excel, PowerPoint, RTF, or image format.
    The workflow creates an upload asset for the source PDF, submits the
    export-PDF job for it with the requested target format, and captures the
    201 Location header that points at the opaque job status URL. That status
    URL is not modeled as an operation in the description, so once the job has
    completed the workflow retrieves a presigned download URI for the converted
    result asset. Every step spells out its request inline, including the
    bearer token and x-api-key, so the flow can be read and run without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: pdfServicesApi
  url: ../openapi/adobe-pdf-services-api-openapi-original.yml
  type: openapi
workflows:
- workflowId: pdf-export-to-format
  summary: Export an uploaded PDF to another format and get the download URI.
  description: >-
    Creates an upload asset for a PDF, submits an export job to the requested
    target format, and retrieves the converted result asset download URI.
  inputs:
    type: object
    required:
    - accessToken
    - apiKey
    - targetFormat
    - resultAssetID
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token from the Adobe IMS token endpoint.
      apiKey:
        type: string
        description: Client ID (x-api-key) from the Adobe Developer Console.
      targetFormat:
        type: string
        description: Target export format (docx, doc, pptx, rtf, xlsx, jpeg, or png).
      resultAssetID:
        type: string
        description: Asset ID of the converted result asset to fetch a download URI for.
  steps:
  - stepId: createUploadAsset
    description: >-
      Create an upload asset for the source PDF, obtaining an asset ID and a
      presigned upload URI.
    operationId: createAsset
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        mediaType: application/pdf
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      assetID: $response.body#/assetID
      uploadUri: $response.body#/uploadUri
  - stepId: submitExport
    description: >-
      Submit the export-PDF job referencing the uploaded asset and the target
      format. Responds 201 with a Location header for job status.
    operationId: exportPdf
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        assetID: $steps.createUploadAsset.outputs.assetID
        targetFormat: $inputs.targetFormat
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      jobLocation: $response.headers.Location
  - stepId: getResultDownloadUri
    description: >-
      Retrieve the presigned download URI for the converted result asset once
      the export job has completed.
    operationId: getAsset
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: assetID
      in: path
      value: $inputs.resultAssetID
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      downloadUri: $response.body#/downloadUri
  outputs:
    sourceAssetID: $steps.createUploadAsset.outputs.assetID
    jobLocation: $steps.submitExport.outputs.jobLocation
    downloadUri: $steps.getResultDownloadUri.outputs.downloadUri