Create a new webhook

POST /webhooks

Add a new webhook.

The secret can be set or left blank. If left blank, a random secret will be generated and returned in the response.
This is then used to sign the webhook payloads to verify that they are from MyCirrus.

Requires an API key with the webhooks:write scope.

application/json

Body Required

  • id string

    ID of the webhook (auto-generated)

  • type string Required

    Type of webhook

    Values are NewMeasurement, NewEvent, InstrumentStatus, CalibrationFinished, or SicFinished.

  • instrument string Required

    Serial number of the instrument

  • url string(uri) Required

    URL to send the webhook message to. Must use HTTPS.

  • secret string

    Secret used to sign the webhook message. If not set, a random secret will be generated.

Responses

  • 201 application/json

    Created

    Hide response attributes Show response attributes object
    • id string

      ID of the webhook (auto-generated)

    • type string Required

      Type of webhook

      Values are NewMeasurement, NewEvent, InstrumentStatus, CalibrationFinished, or SicFinished.

    • instrument string Required

      Serial number of the instrument

    • url string(uri) Required

      URL to send the webhook message to. Must use HTTPS.

    • secret string

      Secret used to sign the webhook message. If not set, a random secret will be generated.

  • 400 application/json

    There is an error in the request, possibly missing parameter or incorrect url.

    Hide response attributes Show response attributes object
  • 401 application/json

    Your access token is invalid or has expired

    Hide response attributes Show response attributes object
  • 403 application/json

    You do not have permission to access this data

    Hide response attributes Show response attributes object
  • 429 application/json

    You have made too many requests in a short time

    Hide response attributes Show response attributes object
POST /webhooks
curl \
 --request POST 'https://api.mycirrus.cloud/v1/webhooks' \
 --header "Content-Type: application/json" \
 --data '{"id":"xxxxxxxxxxxx","url":"https://example.com/mywebhook","type":"NewMeasurement","secret":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","instrument":"QT123456"}'
Request example
{
  "id": "xxxxxxxxxxxx",
  "url": "https://example.com/mywebhook",
  "type": "NewMeasurement",
  "secret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "instrument": "QT123456"
}
Response examples (201)
{
  "id": "xxxxxxxxxxxx",
  "url": "https://example.com/mywebhook",
  "type": "NewMeasurement",
  "secret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "instrument": "QT123456"
}
Response examples (400)
{
  "error": "MissingParam",
  "description": "The required parameter StartTime was missing from the request."
}
{
  "error": "NotFound",
  "description": "The instrument QT123456 could not be found."
}
Response examples (401)
{
  "error": "TokenExpired",
  "description": "Your access token is invalid or has expired. Try refreshing the token."
}
Response examples (403)
{
  "error": "AccessDenied",
  "description": "You do not have permission to access this data."
}
Response examples (429)
{
  "error": "TooManyRequests",
  "description": "You have made too many requests in a short time. Please wait before trying again."
}