Adobe Photoshop · AsyncAPI Specification

Adobe Photoshop API Webhook Events

Version 1.0.0

Event-driven notifications for Adobe Photoshop API asynchronous job processing. When registered through Adobe I/O Events, webhooks deliver real-time notifications when Photoshop API jobs complete or fail, eliminating the need to poll status endpoints. Covers all asynchronous operations including background removal, PSD document operations, rendition creation, Smart Object replacement, text editing, Actions execution, product crop, depth blur, and generative fill.

View Spec View on GitHub AI/MLCreative CloudImage EditingPhotoshopPluginsREST APIScriptingAsyncAPIWebhooksEvents

Channels

photoshop/job/completed
subscribe onJobCompleted
Receive job completion notifications
Notification delivered when a Photoshop API job has completed successfully. The event payload contains the job ID, output locations, and job metadata. Applies to all PSD service operations including document operations, renditions, Smart Objects, text editing, and Actions execution.
photoshop/job/failed
subscribe onJobFailed
Receive job failure notifications
Notification delivered when a Photoshop API job has failed. The event payload contains the job ID, error details, and failure reason.
sensei/job/completed
subscribe onSenseiJobCompleted
Receive Sensei AI job completion notifications
Notification delivered when a Sensei AI service job has completed successfully. Applies to background removal, mask creation, and other AI-powered image operations.
sensei/job/failed
subscribe onSenseiJobFailed
Receive Sensei AI job failure notifications
Notification delivered when a Sensei AI service job has failed.

Messages

JobCompletedEvent
JobCompletedEvent
Job completed successfully
JobFailedEvent
JobFailedEvent
Job failed

Servers

https
production https://image.adobe.io
Adobe Photoshop API production server. Webhook events are delivered via Adobe I/O Events to your registered webhook URL when async jobs complete or fail.

AsyncAPI Specification

Raw ↑
asyncapi: 2.0.0
info:
  title: Adobe Photoshop API Webhook Events
  description: >-
    Event-driven notifications for Adobe Photoshop API asynchronous job
    processing. When registered through Adobe I/O Events, webhooks deliver
    real-time notifications when Photoshop API jobs complete or fail,
    eliminating the need to poll status endpoints. Covers all asynchronous
    operations including background removal, PSD document operations,
    rendition creation, Smart Object replacement, text editing, Actions
    execution, product crop, depth blur, and generative fill.
  version: 1.0.0
  contact:
    name: Adobe Developer Support
    url: https://developer.adobe.com/
  license:
    name: Proprietary
    url: https://www.adobe.com/legal/terms.html
servers:
  production:
    url: https://image.adobe.io
    protocol: https
    description: >-
      Adobe Photoshop API production server. Webhook events are delivered
      via Adobe I/O Events to your registered webhook URL when async jobs
      complete or fail.
channels:
  photoshop/job/completed:
    description: >-
      Notification delivered when a Photoshop API job has completed
      successfully. The event payload contains the job ID, output
      locations, and job metadata. Applies to all PSD service operations
      including document operations, renditions, Smart Objects, text
      editing, and Actions execution.
    subscribe:
      summary: Receive job completion notifications
      operationId: onJobCompleted
      message:
        $ref: '#/components/messages/JobCompletedEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
  photoshop/job/failed:
    description: >-
      Notification delivered when a Photoshop API job has failed. The event
      payload contains the job ID, error details, and failure reason.
    subscribe:
      summary: Receive job failure notifications
      operationId: onJobFailed
      message:
        $ref: '#/components/messages/JobFailedEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
  sensei/job/completed:
    description: >-
      Notification delivered when a Sensei AI service job has completed
      successfully. Applies to background removal, mask creation, and
      other AI-powered image operations.
    subscribe:
      summary: Receive Sensei AI job completion notifications
      operationId: onSenseiJobCompleted
      message:
        $ref: '#/components/messages/JobCompletedEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
  sensei/job/failed:
    description: >-
      Notification delivered when a Sensei AI service job has failed.
    subscribe:
      summary: Receive Sensei AI job failure notifications
      operationId: onSenseiJobFailed
      message:
        $ref: '#/components/messages/JobFailedEvent'
      bindings:
        http:
          type: request
          method: POST
          headers:
            type: object
            properties:
              Content-Type:
                type: string
                enum:
                  - application/json
components:
  messages:
    JobCompletedEvent:
      summary: Job completed successfully
      description: >-
        Webhook event payload delivered when an asynchronous Photoshop API
        job has completed successfully. Contains the job identifier, output
        details, and timestamps.
      payload:
        $ref: '#/components/schemas/JobCompletedPayload'
    JobFailedEvent:
      summary: Job failed
      description: >-
        Webhook event payload delivered when an asynchronous Photoshop API
        job has failed. Contains the job identifier, error details, and
        failure reason.
      payload:
        $ref: '#/components/schemas/JobFailedPayload'
  schemas:
    JobCompletedPayload:
      type: object
      properties:
        jobId:
          type: string
          format: uuid
          description: Unique identifier of the completed job.
        created:
          type: string
          format: date-time
          description: Timestamp when the job was created.
        modified:
          type: string
          format: date-time
          description: Timestamp when the job completed.
        status:
          type: string
          const: succeeded
          description: Job completion status.
        outputs:
          type: array
          description: List of output files produced by the job.
          items:
            type: object
            properties:
              input:
                type: string
                description: Original input file reference.
              status:
                type: string
                const: succeeded
              _links:
                type: object
                properties:
                  self:
                    type: object
                    properties:
                      href:
                        type: string
                        format: uri
                        description: URL to the output file.
                      storage:
                        type: string
                        enum:
                          - external
                          - adobe
                          - azure
                          - dropbox
                        description: Storage type of the output.
        _links:
          type: object
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  format: uri
                  description: URL to the job status resource.
    JobFailedPayload:
      type: object
      properties:
        jobId:
          type: string
          format: uuid
          description: Unique identifier of the failed job.
        created:
          type: string
          format: date-time
          description: Timestamp when the job was created.
        modified:
          type: string
          format: date-time
          description: Timestamp when the job failed.
        status:
          type: string
          const: failed
          description: Job failure status.
        outputs:
          type: array
          description: Output entries with failure details.
          items:
            type: object
            properties:
              input:
                type: string
                description: Original input file reference.
              status:
                type: string
                const: failed
              errors:
                type: object
                properties:
                  type:
                    type: string
                    description: Error type code.
                  title:
                    type: string
                    description: Human-readable error description.
                  code:
                    type: integer
                    description: Error code.
                  details:
                    type: object
                    properties:
                      reason:
                        type: string
                        description: Detailed failure reason.
        _links:
          type: object
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  format: uri
                  description: URL to the job status resource.
    EventMetadata:
      type: object
      description: Adobe I/O Events metadata wrapper.
      properties:
        eventId:
          type: string
          description: Unique event identifier from Adobe I/O Events.
        eventType:
          type: string
          description: >-
            Event type identifier (e.g., Photoshop API events, Imaging
            API Events).
        publishDate:
          type: string
          format: date-time
          description: Timestamp when the event was published.
        imsOrgId:
          type: string
          description: IMS Organization ID associated with the event.