Adobe Creative Cloud · Arazzo Workflow

Adobe Creative Cloud PDF Create and Download

Version 1.0.0

Upload a source document, create a PDF from it, then retrieve the result download URI.

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

Provider

adobe-creative-cloud

Workflows

pdf-create-and-download
Create a PDF from an uploaded document and get its download URI.
Creates an upload asset, submits a create-PDF job for it, captures the job status Location, and retrieves a presigned download URI for the result asset.
3 steps inputs: accessToken, apiKey, documentLanguage, mediaType, resultAssetID outputs: downloadUri, jobLocation, sourceAssetID, uploadUri
1
createUploadAsset
createAsset
Create an upload asset for the source document, obtaining an asset ID and a presigned upload URI for the file content.
2
submitCreatePdf
createPdf
Submit the create-PDF job referencing the uploaded asset. Responds 201 with a Location header pointing at the job status URL.
3
getResultDownloadUri
getAsset
Retrieve the presigned download URI for the produced PDF asset once the job has completed.

Source API Descriptions

Arazzo Workflow Specification

adobe-creative-cloud-pdf-create-and-download-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Creative Cloud PDF Create and Download
  summary: Upload a source document, create a PDF from it, then retrieve the result download URI.
  description: >-
    The canonical Adobe PDF Services asset lifecycle. The workflow first
    creates an upload asset to obtain an asset ID and a presigned upload URI,
    then submits the create-PDF operation referencing that asset ID. The
    operation responds 201 with a Location header pointing at an opaque job
    status URL; that status URL is not modeled as an operation in the
    description, so once the job has reached its terminal state the workflow
    retrieves the resulting asset download URI with the asset endpoint. 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-create-and-download
  summary: Create a PDF from an uploaded document and get its download URI.
  description: >-
    Creates an upload asset, submits a create-PDF job for it, captures the job
    status Location, and retrieves a presigned download URI for the result
    asset.
  inputs:
    type: object
    required:
    - accessToken
    - apiKey
    - mediaType
    - 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.
      mediaType:
        type: string
        description: MIME type of the source document to upload (e.g. application/vnd.openxmlformats-officedocument.wordprocessingml.document).
      documentLanguage:
        type: string
        description: Language code used for OCR processing during creation.
        default: en-US
      resultAssetID:
        type: string
        description: >-
          Asset ID of the produced PDF (returned by the job once complete) to
          fetch a download URI for.
  steps:
  - stepId: createUploadAsset
    description: >-
      Create an upload asset for the source document, obtaining an asset ID and
      a presigned upload URI for the file content.
    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: $inputs.mediaType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      assetID: $response.body#/assetID
      uploadUri: $response.body#/uploadUri
  - stepId: submitCreatePdf
    description: >-
      Submit the create-PDF job referencing the uploaded asset. Responds 201
      with a Location header pointing at the job status URL.
    operationId: createPdf
    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
        documentLanguage: $inputs.documentLanguage
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      jobLocation: $response.headers.Location
  - stepId: getResultDownloadUri
    description: >-
      Retrieve the presigned download URI for the produced PDF asset once the
      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
    uploadUri: $steps.createUploadAsset.outputs.uploadUri
    jobLocation: $steps.submitCreatePdf.outputs.jobLocation
    downloadUri: $steps.getResultDownloadUri.outputs.downloadUri