Frequently Asked Questions (FAQ)

Requests to Subscription APIs are blocked by the browser CORS policy. What do I do?

When facing this issue, you will see a CORS error like the one below:

Copy
Copied
Access to XMLHttpRequest from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

This error occurs when the browser is trying to make a request to a different origin (domain) than the one it's hosted on and the server the request is being sent to is not configured to allow cross-origin requests. The Access-Control-Allow-Origin header is used to specify which origins are allowed to access the resource. If this header is not present, the browser will block the request and the above error message will be displayed.

Unfortunately, for security reasons, we can't add "localhost" to the response 'Access-Control-Allow-Origin' HTTP header, so this issue must be solved from the API consumer side.

In order to solve this problem, we recommend using a REST client instead of a web browser. This would also ease the process of setting the proper HTTP Authorization headers as part of your requests.

How can I recover a failed subscription?

It can automatically recover when the destination webhook starts accepting Celonis messages. Alternatively, the consumer can recover the subscription by submitting new callback details (webhook URI or credentials). The failed messages are not lost; they are emitted after the communication is restored (unless the subscription has been configured to skip errors).

How can I recover a suspended subscription?

A suspended subscription can only be recovered by updating the subscription with new callback details. The failed messages are permanently lost.

What can I do to retrieve messages from a failing subscription?

There are two ways:

  1. Performing reconciliation and retrieving synchronously the failed messages (method PATCH subscriptions/{subscription_id}/events ).
  2. Replaying the messages from the last successful offset (method PATCH subscriptions/{subscription_id}/replay ).