components: schemas: AccessDeniedExceptionResponseContent: description: The server response for authorization failure. properties: code: description: Error classification code type: string message: description: Human-readable error message type: string required: - message type: object EventEnvironment: description: The environment in which an event was produced. enum: - TEST - PRODUCTION type: string EventPayload: description: The event payload, discriminated by object type. Each variant corresponds to a versioned event schema. oneOf: - properties: v1Event: $ref: '#/components/schemas/V1EventPayload' description: A `v1` thin event payload. required: - v1Event title: v1Event type: object EventPayloadObjectType: description: Object type discriminator for event payloads. enum: - v1.event type: string EventPayloadResourceRef: description: A reference to a resource affected by an event. properties: id: description: The resource identifier. type: string type: description: The resource type. Uses dot notation to indicate nested resources. For example, `enrollment.document` indicates a document associated with a transaction enrollment request. type: string required: - id - type type: object EventStatus: description: The current status of an event. enum: - PENDING - DELIVERED - FAILED type: string EventSummary: description: A summary representation of an event, returned in list responses. properties: createdAt: description: An ISO 8601 timestamp of when the event was created. format: date-time type: string eventType: description: The type of event, such as `enrollment.activated`. maxLength: 255 minLength: 1 type: string id: description: The unique identifier for the event, formatted as `evt_{UUID}`. pattern: ^[a-z]{3,5}_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: string status: $ref: '#/components/schemas/EventStatus' description: "The current status of the event. Can be:\n - `DELIVERED`:\ \ Stedi successfully delivered the event to all relevant event destinations.\n\ \ - `PENDING`: Stedi is still trying to deliver the event to one or more\ \ event destinations. Events may stay in this state for multiple days\ \ as Stedi automatically retries.\n - `FAILED`: Stedi couldn't deliver\ \ the event to at least one event destination and is no longer retrying.\ \ Deliveries to some event destinations may have been successful." required: - createdAt - eventType - id - status type: object GetEventResponseContent: description: Output containing the event details. properties: createdAt: description: An ISO 8601 timestamp of when the event was created. format: date-time type: string eventPayload: $ref: '#/components/schemas/EventPayload' description: The event payload Stedi delivers to event destinations. eventType: description: The type of event, such as `enrollment.activated`. maxLength: 255 minLength: 1 type: string id: description: The unique identifier for the event, formatted as `evt_{UUID}`. pattern: ^[a-z]{3,5}_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: string status: $ref: '#/components/schemas/EventStatus' description: "The current status of the event. Can be:\n - `DELIVERED`:\ \ Stedi successfully delivered the event to all relevant event destinations.\n\ \ - `PENDING`: Stedi is still trying to deliver the event to one or more\ \ event destinations. Events may stay in this state for multiple days\ \ as Stedi automatically retries.\n - `FAILED`: Stedi couldn't deliver\ \ the event to at least one event destination and is no longer retrying.\ \ Deliveries to some event destinations may have been successful." required: - createdAt - eventPayload - eventType - id - status type: object InternalFailureExceptionResponseContent: description: The server response when an unexpected error occurred while processing request. properties: code: description: Error classification code type: string message: description: Human-readable error message type: string required: - message type: object ListEventsResponseContent: description: Output containing the list of events. properties: items: description: The list of event summaries. items: $ref: '#/components/schemas/EventSummary' type: array nextPageToken: description: Token that you can supply in subsequent requests to retrieve the next page of results. If not returned, there are no more results. maxLength: 1024 minLength: 1 type: string required: - items type: object ResourceNotFoundExceptionResponseContent: description: The requested resource could not be found. Verify the resource identifier (e.g. destinationId, eventId, deliveryId) is correct and that the resource has not been deleted. properties: code: type: string message: type: string required: - message type: object UnauthorizedExceptionResponseContent: description: The server response when the authorizer failed to authenticate the caller. properties: code: description: Error classification code type: string message: description: Human-readable error message type: string required: - message type: object V1EventPayload: description: A v1 thin event envelope that signals a state change. Consumers fetch current resource state via API using the resource reference. This is the exact payload delivered to webhook destinations. properties: account: description: Stedi account identifier (UUID). type: string created: description: An ISO 8601 timestamp of when the event was created. format: date-time type: string environment: $ref: '#/components/schemas/EventEnvironment' description: The environment in which the event was produced. id: description: An identifier for the event, formatted as `evt_{UUID}`. type: string object: $ref: '#/components/schemas/EventPayloadObjectType' description: Object type discriminator. Identifies the schema version of this payload. relatedResources: description: Other resources related to the event. Only present when there are related resources. items: $ref: '#/components/schemas/EventPayloadResourceRef' type: array resource: $ref: '#/components/schemas/EventPayloadResourceRef' description: Information about the resource that triggered the event. You can use this information to retrieve additional information about the resource. type: description: The event type in dot notation, such as `enrollment.activated`. type: string required: - account - created - environment - object - resource type: object ValidationExceptionField: description: Describes one specific validation failure for an input member. properties: message: description: A detailed description of the validation failure. type: string path: description: A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints. type: string required: - message - path type: object ValidationExceptionResponseContent: description: 'A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.' properties: fieldList: description: 'A list of specific failures encountered while validating the input. A member can appear in this list more than once if it failed to satisfy multiple constraints.' items: $ref: '#/components/schemas/ValidationExceptionField' type: array message: description: A summary of the validation failure. type: string required: - message type: object securitySchemes: httpApiKeyAuth: description: A [Stedi API Key](https://portal.stedi.com/app/settings/api-keys) for authentication. in: header name: Authorization type: apiKey info: contact: email: healthcare@stedi.com description: 'The Stedi Events Service manages event destinations and event delivery. It supports destination CRUD operations, secret management for signature verification, event creation and management, and delivery tracking with resend capabilities. ' license: name: Proprietary url: https://stedi.com title: Stedi Event Destinations version: '2026-02-01' openapi: 3.0.3 paths: /events: get: description: Lists all events for your account. Results are paginated. operationId: ListEvents parameters: - description: The maximum number of elements to return in a page. If not specified, the default is 100. in: query name: pageSize schema: description: The maximum number of elements to return in a page. If not specified, the default is 100. maximum: 1000 minimum: 1 type: number - description: The `nextPageToken` value from a previous response. You can use this to get the next page of results. If not set, Stedi returns the first page of results. in: query name: pageToken schema: description: The `nextPageToken` value from a previous response. You can use this to get the next page of results. If not set, Stedi returns the first page of results. maxLength: 1024 minLength: 1 type: string - description: Filter results by event ID, such as `evt_019d554b-311b-7813-b491-0a8973762eae`. in: query name: eventId schema: description: Filter results by event ID, such as `evt_019d554b-311b-7813-b491-0a8973762eae`. pattern: ^[a-z]{3,5}_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: string - description: "Filter results by one or more event statuses. Can be:\n - `DELIVERED`:\ \ Stedi successfully delivered the event to all relevant event destinations.\n\ \ - `PENDING`: Stedi is still trying to deliver the event to one or more\ \ event destinations.\n - `FAILED`: Stedi couldn't deliver the event to\ \ at least one event destination and is no longer retrying." explode: true in: query name: status schema: description: "Filter results by one or more event statuses. Can be:\n -\ \ `DELIVERED`: Stedi successfully delivered the event to all relevant\ \ event destinations.\n - `PENDING`: Stedi is still trying to deliver\ \ the event to one or more event destinations.\n - `FAILED`: Stedi couldn't\ \ deliver the event to at least one event destination and is no longer\ \ retrying." items: $ref: '#/components/schemas/EventStatus' type: array style: form - description: Filter results by event type, such as `enrollment.activated`. in: query name: eventType schema: description: Filter results by event type, such as `enrollment.activated`. maxLength: 255 minLength: 1 type: string - description: "Filter results by their `createdAt` timestamp. Each value is\ \ in the format `operator:ISO-8601-timestamp`.\n - The supported operators\ \ are `gt` (after), `gte` (at or after), `lt` (before), and `lte` (at or\ \ before). For example: Setting this to `lt:2024-02-01T00:00:00Z` filters\ \ for events created before the specified timestamp.\n - Combine multiple\ \ values with `&` to specify a date range. For example: `created=gt:2026-01-01T00:00:00Z&created=lt:2026-02-01T00:00:00Z`." explode: true in: query name: created schema: description: "Filter results by their `createdAt` timestamp. Each value\ \ is in the format `operator:ISO-8601-timestamp`.\n - The supported operators\ \ are `gt` (after), `gte` (at or after), `lt` (before), and `lte` (at\ \ or before). For example: Setting this to `lt:2024-02-01T00:00:00Z` filters\ \ for events created before the specified timestamp.\n - Combine multiple\ \ values with `&` to specify a date range. For example: `created=gt:2026-01-01T00:00:00Z&created=lt:2026-02-01T00:00:00Z`." items: type: string type: array style: form responses: '200': content: application/json: examples: ListEvents_example1: description: '' summary: List events value: items: - createdAt: '2026-02-01T12:00:00Z' eventType: enrollment.activated id: evt_550e8400-e29b-41d4-a716-446655440000 status: DELIVERED schema: $ref: '#/components/schemas/ListEventsResponseContent' description: ListEvents 200 response '400': content: application/json: schema: $ref: '#/components/schemas/ValidationExceptionResponseContent' description: ValidationException 400 response '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedExceptionResponseContent' description: UnauthorizedException 401 response '403': content: application/json: schema: $ref: '#/components/schemas/AccessDeniedExceptionResponseContent' description: AccessDeniedException 403 response '500': content: application/json: schema: $ref: '#/components/schemas/InternalFailureExceptionResponseContent' description: InternalFailureException 500 response /events/{eventId}: get: description: Retrieves the details of an existing event by its identifier. operationId: GetEvent parameters: - description: The unique identifier for the event, formatted as `evt_{UUID}`. examples: GetEvent_example1: description: '' summary: Get an event value: evt_550e8400-e29b-41d4-a716-446655440000 in: path name: eventId required: true schema: description: The unique identifier for the event, formatted as `evt_{UUID}`. pattern: ^[a-z]{3,5}_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ type: string responses: '200': content: application/json: examples: GetEvent_example1: description: '' summary: Get an event value: createdAt: '2026-02-01T12:00:00Z' eventPayload: v1Event: account: a1b2c3d4-e5f6-7890-abcd-ef1234567890 created: '2026-02-01T12:00:00.000Z' environment: PRODUCTION id: evt_550e8400-e29b-41d4-a716-446655440000 object: v1.event resource: id: enr_661f9511-f3ac-52e5-b827-557766551111 type: enrollment type: enrollment.activated eventType: enrollment.activated id: evt_550e8400-e29b-41d4-a716-446655440000 status: DELIVERED schema: $ref: '#/components/schemas/GetEventResponseContent' description: GetEvent 200 response '400': content: application/json: schema: $ref: '#/components/schemas/ValidationExceptionResponseContent' description: ValidationException 400 response '401': content: application/json: schema: $ref: '#/components/schemas/UnauthorizedExceptionResponseContent' description: UnauthorizedException 401 response '403': content: application/json: schema: $ref: '#/components/schemas/AccessDeniedExceptionResponseContent' description: AccessDeniedException 403 response '404': content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundExceptionResponseContent' description: ResourceNotFoundException 404 response '500': content: application/json: schema: $ref: '#/components/schemas/InternalFailureExceptionResponseContent' description: InternalFailureException 500 response security: - httpApiKeyAuth: [] servers: - description: Production url: https://events.us.stedi.com/2026-02-01 tags: [] x-stedi: lifecycle: general_availability product: event-destinations public: true