Gearment Webhook API (1.0.0)

The Gearment Webhook API provides real-time notifications for critical order and product events—such as order completion, cancellation, shipping updates, stock changes, and variant modifications—across multiple payload versions to ensure seamless integration with your existing systems.

Download OpenAPI description
Overview
Support Integration

integration@gearment.com

Languages
Servers
Your Webhook URL

https://your-webhook-url/

Overview

Webhook events are one-way events sent to your app over HTTP to notify you when an event occured. Unlike events that are sent over Gateway connections, events sent over webhooks are not realtime or guaranteed to be in order.

While incoming webhooks are triggered by an external service, webhook events (i.e. outgoing webhooks) are triggered by events happening in Gearment. This means your app will need to set up a public URL where you can receive HTTP events, which is detailed in the preparing for events section.

You can configure only one webhook URL per webhook event and version.

Signature

When Gearment sends an alert payload to your webhook URL, we include a variety of headers that you can use to verify that the payload came from QuickAlerts. For additional security, you can implement signature validation, which is an optional way to verify the authenticity of payloads received by your webhook URL.


Payload

Webhook events that can be received from Gearment

Webhooks

Order CompletedWebhook

Request

Triggered when an order is completed and shipped to the customer

Bodyapplication/json
One of:

Version 1 webhook payload for completed orders

api_keystringrequired

API key for webhook validation

Example: "xxxxxxxxxxxx"
typestringrequired

Event type

Value"order_completed"
Example: "order_completed"
dataobjectrequired

Order data payload

data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​ord_statusstringrequired

Order status

Example: "completed"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
data.​tracking_numberstringrequired

Shipment tracking number

Example: "1ZW470V80341905646"
data.​tracking_companystringrequired

Shipping carrier

Example: "UPS"
data.​tracking_urlstringrequired

Tracking URL

Example: "https://www.ups.com/track?tracknum=1ZW470V80341905646"
application/json
{ "api_key": "xxxxxxxxxxxx", "type": "order_completed", "data": { "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "ord_status": "completed", "order_id": "EXT-1234567", "tracking_number": "1ZW470V80341905646", "tracking_company": "UPS", "tracking_url": "https://www.ups.com/track?tracknum=1ZW470V80341905646" } }

Responses

Webhook processed successfully

Order CancelledWebhook

Request

Triggered when an order is cancelled

Bodyapplication/json
One of:

Version 1 webhook payload for order cancellation

api_keystringrequired

API key for webhook validation

Example: "xxxxxxxxxxxx"
typestringrequired

Event type

Value"order_cancelled"
Example: "order_cancelled"
dataobjectrequired
data.​api_keystringrequired

API key inside the data section (duplicated)

Example: "xxxxxxxxxxxx"
data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​ord_statusstringrequired

Order status - will be "canceled"

Example: "canceled"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
application/json
{ "api_key": "xxxxxxxxxxxx", "type": "order_cancelled", "data": { "api_key": "xxxxxxxxxxxx", "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "ord_status": "canceled", "order_id": "EXT-1234567" } }

Responses

Webhook processed successfully

Order Tracking UpdatedWebhook

Request

Triggered when tracking information for an order is added or updated

Bodyapplication/json
One of:

Version 1 webhook payload for tracking updates

api_keystringrequired

API key for webhook validation

Example: "xxxxxxxxxxxx"
typestringrequired

Event type

Value"tracking_updated"
Example: "tracking_updated"
dataobjectrequired
data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​ord_statusstringrequired

Order status (fixed as "processing")

Example: "processing"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
data.​tracking_numberstringrequired

Shipment tracking number

Example: "1ZW470V80341905646"
data.​tracking_companystringrequired

Shipping carrier

Example: "UPS"
data.​tracking_urlstringrequired

Tracking URL

Example: "https://www.ups.com/track?tracknum=1ZW470V80341905646"
application/json
{ "api_key": "xxxxxxxxxxxx", "type": "tracking_updated", "data": { "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "ord_status": "processing", "order_id": "EXT-1234567", "tracking_number": "1ZW470V80341905646", "tracking_company": "UPS", "tracking_url": "https://www.ups.com/track?tracknum=1ZW470V80341905646" } }

Responses

Webhook processed successfully

Order On HoldWebhook

Request

Triggered when an order is placed on hold

Bodyapplication/json
One of:

Version 1 webhook payload for order on hold

typestringrequired

Event type

Value"order_on_hold"
Example: "order_on_hold"
dataobjectrequired
data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​reasonstringrequired

Reason for placing order on hold

Example: "Address validation required"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
application/json
{ "type": "order_on_hold", "data": { "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "reason": "Address validation required", "order_id": "EXT-1234567" } }

Responses

Webhook processed successfully

Shipping Address VerifiedWebhook

Request

Triggered when a shipping address is verified

Bodyapplication/json
One of:

Version 1 webhook payload for verified shipping address

typestringrequired

Event type

Value"shipping_address_verified"
Example: "shipping_address_verified"
dataobjectrequired
data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​ord_statusstringrequired

Order status

Example: "pending"
data.​verify_addressstringrequired

Address verification status

Example: "verified"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
application/json
{ "type": "shipping_address_verified", "data": { "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "ord_status": "pending", "verify_address": "verified", "order_id": "EXT-1234567" } }

Responses

Webhook processed successfully

Shipping Address UnverifiedWebhook

Request

Triggered when a shipping address cannot be verified

Bodyapplication/json
One of:

Version 1 webhook payload for unverified shipping address

typestringrequired

Event type

Value"shipping_address_unverified"
Example: "shipping_address_unverified"
dataobjectrequired
data.​gearment_ord_idstringrequired

Gearment order ID

Example: "ORD123456789"
data.​gearment_ord_namestringrequired

Gearment order name

Example: "#10001"
data.​ord_statusstringrequired

Order status

Example: "pending"
data.​verified_addressstringrequired

Address verification

Example: "unverified"
data.​order_idstringrequired

External order ID

Example: "EXT-1234567"
application/json
{ "type": "shipping_address_unverified", "data": { "gearment_ord_id": "ORD123456789", "gearment_ord_name": "#10001", "ord_status": "pending", "verified_address": "unverified", "order_id": "EXT-1234567" } }

Responses

Webhook processed successfully

Product Variant Out of StockWebhook

Request

Triggered when a product variant goes out of stock

Bodyapplication/json
One of:

Version 1 webhook payload for out-of-stock product variants

api_keystringrequired

API key for webhook validation

Example: "xxxxxxxxxxxx"
typestringrequired

Event type

Value"product_out_of_stock"
Example: "product_out_of_stock"
dataArray of objectsrequired

List of out-of-stock product variants

data[].​product_namestringrequired

Product name

Example: "Premium T-Shirt"
data[].​product_idstringrequired

Product ID

Example: "PROD-12345"
data[].​product_imgstringrequired

URL to product image

Example: "https://cdn.gearment.com/images/products/12345.jpg"
data[].​print_areasArray of stringsrequired

Available print locations

Example: ["front","back"]
data[].​variantsobjectrequired
data[].​variants.​variant_idstringrequired

Variant ID

Example: "VAR-12345"
data[].​variants.​namestringrequired

Variant name

Example: "Black / XL"
data[].​variants.​sizestringrequired

Size

Example: "XL"
data[].​variants.​colorstringrequired

Color name

Example: "Black"
data[].​variants.​hex_color_codestringrequired

Color hex code

Example: "#000000"
data[].​variants.​pricestringrequired

Base price

Example: "19.99"
data[].​variants.​extra_pricestringrequired

Extra price for this variant

Example: "2.00"
data[].​variants.​availability_statusstringrequired

Stock status

Example: "out_of_stock"
application/json
{ "api_key": "xxxxxxxxxxxx", "type": "product_out_of_stock", "data": [ { … } ] }

Responses

Webhook processed successfully

Variant CreatedWebhook

Request

Triggered when a new product variant is created

Bodyapplication/json
One of:
variant_createdboolean

Indicates a variant has been created

Example: true
application/json
{ "variant_created": true }

Responses

Webhook processed successfully

Variant UpdatedWebhook

Request

Triggered when a product variant is updated

Bodyapplication/json
One of:
variant_updatedboolean

Indicates a variant has been updated

Example: true
application/json
{ "variant_updated": true }

Responses

Webhook processed successfully