swagger: '2.0' info: title: Adobe I/O Events API version: '2.0' host: api.adobe.io basePath: / tags: - name: Providers - name: Event Metadata - name: Sample Event - name: Registrations - name: Tracing - name: Journaling paths: '/events/providers/{providerId}/eventmetadata/{eventCode}': get: tags: - Event Metadata summary: Get the event metadata associated with a given provider ID and event code operationId: getByProviderIdAndEventCode produces: - application/hal+json parameters: - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '200': description: successful operation schema: $ref: '#/definitions/EventMetadataHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId / eventCode does not exist '500': $ref: '#/definitions/InternalServerError' '/events/providers/{providerId}/eventmetadata': get: tags: - Event Metadata summary: List the event metadata associated with a given provider ID operationId: getByProviderId produces: - application/hal+json parameters: - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '200': description: successful operation schema: $ref: '#/definitions/EventMetadataCollectionHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/providers/{providerId}/eventmetadata': post: tags: - Event Metadata summary: Create event metadata operationId: postEventMetadata produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - in: body name: body description: The input model necessary to create event metadata required: true schema: $ref: '#/definitions/EventMetadataInputModel' responses: '201': description: The created event metadata. schema: $ref: '#/definitions/EventMetadataHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId does not exist '500': $ref: '#/definitions/InternalServerError' delete: tags: - Event Metadata summary: Delete all event metadata associated with the given provider ID operationId: deleteByProviderId produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '204': description: Successful deletion '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/providers/{providerId}/eventmetadata/{eventCode}': put: tags: - Event Metadata summary: Update event metadata operationId: putEventMetadata produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - in: body name: body description: The input model necessary to update event metadata required: true schema: $ref: '#/definitions/EventMetadataInputModel' responses: '200': description: successfully updated the event metadata schema: $ref: '#/definitions/EventMetadataHalModel' '400': description: The event code in URI does not match the input model's event code '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId / eventCode does not exist '500': $ref: '#/definitions/InternalServerError' patch: tags: - Event Metadata summary: PATCH event metadata using JSON Patch operationId: patchEventMetadata consumes: - application/json-patch+json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - in: body name: body description: 'A JSON Patch of the EventMetadata input model see https://tools.ietf.org/html/rfc6902, http://jsonpatch.com/' required: true schema: $ref: '#/definitions/JsonPatch' - $ref: '#/parameters/contentTypeJSONPatch' responses: '200': description: The updated/patched event metadata schema: $ref: '#/definitions/EventMetadataHalModel' '204': description: If the patch had no effect '400': description: The event code in URI does not match the input model's event code '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId / eventCode does not exist '500': $ref: '#/definitions/InternalServerError' delete: tags: - Event Metadata summary: Delete the event metadata associated with the given provider ID and event code operationId: deleteByProviderIdAndEventCode produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '204': description: Successful deletion '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId / eventCode does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/providers': get: tags: - Providers summary: List all event providers entitled to the provided organization ID operationId: getProvidersByConsumerOrgId produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - $ref: '#/parameters/providerMetadataId' - $ref: '#/parameters/instanceId' - name: providerMetadataIds in: query description: List of provider metadata ids to filter. Only one of providerMetadataIds or providerMetadataId can be passed required: false type: array items: type: string - $ref: '#/parameters/eventmetadata' responses: '200': description: successful operation schema: $ref: '#/definitions/ProviderCollectionHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Provider associated with the consumerOrgId, providerMetadataId or instanceID does not exist '500': $ref: '#/definitions/InternalServerError' '/events/providers/{id}': get: tags: - Providers summary: View event provider by ID operationId: getProvidersById produces: - application/hal+json parameters: - name: id in: path description: The requested event provider ID required: true type: string - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - $ref: '#/parameters/eventmetadata' responses: '200': description: successful operation schema: $ref: '#/definitions/ProviderHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Provider ID does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/providers': post: tags: - Providers summary: Create an event provider operationId: createProvider produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - in: body name: body description: The input model necessary to create an event provider required: true schema: $ref: '#/definitions/ProviderCreateModel' responses: '201': description: The created event provider. schema: $ref: '#/definitions/ProviderHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': description: Unauthorized or forbidden access (e.g., invalid scopes, attempt to create a non multi-instance event provider) '404': description: Provider metadata provided in the input model does not exist '409': description: The event provider already exists. The header `x-conflicting-id` contains the conflicting providerId. '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/providers/{providerId}': put: tags: - Providers summary: Update an event provider operationId: putProvider produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - in: body name: body description: The input model necessary to update an event provider required: true schema: $ref: '#/definitions/ProviderUpdateModel' responses: '200': description: successful operation schema: $ref: '#/definitions/ProviderHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': description: Unauthorized or forbidden access (e.g., invalid scopes, attempt to update a non multi-instance event provider) '404': description: Provider ID does not exist '500': $ref: '#/definitions/InternalServerError' patch: tags: - Providers summary: PATCH an event provider using JSON Patch operationId: patchProvider consumes: - application/json-patch+json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' - $ref: '#/parameters/contentTypeJSONPatch' - in: body name: body description: 'A JSON Patch of the event provider update model see https://tools.ietf.org/html/rfc6902, http://jsonpatch.com/' required: true schema: $ref: '#/definitions/JsonPatch' responses: '200': description: The updated/patched event provider schema: $ref: '#/definitions/ProviderHalModel' '204': description: If the patch had no effect '401': $ref: '#/definitions/UnauthorizedError' '403': description: Unauthorized or forbidden access (e.g., invalid scopes, attempt to update a non multi-instance provider) '404': description: Provider ID does not exist '500': $ref: '#/definitions/InternalServerError' delete: tags: - Providers summary: Delete an event provider by ID operationId: deleteProvider produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/providerId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '204': description: Successful deletion '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The providerId does not exist '500': $ref: '#/definitions/InternalServerError' '/events/providers/{providerId}/eventmetadata/{eventCode}/sample_event': get: tags: - Sample Event summary: Get a sample event HAL JSON model for the given event provider ID and event code operationId: getSampleByProviderIdAndEventCode produces: - application/hal+json parameters: - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/accept-hal-json' responses: '200': description: successful operation schema: $ref: '#/definitions/TheSampleEventHALmodel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Invalid event provider / invalid event code / no sample event is available '500': $ref: '#/definitions/InternalServerError' head: tags: - Sample Event summary: Check if a sample event is available for the given event provider ID and event code operationId: checkSampleEvent parameters: - $ref: '#/parameters/providerId' - $ref: '#/parameters/eventCode' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: If a sample event is available '404': description: If no sample event is available or not supported yet '500': $ref: '#/definitions/InternalServerError' '/events/providers/{providerId}/eventmetadata/{eventCode}/sample_event/{registrationId}': post: tags: - Sample Event summary: Post a sample event for a specific registration (for test/debugging purposes) description: For test/debugging purposes, this posts a sample event as it would be posted by the provided (id and event code) provider. operationId: postSampleEventForRegistration produces: - application/json parameters: - name: providerId in: path required: true type: string - name: eventCode in: path required: true type: string - name: registrationId in: path required: true type: string - name: Accept in: header description: application/json required: false type: string - in: body name: body description: Any JSON Event Payload required: false schema: type: object responses: '200': description: If a sample event was posted against the given registration '204': description: If no sample was posted (sample payload is not supported yet) '500': $ref: '#/definitions/InternalServerError' '/events/organizations/{consumerOrgId}/integrations/{credentialId}/{registrationId}/validate': get: tags: - Journaling summary: Validate and get batch of events from journal operationId: validateAndGetEventsFromJournal parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/credentialId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/x-ims-org-id' - name: x-adobe-io-events-url-links in: header required: false type: boolean - name: limit in: query required: false type: integer format: int32 description: Requested number of events to return in the batch. Fewer events may be returned if the total payload size exceeds 1.5MB. - name: since in: query required: true type: string description: Position in the journal to fetch events from responses: default: description: successful operation '/events/organizations/{consumerOrgId}/integrations/{credentialId}/{registrationId}': get: tags: - Journaling summary: Get batch of events for a registration from journal operationId: getEventsFromJournal parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/credentialId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/x-ims-org-id' - name: x-adobe-io-events-url-links in: header required: false type: boolean - name: limit in: query required: false type: integer format: int32 description: Requested number of events to return in the batch. Fewer events may be returned if the total payload size exceeds 1.5MB. - name: since in: query required: false type: string description: Position in the journal to fetch events from (cannot be used with `seek` parameter) - name: seek in: query required: false type: string description: ISO 8601 duration format to seek to a specific point in time (e.g., -PT2H for 2 hours ago, -P1D for 1 day ago) - name: latest in: query required: false type: boolean description: Jump to the end of the journal to start consuming the most recent events responses: default: description: successful operation '/events/{consumerOrgId}/{projectId}/{workspaceId}/registrations': post: tags: - Registrations summary: Create an event registration for a given workspace operationId: createRegistration consumes: - application/json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The input model necessary to create an event registration required: true schema: $ref: '#/definitions/RegistrationCreateModel' responses: '201': description: Successful creation schema: $ref: '#/definitions/RegistrationHalModel' '400': description: Bad request, possible issue with the request payload '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Registration does not exist '409': description: | The registration name already exists in the same workspace. The header `x-conflicting-id` will contain the conflicting registrationId. [OR] Maximum registration limit hit for client id or org. '500': $ref: '#/definitions/InternalServerError' get: tags: - Registrations summary: Get all event registrations associated with a workspace operationId: getRegistrations produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: Successfully fetched registrations schema: $ref: '#/definitions/RegistrationCollectionHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Registration does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/registrations/{registrationId}': get: tags: - Registrations summary: Get event registration by registration ID operationId: getRegistrationById produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: Successfully fetched registration schema: $ref: '#/definitions/RegistrationHalModel' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Registration does not exist '500': $ref: '#/definitions/InternalServerError' put: tags: - Registrations summary: Update event registration specified by the registration ID. operationId: updateRegistrationById consumes: - application/json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The input model necessary to create an event registration required: true schema: $ref: '#/definitions/RegistrationUpdateModel' responses: '200': description: Successful update schema: $ref: '#/definitions/RegistrationHalModel' '400': description: Bad request, possible issue with the request payload '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Registration does not exist '500': $ref: '#/definitions/InternalServerError' patch: tags: - Registrations summary: Patches an event registration. operationId: patchRegistrationById consumes: - application/json-patch+json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The Json Patch of the Registration Update Model to patch an existing registration required: true schema: $ref: '#/definitions/JsonPatch' responses: '200': description: Successful patching schema: $ref: '#/definitions/RegistrationHalModel' '400': description: Bad request, possible issue with the request payload '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: Registration does not exist '500': $ref: '#/definitions/InternalServerError' delete: tags: - Registrations summary: Delete event registration by registration ID operationId: deleteRegistration produces: - text/plain parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '204': description: Successful deletion '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The registration does not exist '500': $ref: '#/definitions/InternalServerError' '/events/{consumerOrgId}/{projectId}/{workspaceId}/registrations/{registrationId}/filters': get: tags: - Registrations summary: Retrieves all Subscriber Defined Filters for a given registration operationId: getAllSubscriberFilters produces: - application/json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: Subscriber Defined Filters retrieved successfully schema: type: array uniqueItems: true items: $ref: '#/definitions/SubscriberFilterModel' '404': description: Registration not found post: tags: - Registrations summary: Creates a new Subscriber Defined Filter for the given registration operationId: createSubscriberFilter consumes: - application/json produces: - application/json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The Subscriber Defined Filter model to create required: true schema: $ref: '#/definitions/CreateSubscriberFilterModel' responses: '201': description: Subscriber Defined Filter created successfully '400': description: Bad request, possible issue with the request payload '404': description: Registration does not exist '/events/{consumerOrgId}/{projectId}/{workspaceId}/registrations/{registrationId}/filters/{subscriberFilterId}': get: tags: - Registrations summary: Retrieves a specific Subscriber Defined Filter by its ID operationId: getSubscriberFilterById produces: - application/json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/subscriberFilterId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: Subscriber Defined Filter retrieved successfully schema: $ref: '#/definitions/SubscriberFilterModel' '404': description: Subscriber Defined Filter not found put: tags: - Registrations summary: Updates an existing Subscriber Defined Filter operationId: updateSubscriberFilter consumes: - application/json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/subscriberFilterId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The updated Subscriber Defined Filter model required: true schema: $ref: '#/definitions/CreateSubscriberFilterModel' responses: '200': description: Subscriber Defined Filter updated successfully '400': description: Bad request, possible issue with the request payload '404': description: Subscriber Defined Filter not found delete: tags: - Registrations summary: Deletes a specific Subscriber Defined Filter operationId: deleteSubscriberFilter produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/subscriberFilterId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '204': description: Subscriber Defined Filter deleted successfully '404': description: Subscriber Defined Filter not found '/events/{consumerOrgId}/{projectId}/{workspaceId}/registrations/{registrationId}/filter/validate': post: tags: - Registrations summary: Validate if the given Subscriber Defined Filter payload is acceptable and checks the effect on the existing interesting event codes and provided custom events operationId: validateFilters consumes: - application/json produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/projectId' - $ref: '#/parameters/workspaceId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - in: body name: body description: The Subscriber Defined Filter to be tested and the optional list of custom events to be used required: false schema: $ref: '#/definitions/SubscriberFilterValidationInputModel' responses: '200': description: The validation was performed successfully '400': description: Bad request, possible issue with authentication or payload '404': description: Registration does not exist '/events/{consumerOrgId}/registrations': get: tags: - Registrations summary: Get all registrations for consumer org ID operationId: getRegistrationByConsumerOrgId produces: - application/hal+json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/page' - $ref: '#/parameters/size' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' responses: '200': description: Successfully fetched registration schema: $ref: '#/definitions/RegistrationPaginatedHalModel' '400': description: Page number or size exceeded or page size is less than 1 '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '500': $ref: '#/definitions/InternalServerError' '/events/organizations/{consumerOrgId}/integrations/{credentialId}/tracing/{registrationId}': get: tags: - Tracing summary: Get tracing details for a specific event registration operationId: getTracesApi produces: - application/json parameters: - $ref: '#/parameters/consumerOrgId' - $ref: '#/parameters/credentialId' - $ref: '#/parameters/registrationId' - $ref: '#/parameters/authorization' - $ref: '#/parameters/x-api-key' - $ref: '#/parameters/x-ims-org-id' responses: '200': description: successful operation schema: type: array items: $ref: '#/definitions/TracingRequestResponse' '401': $ref: '#/definitions/UnauthorizedError' '403': $ref: '#/definitions/ForbiddenError' '404': description: The registration ID does not exist '500': $ref: '#/definitions/InternalServerError' parameters: consumerOrgId: name: consumerOrgId in: path description: Consumer Organization ID required: true type: string projectId: name: projectId in: path description: Project ID required: true type: string workspaceId: name: workspaceId in: path description: Workspace ID required: true type: string providerId: name: providerId in: path description: Provider ID. required: true type: string eventCode: name: eventCode in: path description: Event code for the event metadata required: true type: string credentialId: name: credentialId in: path description: Credential ID associated with the credential in the Project/Workspace where the registration was created required: true type: string registrationId: name: registrationId in: path description: Registration ID associated with the registration required: true type: string subscriberFilterId: name: subscriberFilterId in: path description: The ID of the Subscriber Defined Filter required: true type: string format: uuid providerMetadataId: name: providerMetadataId in: query description: Provider metadata ID of the provider to filter required: false type: string instanceId: name: instanceId in: query description: Instance ID for the multi-instance provider to filter required: false type: string page: name: page in: query description: The page number. Default value is 0 required: false type: integer default: 0 format: int32 size: name: size in: query description: The size of each page. Default page size 10. Max allowed size 100 required: false type: integer default: 10 maximum: 100 minimum: 1 format: int32 eventmetadata: name: eventmetadata in: query description: The optional boolean to fetch or not this provider's event metadata, default false required: false type: boolean authorization: name: Authorization description: 'Authorization token in the format "Bearer {token}". Must hold the I/O Management API scope (`adobeio_api` scope contained in `s/ent_adobeio_sdk` metascope).' required: true type: string in: header x-api-key: name: x-api-key description: API Key whitelisted at Adobe.io required: true type: string in: header x-ims-org-id: name: x-ims-org-id in: header required: false type: string content-type: name: Content-Type description: Type of content being sent in the body of the request. Should be 'application/json'. required: true type: string in: header default: application/json accept-hal-json: name: Accept in: header required: true type: string description: Content type accepted in the response. default: application/hal+json contentTypeJSONPatch: name: Content-Type in: header required: true type: string default: application/json-patch+json definitions: CreateEnterpriseIntegrationResponse: type: object properties: id: type: string apiKey: type: string orgId: type: string technicalAccountId: type: string trace: $ref: '#/definitions/CreateEnterpriseIntegrationResponse' SubscribeItem: type: object properties: sdkCode: type: string licenceConfigs: type: array items: $ref: '#/definitions/LicenseConfig' roles: type: array items: $ref: '#/definitions/Role' trace: $ref: '#/definitions/SubscribeItem' LicenseConfig: type: object properties: id: type: string name: type: string productId: type: string description: type: string selected: type: boolean Role: type: object properties: id: type: integer format: int64 code: type: string name: type: string EventMetadataHalModel: type: object properties: description: type: string description: 'The description of this Event, as shown on the Adobe Developer Console' label: type: string description: 'The label of this Event, as shown on the Adobe Developer Console' event_code: type: string description: 'This event_code describes the type of event. Ideally it should be prefixed with a reverse-DNS name (dictating the organization which defines the semantics of this event type) It is equivalent to the CloudEvents'' type. See https://github.com/cloudevents/spec/blob/master/spec.md#type' _embedded: type: object properties: sample_event: description: A sample event HAL model $ref: '#/definitions/TheSampleEventHALmodel' _links: type: object properties: 'rel:sample_event': $ref: '#/definitions/HALLink' 'rel:update': description: 'The link to the workspace context to perform update and delete operations. This link will only be set if the event provider is yours to update, and not Adobe''s.' $ref: '#/definitions/HALLink' self: $ref: '#/definitions/HALLink' description: The event metadata HAL model HALLink: type: object properties: href: type: string templated: type: boolean type: type: string deprecation: type: string format: url name: type: string profile: type: string format: uri title: type: string hreflang: type: string seen: type: string TheSampleEventHALmodel: type: object properties: format: type: string description: 'The delivery format associated with this event sample,`adobe_io`, `cloud_events` ' sample_payload: type: string description: A generated sample Json Payload as expected in the webhook or journal deliveries _links: type: object properties: self: $ref: '#/definitions/HALLink' EventMetadataCollectionHalModel: type: object properties: _embedded: type: object properties: eventmetadata: type: array description: Providers event metadata collection. items: $ref: '#/definitions/EventMetadataHalModel' _links: type: object properties: self: $ref: '#/definitions/HALLink' description: Providers event metadata collection HAL model JsonPatch: type: object JsonNode: type: object EventMetadataInputModel: type: object required: - description - event_code - label properties: description: type: string description: 'The description of this Event Metadata, as shown on the Adobe Developer Console' minLength: 1 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' label: type: string description: 'The label of this Event Metadata, as shown on the Adobe Developer Console' minLength: 1 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' event_code: type: string description: 'The event_code of this Event Metadata. This event_code describes the type of event. Ideally it should be prefixed with a reverse-DNS name (dictating the organization which defines the semantics of this event type) It is equivalent to the CloudEvents'' type. see https://github.com/cloudevents/spec/blob/master/spec.md#type' minLength: 1 maxLength: 255 pattern: '[\w-_\.]+' sample_event_template: type: string description: An optional base64 encoded sample event template minLength: 0 maxLength: 87382 pattern: '^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$' description: The input model necessary to POST/PUT event metadata ProviderHalModel: type: object properties: id: type: string description: The ID of this event provider label: type: string description: 'The label of this event provider, as shown on the Adobe Developer Console' description: type: string description: 'The description of this event provider, as shown on the Adobe Developer Console' source: type: string description: 'A URI-reference (this provider id prefixed with `urn:uuid:`), identifying the context in which an event happened. Producers MUST ensure that source + event.id is unique for each distinct event. See https://github.com/cloudevents/spec/blob/master/spec.md#source-1' readOnly: true docs_url: type: string description: 'The documentation URL of this event provider, as shown on the Adobe Developer Console' publisher: type: string description: 'The publisher is `Adobe` for Adobe Cloud Solution. In the case of multi-instances or on-premise Adobe solutions: the publisher will be set to the organization_id owning this solution. In the case of event providers registered by an organization using the Adobe I/O registration API: the publisher will be set to the organization_id which registered this event provider' _embedded: type: object properties: eventmetadata: type: array description: The list of event metadata associated with this event provider items: $ref: '#/definitions/EventMetadataHalModel' _links: type: object properties: 'rel:eventmetadata': description: The links to the event metadata associated with this event provider $ref: '#/definitions/HALLink' 'rel:update': description: 'The link to the workspace context to perform update and delete operations. This link will only be set if the event provider is yours to update, and not Adobe''s.' $ref: '#/definitions/HALLink' self: description: link to self $ref: '#/definitions/HALLink' description: The provider HAL model ProviderCollectionHalModel: type: object properties: _embedded: type: object properties: providers: type: array description: Providers collection. items: $ref: '#/definitions/ProviderHalModel' _links: type: object properties: self: $ref: '#/definitions/HALLink' description: Providers Collection HAL model ProviderCreateModel: type: object required: - label properties: label: type: string description: 'The label of this event provider, as shown on the Adobe Developer Console' minLength: 1 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' example: 'My Event Provider' description: type: string description: 'The description of this event provider, as shown on the Adobe Developer Console. If omitted, the default description defined in the provider metadata will be used.' minLength: 0 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' example: 'A description for this event provider' docs_url: type: string description: 'The documentation URL of this event provider, as shown on the Adobe Developer Console. If omitted, the default documentation URL defined in the provider metadata will be used.' minLength: 0 maxLength: 255 pattern: 'https?://(([^/:.\s]+(\.[^/:.\s]+)*)|([0-9](\.[0-9]{3})))(:[0-9]+)?((/[^?#\s]+)(\?[^#\s]+)?(#.+)?)?/?' example: 'https://developer.adobe.com/events/docs' provider_metadata: type: string description: 'The provider metadata ID; optional. If omitted, the default `3rd_party_custom_events` will be used.' minLength: 1 maxLength: 255 pattern: '3rd_party_custom_events|acs|aem|asset_compute|dx_commerce_events' example: '3rd_party_custom_events' instance_id: type: string description : 'A technical instance ID; optional. If omitted and `provider_metadata` is `3rd_party_custom_events`, a random UUID is generated; otherwise, you must specify a custom value, which must be unique at the `provider_metadata` level.' minLength: 0 maxLength: 255 pattern: '[\w-_:\@\./]+' example: 'instance-1' data_residency_region: type: string description: 'The data residency region; optional. If omitted, the default `VA6` will be used. Currently we only support two regions: US (VA6) and Europe (IRL1). This defines where your events are stored and processed.' minLength: 3 maxLength: 5 pattern: 'VA6|IRL1' example: 'VA6' description: The input model necessary to create an event provider ProviderUpdateModel: type: object required: - label properties: label: type: string description: 'The label of this event provider, as shown on the Adobe Developer Console' minLength: 1 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' example: 'My Event Provider' description: type: string description: 'The description of this event provider, as shown on the Adobe Developer Console. If omitted, the default description defined in the provider metadata will be used.' minLength: 0 maxLength: 255 pattern: '[\w\s-_\.\(\)\,\@:''`?#!]+' example: 'A description for this event provider' docs_url: type: string description: 'The documentation URL of this event provider, as shown on the Adobe Developer Console. If omitted, the default documentation URL defined in the provider metadata will be used.' minLength: 0 maxLength: 255 pattern: 'https?://(([^/:.\s]+(\.[^/:.\s]+)*)|([0-9](\.[0-9]{3})))(:[0-9]+)?((/[^?#\s]+)(\?[^#\s]+)?(#.+)?)?/?' example: 'https://developer.adobe.com/events/docs/guides/using/' description: The input model necessary to update an event provider EventsOfInterestModel: type: object required: - event_code properties: provider: type: string event_code: type: string minLength: 1 maxLength: 255 provider_id: type: string minLength: 1 maxLength: 38 event_label: type: string event_description: type: string provider_label: type: string provider_description: type: string provider_docs_url: type: string event_delivery_format: type: string description: Events of Interest for a Registration RegistrationHalModel: type: object properties: id: type: integer format: int64 description: The ID of the event registration. This is different from the registration ID, and is used in the Developer Console URL to identify the registration name: type: string description: The name of the registration which will be displayed on Developer Console description: type: string description: The description of the registration client_id: type: string description: Client id for which the registration is created, as obtained from Developer Console registration_id: type: string description: Unique ID associated with the registration events_of_interest: type: array description: The events for which the registration is to be subscribed to uniqueItems: true items: $ref: '#/definitions/EventsOfInterestModel' webhook_status: type: string description: Status of the event registration created_date: type: string description: Date when the registration was created updated_date: type: string description: Date when the registration was last updated consumer_id: type: string description: Consumer ID associated with the registration, obtained from Developer Console project_id: type: string description: Project ID associated with the registration, obtained from Developer Console workspace_id: type: string description: Workspace ID associated with the registration, obtained from Developer Console webhook_url: type: string description: (Optional) A valid webhook url where the events would be delivered delivery_type: type: string description: Delivery type can be one of [`webhook`, `webhook_batch`, `journal`, `aws_eventbridge`] runtime_action: type: string description: (Optional) Runtime action to be invoked by the published events enabled: type: boolean description: Indicates if the registration is enabled or disabled _links: type: object properties: rel:events: description: link to journaling URL to fetch events $ref: '#/definitions/HALLink' rel:trace: description: link to fetch the tracing events for the purpose of debugging $ref: '#/definitions/HALLink' self: description: link to self $ref: '#/definitions/HALLink' description: The registration HAL model EventsOfInterestInputModel: type: object required: - event_code properties: provider: type: string event_code: type: string minLength: 1 maxLength: 255 provider_id: type: string minLength: 1 maxLength: 38 description: Events of Interest for a Registration RegistrationCreateModel: type: object required: - client_id - events_of_interest - name - delivery_type properties: client_id: type: string description: Client id for which the registration is created, as obtained from Developer Console minLength: 3 maxLength: 128 pattern: "[\\w-\\.]+" name: type: string description: The name of the event registration which will be displayed on Developer Console minLength: 3 maxLength: 255 description: type: string description: The description of the registration minLength: 0 maxLength: 5000 webhook_url: type: string description: (Optional) A valid webhook url where the events would be delivered minLength: 0 maxLength: 4000 events_of_interest: type: array description: The events for which the registration is to be subscribed to uniqueItems: true items: $ref: '#/definitions/EventsOfInterestInputModel' delivery_type: type: string description: Delivery type can be one of [`webhook`, `webhook_batch`, `journal`, `aws_eventbridge`] enum: - webhook - webhook_batch - journal - aws_eventbridge runtime_action: type: string description: (Optional) Runtime action to be invoked by the published events minLength: 0 maxLength: 255 enabled: type: boolean description: Enable or Disable the registration destination_metadata: $ref: '#/definitions/DestinationMetadata' subscriber_filters: type: array description: (Optional) Subscriber Defined Filters to be applied to the events before delivering. minItems: 0 maxItems: 1 uniqueItems: true items: $ref: '#/definitions/CreateSubscriberFilterModel' description: The input model necessary to create a registration RegistrationCollectionHalModel: type: object properties: _links: type: object properties: self: $ref: '#/definitions/HALLink' _embedded: type: object properties: registrations: type: array description: Registration collection. items: $ref: '#/definitions/RegistrationHalModel' description: Registration Collection HAL model PageMetadata: type: object properties: size: type: integer format: int32 number: type: integer format: int32 numberOfElements: type: integer format: int32 totalElements: type: integer format: int64 totalPages: type: integer format: int32 RegistrationPaginatedHalModel: type: object properties: page: $ref: '#/definitions/PageMetadata' _links: type: object properties: first: $ref: '#/definitions/HALLink' last: $ref: '#/definitions/HALLink' next: $ref: '#/definitions/HALLink' prev: $ref: '#/definitions/HALLink' self: $ref: '#/definitions/HALLink' _embedded: type: object properties: registrations: type: array description: Registration collection. items: $ref: '#/definitions/RegistrationHalModel' description: Registration Collection HAL model for Paginated response RegistrationUpdateModel: type: object required: - events_of_interest - name - delivery_type properties: name: type: string description: The name of the event registration which will be displayed on Developer Console minLength: 3 maxLength: 255 description: type: string description: The description of the registration minLength: 0 maxLength: 5000 webhook_url: type: string description: (Optional) A valid webhook url where the events would be delivered minLength: 0 maxLength: 4000 events_of_interest: type: array description: The events for which the registration is to be subscribed to uniqueItems: true items: $ref: '#/definitions/EventsOfInterestInputModel' delivery_type: type: string description: Delivery type can be one of [`webhook`, `webhook_batch`, `journal`, `aws_eventbridge`] enum: - webhook - webhook_batch - journal - aws_eventbridge runtime_action: type: string description: (Optional) Runtime action to be invoked by the published events minLength: 0 maxLength: 255 enabled: type: boolean description: Enable or Disable the registration destination_metadata: $ref: '#/definitions/DestinationMetadata' subscriber_filters: type: array description: Subscriber Defined Filters to be applied to the events before delivering. minItems: 0 maxItems: 1 uniqueItems: true items: $ref: '#/definitions/CreateSubscriberFilterModel' runtimeWebhook: type: boolean description: The input model necessary to PATCH/PUT a registration Trace: type: object properties: tracingRequest: $ref: '#/definitions/TracingRequest' tracingResponse: $ref: '#/definitions/TracingResponse' ts: type: integer format: int64 deliveryTime: type: integer format: int64 insightsInfo: type: array uniqueItems: true items: $ref: '#/definitions/TraceInsightsInfo' TraceInsightsInfo: type: object properties: providerName: type: string eventCode: type: string eventIds: type: array items: type: string TracingRequest: type: object properties: requestUrl: type: string requestMethod: type: string contentType: type: string requestBody: type: string requestHeaders: type: object additionalProperties: type: array items: type: string TracingRequestResponse: type: object properties: event: type: string id: type: string date: type: string clientId: type: string registrationId: type: string trace: $ref: '#/definitions/Trace' TracingResponse: type: object properties: responseBody: type: string responseCode: type: integer format: int32 responseTime: type: integer format: int64 responseHeaders: type: object additionalProperties: type: array items: type: string UnauthorizedError: description: Unauthorized access (e.g., invalid access token) ForbiddenError: description: Unauthorized or forbidden access (e.g., invalid scopes) InternalServerError: description: Upstream service failures / Internal server error CreateSubscriberFilterModel: type: object required: - name - subscriber_filter properties: name: type: string description: The name of the Subscriber Defined Filter. minLength: 3 maxLength: 80 description: type: string description: An optional description of the Subscriber Defined Filter. minLength: 0 maxLength: 250 subscriber_filter: type: string description: The filter expression to be used for filtering the events. The filter expression is a JSON in event-ruler syntax with additional restriction. description: Create Subscriber Defined Filter Model SubscriberFilterModel: type: object required: - name - subscriber_filter properties: id: type: string format: uuid description: The unique identifier of the Subscriber Defined Filter. name: type: string description: The name of the Subscriber Defined Filter. minLength: 3 maxLength: 80 description: type: string description: An optional description of the Subscriber Defined Filter. minLength: 0 maxLength: 250 subscriber_filter: type: string description: The filter expression to be used for filtering the events. The filter expression is a JSON in event-ruler syntax with additional restriction. description: Subscriber Defined Filter Model SubscriberFilterValidationInputModel: type: object required: - subscriber_filter properties: subscriber_filter: $ref: '#/definitions/SubscriberFilterModel' custom_sample_events: type: array description: Custom sample events that can be used to validate the Subscriber Defined Filter. This is optional and can be used to test the behavior of the Subscriber Defined Filter. uniqueItems: true items: $ref: '#/definitions/CustomSampleEventModel' description: Subscriber Defined Filter Validation Model CustomSampleEventModel: type: object required: - name - sample_payload properties: name: type: string description: The name of the custom sample event minLength: 1 sample_payload: $ref: '#/definitions/JsonNode' description: Custom Sample Event Model DestinationMetadata: type: object properties: aws_region: type: string pattern: "(us|ca|eu|af|ap|cn|me|sa|il)-[a-z]+-\\d" aws_account_id: type: string pattern: "^\\d{12}$"