Skip to content

Create a webhook endpoint

POST
/webhooks
curl --request POST \
--url https://shipjay.com/api/v1/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "url": "https://example.com", "description": "example", "event_types": [ "*" ] }'

The signing secret is returned once. Deliveries carry a ShipJay-Signature header: t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">.

Media typeapplication/json
object
url
required
string format: uri
<= 500 characters
description
string
<= 200 characters
event_types
required
Array
>= 1 items

Success.

Media typeapplication/json
object
id
required
string
secret
required
string

Example generated

{
"id": "example",
"secret": "example"
}

Missing or invalid API key.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The key lacks the required permission, or the account is suspended.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The resource does not exist.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The request is not valid. error.details.issues lists the problems.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

Too many requests. Wait Retry-After seconds.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

© 2026 Ship Jay. All rights reserved. Created & Developed by WCWS Internet