# 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. ## Servers - Production server: https://api.mycirrus.cloud/v1 (Production server) ## Parameters ### Body: application/json (object) - **id** (string) ID of the webhook (auto-generated) - **type** (string) Type of webhook - **instrument** (string) Serial number of the instrument - **url** (string(uri)) 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 Created #### Body: application/json (object) - **id** (string) ID of the webhook (auto-generated) - **type** (string) Type of webhook - **instrument** (string) Serial number of the instrument - **url** (string(uri)) 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 There is an error in the request, possibly missing parameter or incorrect url. #### Body: application/json (object) - **error** (string) Error code - **description** (string) Description of the error ### 401 Your access token is invalid or has expired #### Body: application/json (object) - **error** (string) Error code - **description** (string) Description of the error ### 403 You do not have permission to access this data #### Body: application/json (object) - **error** (string) Error code - **description** (string) Description of the error ### 429 You have made too many requests in a short time #### Body: application/json (object) - **error** (string) Error code - **description** (string) Description of the error [Powered by Bump.sh](https://bump.sh)