Adobe Workfront · AsyncAPI Specification
Workfront Event Subscriptions Webhooks
Version
View Spec
View on GitHub
CompanyWork ManagementProject ManagementMarketing OperationsCreative OperationsCollaborationApprovalsResource ManagementWorkflow AutomationEnterprise SoftwareAdobeModel Context ProtocolAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-12'
method: searched
source: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/event-subscriptions/event-subs-api
spec_type: null
asyncapi_published: false
note: 'Adobe publishes no AsyncAPI document for Workfront. It does publish a fully documented,
programmatically managed webhook surface — the Event Subscription API — so this artifact captures the
event catalogue and delivery contract as a Webhooks surface rather than fabricating an AsyncAPI. A
second, distinct surface (the Document Webhooks API) is an interface Workfront CALLS on a third-party
document provider; it is recorded here too because it is part of the same event/callback story, but
it is a provider-implemented contract, not an endpoint Workfront exposes.'
surfaces:
- name: Event Subscription API
kind: outbound webhooks
direction: Workfront -> customer endpoint
management_api: https://{customer-domain}.my.workfront.adobe.com/attask/eventsubscription/api/v1/subscriptions
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/event-subscriptions/event-subs-api
transport: HTTPS POST, application/json
authentication:
management: sessionID header + System Administrator access level
delivery: a customer-supplied authToken is echoed on every outbound message; mutual TLS
certificates are documented separately
certs_docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/api-notes/event-sub-certs
latency:
typical: under 1 second from the change being logged
stated_ceiling: generally under 5 seconds
subscription_resource:
fields:
- {name: objCode, required: true, description: object type to subscribe to}
- {name: objId, required: false, description: restrict to a single object; omit for all objects
of the type}
- {name: eventType, required: true, description: CREATE, UPDATE or DELETE}
- {name: url, required: true, description: destination endpoint}
- {name: authToken, required: false, description: token echoed back on delivery}
- {name: filter, required: false, description: typed filter expression, see filtering below}
- {name: base64Encoding, required: false, description: base64-encode field values in the payload}
operations:
- {method: POST, path: /attask/eventsubscription/api/v1/subscriptions, description: create a
subscription, success: 201 with a Location header carrying the new subscription URI}
- {method: GET, path: /attask/eventsubscription/api/v1/subscriptions, description: query all
subscriptions}
- {method: GET, path: '/attask/eventsubscription/api/v1/subscriptions/{id}', description: query one
subscription}
- {method: DELETE, path: '/attask/eventsubscription/api/v1/subscriptions/{id}', description: delete
a subscription}
event_types: [CREATE, UPDATE, DELETE]
message_format:
fields: [eventType, subscriptionId, eventTime, oldState, newState, fields]
event_time: reported in both nanoseconds and epoch seconds; Adobe directs integrators to order
events by eventTime
note: oldState is not present on CREATE events
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/event-subscriptions/message-format-event-subs
filtering:
operators: [eq, ne, gt, gte, lt, lte, contains, containsOnly, notContains, change, state]
features: [nested filters, connector fields, filter groups]
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/api-notes/filter-event-sub-messages
versioning:
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/event-subscriptions/event-subs-versioning
note: subscriptions carry a version; single and bulk version changes are documented
retries:
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/event-subscriptions/event-sub-retries
throttling:
note: a user producing too many events too quickly may be sandboxed and see delivery delays;
no published threshold
allowlist_ips:
europe: [52.30.133.50, 52.208.159.124, 54.220.93.204, 52.17.130.201, 34.254.76.122, 34.252.250.191]
rest_of_world: [54.244.142.219, 44.241.82.96, 52.36.154.34, 34.211.224.9, 54.218.48.56, 52.39.217.230]
objects:
count: 30
list: [Approval, Approval Stage, Approval Stage Participant, Assignment, Company, Dashboard,
Document, Document Version, Expense, Field, Hour, Issue, Note, Portfolio, Program, Project,
Proof Approval, Record, Record Type, Report, Staffing Plan, Staffing Plan Parameter Value,
Staffing Plan Resource, Staffing Plan Resource Attribute Value,
Staffing Plan Resource Attribute Value Set, Staffing Plan Resource Parameter Value, Task,
Template, Timesheet, User, Workspace]
obj_codes:
approval: approval
approval_stage: approval_stage
approval_stage_participant: approval_stage_participant
assignment: ASSGN
company: CMPY
dashboard: PTLTAB
document: DOCU
document_version: DOCV
expense: EXPNS
field: FIELD
hour: HOUR
issue: OPTASK
note: NOTE
portfolio: PORT
program: PRGM
project: PROJ
errors:
- {status: 201, meaning: subscription created}
- {status: 400, meaning: the url field of the subscription resource was deemed invalid}
- {status: 401, meaning: sessionID empty or invalid}
- {status: 403, meaning: the user does not have administrator access}
- name: Document Webhooks API
kind: inbound callbacks (provider-implemented)
direction: Workfront -> third-party document provider
docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/document-webhooks-api/document-webhooks-api
description: An interface specification a third-party document store implements so Workfront can
browse, link, upload, download, thumbnail, rename, move and delete documents in it. Workfront is
the client; the endpoints live on the provider.
operations: [getServiceInfo, getMetadata, listFolderContents, search, uploadFile, getContent,
getThumbnail, createFolder, renameDocumentOrFolder, deleteDocumentOrFolder, performCustomAction,
testConnection]
authentication: OAuth2 — the provider exposes an authorization and token endpoint that Workfront
calls
errors_docs: https://experienceleague.adobe.com/en/docs/workfront/using/adobe-workfront-api/document-webhooks-api/docu-webhooks-errors
reference_implementation: https://github.com/Workfront/webhooks-app
gaps:
- No AsyncAPI or CloudEvents document is published for either surface.
- No event schema registry — the payload shape is documented per object through the event-subscription
resource-fields page, not as machine-readable schemas.
- No signature header on delivery; authenticity rests on the customer-supplied authToken and the
published source-IP allowlist.