Signicat Events Management (v1)
Download OpenAPI specification:Download
The Events Management service is the entry point into processing events generated by our services. By creating a Subscription you can have events pushed to your service whenever something interesting happens in a Signicat service. See each service's documentation for detailed information on which events are interesting to you and how to use them.
The following table provides an overview of all events accessible through the events service.
Event | Description |
---|---|
mint-api:create_event | Gets triggered every time a flow is created. |
mobileid:account-recovery.completed | Sent whenever an account recovery is completed. |
mobileid:account-recovery.state.change | Sent whenever an account recovery is updated or deleted. |
certificate-management:csr.permanentlyDeleted | A CSR has been permanently deleted. |
certificate-management:csr.patched | The CSR has been patched. |
certificate-management:certificate.deleted | A certificate has been soft-deleted. |
mint-api:save_event | Gets triggered every time a flow is saved. |
signature-api:session.document.presented | Sent whenever a document is presented to a recipient |
auth-solution:connection.created | Sent whenever a connection (OAuth/OIDC client) is created. |
hydra-api:file_deleted | Gets triggered every time a file was successfully deleted. |
mint-api:delete_event | Gets triggered every time a flow is deleted. |
ownidp:membership.created | Sent when a membership is created |
mobileid:device.state.change | Sent whenever a device state is changed from device. |
certificate-management:csr.restored | A soft-deleted CSR has been restored. |
auth-solution:connection.deleted | Sent whenever a connection (OAuth/OIDC client) is deleted. |
authentication-api:session.success | The session was successfull. |
authentication-api:session.abort | The session was aborted. |
hydra-api:file_added | Gets triggered every time a new file was successfully uploaded. |
mint-api:publish_event | Gets triggered every time a flow is published. |
mobileid:passport-scan.readid.completed | Sent whenever a mobileid passport scan result is ready. |
communication-api:sms.failed | Sent whenever an sms sending fails permanently |
authentication-api:session.error | The session resulted in an error. |
hydra-api:file_hydrated | Gets triggered every time a file was hydrated with data provided to it. |
signature-api:order.expired | Sent whenever a sign order is expired |
signature-api:order.completed | Sent whenever a sign order is considered completed |
signature-api:recipient.completed | Sent whenever a recipient of the order (typically a signer) has completed their work |
signature-api:order.deleted | Sent whenever a sign order is deleted |
hydra-api:file_received | Gets triggered every time a file was requested. |
certificate-management:certificate.restored | A soft-deleted certificate has been restored. |
certificate-management:certificate.expiring | Certificate will expire in the next 30d |
signature-api:order.canceled | Sent whenever a sign order is canceled via API |
account-api:organization.deleted | Sent whenever an organization is marked for permanent deletion. |
communication-api:email.sent | Sent whenever an email has been sent |
auth-solution:connection.updated | Sent whenever a connection (OAuth/OIDC client) is updated. |
account-api:account.enabled | Sent whenever an account is enabled. Is not sent when a new account is created. |
account-api:account.deleted | Sent whenever an account is marked for permanent deletion. |
communication-api:email.failed | Sent whenever an email sending fails permanently |
ownidp:user.creation.completed | Sent when invitation/registration finishes. |
signature-api:session.started | Sent whenever a new sign session is started by recipient |
mobileid:signature.completed | Sent whenever a mobileid signature result is ready. |
account-api:account.created | Sent whenever an account is created. |
ownidp:user.deleted | Sent when user is removed from the application |
ownidp:membership.updated | Sent when a membership is updated |
certificate-management:owner.permanentlyDeleted | An Owner has been permanently deleted. |
ownidp:user.updated | Sent when different update operations were done on the subject |
mobileid:authentication.completed | Sent whenever a mobileid authentication result is ready. |
assure-api:process.complete | Whenever an notification is sent |
certificate-management:csr.generated | A new CSR has been generated. |
certificate-management:certificate.uploaded | A new certificate has been uploaded. |
certificate-management:owner.deleted | An Owner has been soft-deleted. |
ownidp:membership.deleted | Sent when a membership is removed |
certificate-management:owner.restored | A soft-deleted owner has been restored. |
account-api:organization.created | Sent whenever an organization is created. |
certificate-management:csr.deleted | A CSR has been soft-deleted. |
certificate-management:certificate.patched | A certificate has been patched. |
signature-api:order.tobedeleted | Sent whenever a sign order is about to be deleted |
certificate-management:keypair.uploaded | A new KeyPair has been uploaded. |
global-config-server:configuration.expiring | Sent whenever a configuration is about to expire in the next 30d. |
signature-api:order.created | Sent whenever a new sign order is created |
communication-api:email.delivered | Sent whenever an email is delivered |
assure-api:webid.zip.file.ready | Notify when a WebID zip file is ready to download |
ownidp:user.disabled | Sent when user is disabled |
account-api:account.soft-delete-changed | Sent whenever an account's soft deletion state is changed. |
communication-api:sms.delivered | Sent whenever an sms is delivered |
communication-api:sms.sent | Sent whenever an sms has been sent |
cms:certificate.expiring | Certificate will expire in the next 30 days |
communication-api:email.opened | Sent whenever an email is opened |
global-config-server:configuration.expired | Sent whenever a configuration is expired. |
certificate-management:certificate.permanentlyDelete | A certificate has been permanently deleted. |
account-api:account.disabled | Sent whenever an account is temporarily disabled. |
ownidp:user.creation.started | Sent when invitation/registration flow starts. |
mobileid:registration.completed | Sent whenever a mobileid registration result is ready. |
Metadata endpoints provide information that are useful to services and user interfaces integrating with the Event Management Service.
Subscriptions are used to listen to events generated by Signicat services. Different types of subscriptions are available, allowing your application to listen to events in the way best suited for you.
Azure Service Bus
By creating a subscription of type AzureServiceBus
we can push events directly to your Azure Service Bus queue.
Configuration:
Locate your Service Bus in the Azure Portal. On the tab named "Shared Access Policies", add a policy named "Signicat" which has the Send
claim and no other claims. Use the connection string from this shared access policy when creating your subscription.
Google Pub/Sub
By creating a subscription of type GooglePubSub
we can push events directly to your Google Pub Sub topic.
Configuration: Locate Service accounts in Google Cloud console under IAM and admin. Create a new service account or use existing. Click manage keys under actions and add a key using type json. Copy the contents of the file into the credential parameter when creating your subscription.
Webhooks
By creating a subscription of type Webhook
we can push events directly to your application using HTTP requests.
List subscriptions
Lists all subscriptions owned by the specified account or organization.
Responses
Response samples
- 200
{- "data": [
- {
- "id": "string",
- "name": "string",
- "active": true,
- "url": "string",
- "ownerId": "string",
- "eventNameFilter": [
- "string"
], - "tagFilter": [
- "string"
], - "type": "GooglePubSub"
}
], - "next": "string"
}
Create subscription
Request Body schema: application/json
name required | string [ 3 .. 64 ] characters Label to describe how or where the subscription is used. |
type required | string [ 3 .. 64 ] characters Enum: "GooglePubSub" "Mint" "Webhook" "AzureServiceBus" The type of subscription |
required | object The subscription configuration |
eventNameFilter | Array of strings or null Which events to subscribe to (Values may end with an asterisk to include all events with the given prefix. An empty list means all events are subscribed to.) |
tagFilter | Array of strings or null Which event tags must be present for this subscription to handle the event (Values may end with an asterisk for wildcard matching) |
object or null Options for message authentication. |
Responses
Request samples
- Payload
{- "name": "My Subscription",
- "ownerId": null,
- "type": "Webhook",
- "eventNameFilter": [
- "account-api:account.created",
- "communication-api:*"
], - "tagFilter": [ ],
- "includeInternalEvents": null,
- "isGlobalSubscription": null,
- "messageAuthentication": {
- "authenticationType": "HmacSha256",
- "hmacSha256": {
- "secret": "E*wl1K87LYnUoZSm"
}
}
}
Response samples
- 200
{- "id": "s-a-spge-RzcZFs2Z5Kfd5T6mbTPM-mIdjC",
- "name": "My Subscription",
- "active": true,
- "ownerId": "a-spge-RzcZFs2Z5Kfd5T6mbTPM",
- "type": "Webhook",
- "eventNameFilter": [
- "account-api:account.created",
- "communication-api:*"
], - "tagFilter": [ ],
- "includeInternalEvents": null,
- "isGlobalSubscription": null,
- "messageAuthentication": {
- "authenticationType": "HmacSha256",
- "hmacSha256": {
- "secret": "E*wl1K87LYnUoZSm"
}
}
}
Retrieve subscription
A subscription can be created on an organization or an account.
A subscription will subscribe to events on the organization or account on which it exists.
You can specify which organization or account to create the subscription on by appending the query parameter ?signicat-organizationId=[your-id]
or ?signicat-accountId=[your-id]
path Parameters
subscriptionId required | string |
Responses
Response samples
- 200
{- "id": "s-a-spge-RzcZFs2Z5Kfd5T6mbTPM-mIdjC",
- "name": "My Subscription",
- "active": true,
- "ownerId": "a-spge-RzcZFs2Z5Kfd5T6mbTPM",
- "type": "Webhook",
- "eventNameFilter": [
- "account-api:account.created",
- "communication-api:*"
], - "tagFilter": [ ],
- "includeInternalEvents": null,
- "isGlobalSubscription": null,
- "messageAuthentication": {
- "authenticationType": "HmacSha256",
- "hmacSha256": {
- "secret": "E*wl1K87LYnUoZSm"
}
}
}
Update subscription
path Parameters
subscriptionId required | string |
Request Body schema: application/json
name required | string [ 3 .. 64 ] characters Label to describe how or where the subscription is used. |
active | boolean or null Whether the subscription is active. Inactive subscriptions will not process any events. |
type required | string [ 3 .. 64 ] characters Enum: "GooglePubSub" "Mint" "Webhook" "AzureServiceBus" The type of subscription. This value may not be changed. |
eventNameFilter | Array of strings or null Which events to subscribe to (Values may end with an asterisk to include all events with the given prefix. An empty list means all events are subscribed to.) |
tagFilter | Array of strings or null Which event tags must be present for this subscription to handle the event (Values may end with an asterisk for wildcard matching) |
required | object The subscription configuration |
object or null Options for message authentication. |
Responses
Request samples
- Payload
{- "name": "My Subscription",
- "active": true,
- "type": "Webhook",
- "eventNameFilter": [
- "account-api:account.created",
- "communication-api:*"
], - "tagFilter": [ ],
- "messageAuthentication": {
- "authenticationType": "HmacSha256",
- "hmacSha256": {
- "secret": "E*wl1K87LYnUoZSm"
}
}, - "includeInternalEvents": null
}
Response samples
- 200
{- "id": "s-a-spge-RzcZFs2Z5Kfd5T6mbTPM-mIdjC",
- "name": "My Subscription",
- "active": true,
- "ownerId": "a-spge-RzcZFs2Z5Kfd5T6mbTPM",
- "type": "Webhook",
- "eventNameFilter": [
- "account-api:account.created",
- "communication-api:*"
], - "tagFilter": [ ],
- "includeInternalEvents": null,
- "isGlobalSubscription": null,
- "messageAuthentication": {
- "authenticationType": "HmacSha256",
- "hmacSha256": {
- "secret": "E*wl1K87LYnUoZSm"
}
}
}
Send mock event
Attempts to deliver a mocked event to the subscription. Note that the delivery is an asynchronous operation.
The resulting deliveryAttemptId
value can be used to poll the delivery logs for the corresponding delivery attempt log item.
path Parameters
subscriptionId required | string |
Request Body schema: application/json
event required | string non-empty ^[^\:]+\:[^\:]+$ Type of event to mock |
tags | Array of strings or null Arbitrary tags to add to the event |
Responses
Request samples
- Payload
{- "event": "string",
- "tags": [
- "string"
]
}
Response samples
- 200
{- "deliveryAttemptId": "string"
}
Query delivery logs
query Parameters
subscriptionId | string If specified, will retrieve only log items for this subscription |
success | boolean If specified, will retrieve only log items with this success property |
cursor | string Cursor used for pagination |
Responses
Response samples
- 200
{- "data": [
- {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "success": true,
- "event": {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "sender": "string",
- "eventName": "string",
- "eventData": null,
- "accountId": "string",
- "organizationId": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
]
}, - "attempt": 0,
- "properties": {
- "property1": null,
- "property2": null
}, - "errorMessage": "string",
- "subscriptionId": "string",
- "subscriptionType": "string",
- "subscriptionName": "string"
}
]
}
Response samples
- 200
{- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "success": true,
- "event": {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "sender": "string",
- "eventName": "string",
- "eventData": null,
- "accountId": "string",
- "organizationId": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
]
}, - "attempt": 0,
- "properties": {
- "property1": null,
- "property2": null
}, - "errorMessage": "string",
- "subscriptionId": "string",
- "subscriptionType": "string",
- "subscriptionName": "string"
}
List events
The event
query parameter may be used to search for a specific event, or a group of events relating to the same service.
Examples:
- Single event:
communication-api:email.delivered
- All events from the communication service:
communication-api:*
query Parameters
before | string <date-time> |
after | string <date-time> |
event | string |
limit | integer <int32> [ 1 .. 100 ] Default: 100 |
tail | boolean If true, the next page URL will retrieve the latest events instead of earlier events. Not compatible with |
page | string Pagination token |
Responses
Response samples
- 200
{- "data": [
- {
- "id": "string",
- "event": {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "sender": "string",
- "eventName": "string",
- "eventData": null,
- "accountId": "string",
- "organizationId": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
]
}, - "url": "string",
- "replayUrl": "string"
}
], - "next": "string"
}
Response samples
- 200
{- "id": "string",
- "event": {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "sender": "string",
- "eventName": "string",
- "eventData": null,
- "accountId": "string",
- "organizationId": "string",
- "expiresAt": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
]
}, - "url": "string",
- "replayUrl": "string"
}