Create a subscription
curl --request POST \
--url https://signsealship.com/api/partner/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/hooks/signsealship",
"topics": [
"order.created",
"payment.cleared",
"room.passport_sealed"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/hooks/signsealship',
topics: ['order.created', 'payment.cleared', 'room.passport_sealed']
})
};
fetch('https://signsealship.com/api/partner/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://signsealship.com/api/partner/webhooks"
payload = {
"url": "https://example.com/hooks/signsealship",
"topics": ["order.created", "payment.cleared", "room.passport_sealed"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret": "<string>",
"url": "<string>",
"topics": [
"<string>"
],
"signatureHeader": "SignSealShip-Signature"
}{
"error": "<string>"
}{
"error": "A valid partner API key is required."
}Endpoints
Create a subscription
Create a topic-aware webhook subscription. Accepts the partner API key or the dashboard session cookie. The signing secret is shown exactly once. Order topics (order.created, payment.cleared, signature.completed, shipment.delivered) deliver only for orders you created through the Order API.
POST
/
api
/
partner
/
webhooks
Create a subscription
curl --request POST \
--url https://signsealship.com/api/partner/webhooks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/hooks/signsealship",
"topics": [
"order.created",
"payment.cleared",
"room.passport_sealed"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/hooks/signsealship',
topics: ['order.created', 'payment.cleared', 'room.passport_sealed']
})
};
fetch('https://signsealship.com/api/partner/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://signsealship.com/api/partner/webhooks"
payload = {
"url": "https://example.com/hooks/signsealship",
"topics": ["order.created", "payment.cleared", "room.passport_sealed"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret": "<string>",
"url": "<string>",
"topics": [
"<string>"
],
"signatureHeader": "SignSealShip-Signature"
}{
"error": "<string>"
}{
"error": "A valid partner API key is required."
}Authorizations
partnerKeysessionCookie
Partner API key. Send as Authorization: Bearer sss_pk_....
Body
application/json
An absolute https:// URL.
The order topics deliver only for orders created through the Order API.
Minimum array length:
1Available options:
passport.sealed, room.order_attached, room.passport_sealed, order.created, payment.cleared, signature.completed, shipment.delivered, trust.assessment_requested, trust.assessment_completed, trust.assessment_superseded, recording.review_required, recording.quote_ready, recording.approved, recording.fulfillment_queued, recording.mailed, recording.delivered_to_recorder, recording.accepted, recording.recorded, recording.rejected, recording.receipt_sealed