Subscribe to one or more webhook events.
POST
/v1/webhooks
const url = 'https://api.staging.elasticstage.com/store/v1/webhooks';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"events":["product.available"],"url":"https://example.com","secret":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.staging.elasticstage.com/store/v1/webhooks \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "events": [ "product.available" ], "url": "https://example.com", "secret": "example" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
events
required
Array<string>
url
required
string format: uri
secret
required
string
Responses
Section titled “Responses”Default Response
Media typeapplication/json
object
id
required
string
events
required
Array<string>
url
required
string format: uri
status
required
string
consecutive_failures
required
integer
Example
{ "id": "whk_2d7e9b", "events": [ "order.created", "order.tracking_updated" ], "url": "https://hooks.example.com/elasticstage", "status": "active", "consecutive_failures": 0, "last_delivery_at": null, "last_failure_at": null, "disabled_at": null}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 400, "code": "VALIDATION_ERROR", "error": "Bad Request", "message": "Request validation failed.", "details": [ { "field": "items", "reason": "must contain at least 1 item" } ]}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 401, "code": "UNAUTHORIZED", "error": "Unauthorized", "message": "Authentication required."}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 403, "code": "FORBIDDEN", "error": "Forbidden", "message": "Insufficient permissions."}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 429, "code": "RATE_LIMITED", "error": "Too Many Requests", "message": "Rate limit exceeded."}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 500, "code": "INTERNAL_ERROR", "error": "Internal Server Error", "message": "An unexpected error occurred."}Default Response
Media typeapplication/json
object
statusCode
required
number
code
required
string
error
required
string
message
required
string
details
Array
Example
{ "statusCode": 503, "code": "SERVICE_UNAVAILABLE", "error": "Service Unavailable", "message": "The service is temporarily unavailable."}