Imprint Webhooks API
The Webhooks API from Imprint — 0 operation(s) for webhooks.
The Webhooks API from Imprint — 0 operation(s) for webhooks.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/imprint-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Public Imprint Webhooks API
version: '2.0'
servers:
- url: https://dev.sbx.imprint.co
description: Imprint public api sandbox
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Webhooks
paths: {}
webhooks:
Application:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Application Event Notification
description: Receive an event notification when an application for a payment method is created or transitions statuses.
operationId: hookApplicationStatus
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using shared webhook secret and webhook payload
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
Transaction:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Transaction Event Notification
description: 'Receive a notification when a transaction is created or when events for the transaction happen
Please see the [event notifications guide](https://docs.imprint.co/guide-event-notifications) for more information regarding the lifecycle of a transaction.
'
operationId: hookTransactionStatus
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using webhook secret and webhook payload
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
PaymentMethod:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Payment Method Event Notification
description: Receive a notification when a payment method (e.g. credit card or loan) is created or transitions statuses.
operationId: hookPaymentMethodStatus
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using webhook secret and webhook payload
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentMethodWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
CustomerLink:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Customer Link Event Notification
description: Receive a notification when a customer’s Imprint account is successfully linked to a partner account via the Account Linker.
operationId: hookCustomerLink
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using shared webhook secret and webhook payload
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerLinkWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
Reward:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Reward Event Notification
description: Receive an event notification when a reward is created, updated, or available
operationId: hookReward
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using shared webhook secret and webhook payload
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RewardWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
Streak:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Streak Event Notification
description: Receive an event notification when a customer's streak starts, progresses, completes, or fails.
operationId: hookStreak
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using shared webhook secret and webhook payload
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StreakWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
AccountStatus:
post:
tags:
- Webhooks
x-blank-ext: added to work around codegen bug
summary: Account Status Event Notification
description: Receive an event notification when a customer's account reaches a terminal state (e.g. closure).
operationId: hookAccountStatus
security: []
parameters:
- in: header
name: X-IMPRINT-HMAC-SIGNATURE
required: true
schema:
type: string
description: HMAC signature generated using shared webhook secret and webhook payload
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountStatusWebhookPayload'
responses:
'200':
description: Webhook received successfully.
content:
text/plain:
schema:
type: string
components:
schemas:
StreakWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object this webhook event relates to.
enum:
- STREAK
example: STREAK
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
customer_id:
type: string
description: Imprint's unique identifier for the associated customer.
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
streak_id:
type: string
description: Unique identifier for the customer's streak instance.
example: 11111111-2222-3333-4444-555555555555
streak_config_id:
type: string
description: Unique identifier for the streak configuration this instance was created from.
example: 66666666-7777-8888-9999-000000000000
event:
$ref: '#/components/schemas/StreakEvent'
status:
$ref: '#/components/schemas/StreakStatus'
period_type:
type: string
description: The cadence used to evaluate streak progress.
example: STATEMENT
current_period:
type: integer
description: The 1-based index of the period the streak is currently on.
example: 12
completed_periods:
type: integer
description: The number of periods the customer has successfully completed.
example: 12
total_periods:
type: integer
description: The total number of periods required to complete the streak.
example: 12
current_period_start_at:
type: string
description: RFC-3339 timestamp (millisecond precision) when the current period opened. Omitted on the STREAK_FAILED event.
example: '2026-05-01T12:00:00.000Z'
current_period_end_at:
type: string
description: RFC-3339 timestamp (millisecond precision) when the current period closes. Omitted on the STREAK_FAILED event.
example: '2026-05-31T12:00:00.000Z'
benefits:
type: array
description: Partner-facing benefit identifiers to fulfill for the streak. Always present; populated only on the STREAK_COMPLETED event and empty on all other events.
items:
type: string
example:
- BENEFIT_1
created_at:
type: string
description: RFC-3339 timestamp (millisecond precision) when the triggering event occurred. Present on every event.
example: '2026-05-01T12:00:01.000Z'
metadata:
type: object
additionalProperties: true
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
PaymentMethodToken:
type: object
required:
- type
- token
- created_at
- updated_at
properties:
type:
type: string
enum:
- ADYEN
- APPLE_WALLET
- CYBERSOURCE
- WORLDPAY
token:
type: string
description: The token, as defined by the processor
pan_reference_id:
type: string
description: An ID that represents the PAN and is defined by the processor
created_at:
type: string
description: the RFC-3339 timestamp when the payment method was created
example: 2025-02-13 19:08:07+00:00
updated_at:
type: string
example: 2025-02-13 19:08:07+00:00
description: the RFC-3339 timestamp when the payment method was updated
StreakStatus:
type: string
description: The status of the streak, derived from the event. ENROLLED and PERIOD_COMPLETED carry IN_PROGRESS; STREAK_COMPLETED carries COMPLETED; STREAK_FAILED carries FAILED.
enum:
- IN_PROGRESS
- COMPLETED
- FAILED
example: COMPLETED
PartnerCustomerId:
type: string
description: The unique identifier for the customer in the partner's system
example: PARTNER_USER_456
CardDesignID:
type: string
description: Imprint ID for the graphic design printed on the card
example: 3b9c1f3e-52a0-44c1-b131-a7ab0099a214
TransactionStatus:
type: string
enum:
- APPROVED
- UPDATED
- VOIDED
- CAPTURED
- REFUNDED
example: APPROVED
CustomerLinkWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object associated with this webhook event.
enum:
- CUSTOMER_LINK
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
customer_id:
type: string
description: Imprint's unique identifier for the customer
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
status:
type: string
description: The status of the customer link
enum:
- ACTIVE
example: ACTIVE
created_at:
type: string
description: The RFC-3339 timestamp when the customer link was created
example: '2025-02-13T19:08:07Z'
updated_at:
type: string
description: The RFC-3339 timestamp when the customer link was last updated
example: '2025-02-13T19:08:07Z'
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
TransactionCurrency:
type: string
description: The 3-character currency code of the amount in ISO 4217 format (e.g., "USD")
example: USD
CardType:
type: string
description: The type of card
enum:
- PHYSICAL
- VIRTUAL
- UNIFIED
Merchant:
type: object
properties:
network_id:
type: string
description: Unique identifier of the merchant assigned by the payment network.
example: '234923454545'
name:
type: string
description: Name of the merchant where the transaction occurred.
example: Target
category:
type: string
nullable: true
description: Name of the merchant category.
example: Grocery Stores
category_code:
type: string
nullable: true
description: Code associated with the merchant category.
example: '5411'
address:
$ref: '#/components/schemas/Address'
type: object
ApplicationWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object associated with this webhook event. This field indicates what kind of resource has been created or updated.
enum:
- APPLICATION
example: APPLICATION
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
customer_id:
type: string
description: Imprint's unique identifier for the associated customer
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
status:
type: string
description: The new status of the application.
example: OFFER_ACCEPTED
enum:
- OFFER_ACCEPTED
- REJECTED
created_at:
type: string
example: 2025-02-13 19:08:07+00:00
description: the RFC-3339 timestamp when the application was created
updated_at:
type: string
example: 2025-02-13 19:08:07+00:00
description: the RFC-3339 timestamp when the application was last updated
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
Address:
type: object
description: Mailing address information
properties:
street_line1:
type: string
description: Primary street address
example: 123 Main St
street_line2:
type: string
description: Secondary street address (apartment, suite, etc.)
example: Apt 4B
city:
type: string
description: City name
example: San Francisco
state:
type: string
description: State or province
example: CA
postal_code:
type: string
description: ZIP or postal code
example: '94105'
country:
type: string
description: ISO-3166-1 alpha-3 Country Code
example: USA
RewardCurrency:
type: string
description: The 3-character currency code of the amount in ISO 4217 format (e.g., "USD") or a reward unit (e.g., "POINTS")
example: POINTS
RewardStatus:
type: string
enum:
- PENDING
- AVAILABLE
- PENDING_DEDUCTION
- DEDUCTED
example: PENDING
PurchaseMethod:
type: string
enum:
- CHIP
- CONTACTLESS
- KEYEDIN
- ONLINE
- SWIPE
- QRCODE
- OCR
- UNKNOWN
nullable: true
description: How the purchase was completed.
example: CHIP
AccountStatusValue:
type: string
description: The customer's account status.
enum:
- CLOSED
example: CLOSED
PaymentMethodWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object associated with this webhook event. This field indicates what kind of resource has been created or updated.
enum:
- PAYMENT_METHOD
example: PAYMENT_METHOD
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
payment_method_id:
type: string
description: Unique identifier for the payment method.
example: DCBFC736-2286-42DD-897D-160DCA80AED2
customer_id:
type: string
description: Unique identifier for the associated customer
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
previous_status:
type: string
description: The previous status of the card.
enum:
- ACTIVE
- INACTIVE
- CANCELED
new_status:
type: string
description: The new status of the card
enum:
- ACTIVE
- INACTIVE
- CANCELED
card_type:
$ref: '#/components/schemas/CardType'
card_design_id:
$ref: '#/components/schemas/CardDesignID'
tokens:
type: array
description: Payment method tokens that are defined by a third-party provider are included in this array by Imprint.
items:
$ref: '#/components/schemas/PaymentMethodToken'
created_at:
type: string
description: the RFC-3339 timestamp when the payment method was created
example: 2025-02-13 19:08:07+00:00
updated_at:
type: string
example: 2025-02-13 19:08:07+00:00
description: the RFC-3339 timestamp when the payment method was updated
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
RewardType:
type: string
enum:
- OFFER
- TRANSACTION
- ONE_TIME
- STATEMENT
- REFERRAL
example: TRANSACTION
TransactionWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object associated with this webhook event. This field indicates what kind of resource has been created or updated.
enum:
- TRANSACTION
example: TRANSACTION
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
transaction_id:
type: string
description: Unique identifier for the transaction. transaction_id remains the same throughout the lifecycle of a transaction (e.g., from APPROVED to CAPTURED or REFUNDED). It represents the overarching transaction instance.
example: e2806932-5f1b-4518-8b15-156d773e9496
event_id:
type: string
description: Unique identifier for a specific event that occurs within a transaction’s lifecycle. Transaction events correlated with a status (e.g., APPROVED, UPDATED, CAPTURED, REFUNDED), and every event is uniquely identified by an event_id.
example: e2806932-5f1b-4518-8b15-156d773e9496
intent_id:
type: string
nullable: true
description: Unique identifier of the transaction intent.
example: intent-12345
payment_method_id:
type: string
description: Unique identifier of the payment method used.
example: 7f754378-dd84-4a9a-b1ce-0646bb769c29
customer_id:
type: string
description: Unique identifier of the customer.
example: e0549550-90e9-4acb-b7e9-2e4738b7def2
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
status:
$ref: '#/components/schemas/TransactionStatus'
created_at:
type: string
format: date-time
description: RFC 3339 timestamp indicating when the transaction was authorized.
example: '2025-02-27T18:11:32.358Z'
updated_at:
type: string
format: date-time
nullable: true
description: RFC 3339 timestamp indicating when the transaction was last updated.
example: '2025-02-27T18:15:00.000Z'
amount:
type: integer
description: Amount of the transaction in the smallest currency unit (e.g., cents for USD).
example: 5000
currency:
$ref: '#/components/schemas/TransactionCurrency'
authorization_code:
type: string
nullable: true
description: Code used to authorize the transaction.
example: '645432'
network_transaction_id:
type: string
nullable: true
description: Unique transaction identifier assigned by the payment network.
example: txn-789456
purchase_method:
$ref: '#/components/schemas/PurchaseMethod'
merchant:
$ref: '#/components/schemas/Merchant'
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
RewardWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object associated with this webhook event. This field indicates what kind of resource has been created or updated.
enum:
- REWARD
example: REWARD
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
reward_id:
type: string
description: Unique identifier for the reward. Use this reward_id in the Retrieve a reward API to details about the reward
example: DCBFC736-2286-42DD-897D-160DCA80AED2
customer_id:
type: string
description: Unique identifier for the associated customer
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
transaction_id:
type: string
description: Identifies the transaction related to this reward for TRANSACTION typed reward
example: 34E24580-B97B-4949-A65C-929CCB9B9B8D
type:
$ref: '#/components/schemas/RewardType'
amount:
type: integer
description: Amount of the reward in the smallest currency unit (e.g., cents for USD).
example: 5000
status:
$ref: '#/components/schemas/RewardStatus'
currency:
$ref: '#/components/schemas/RewardCurrency'
created_at:
type: string
description: the RFC-3339 timestamp when the reward was created
example: 2025-02-13 19:08:07+00:00
metadata:
type: object
additionalProperties: true
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
StreakEvent:
type: string
description: The streak lifecycle event being signalled.
enum:
- ENROLLED
- PERIOD_COMPLETED
- STREAK_COMPLETED
- STREAK_FAILED
example: STREAK_COMPLETED
AccountStatusWebhookPayload:
type: object
properties:
object:
type: string
description: The type of object this webhook event relates to.
enum:
- ACCOUNT_STATUS
example: ACCOUNT_STATUS
data:
type: object
properties:
merchant_key:
type: string
description: Unique identifier for the merchant associated with this webhook event.
example: MERCHANT_ABC
customer_id:
type: string
description: Imprint's unique identifier for the associated customer.
example: 2EE24580-B97B-4949-A65C-929CCB9B9B8D
partner_customer_id:
$ref: '#/components/schemas/PartnerCustomerId'
status:
$ref: '#/components/schemas/AccountStatusValue'
updated_at:
type: string
description: RFC-3339 timestamp when the account status transition took effect. May be backdated when the transition has an effective date earlier than delivery (e.g. a debt sale).
example: '2026-05-01T12:00:00Z'
customer_metadata:
type: object
description: A set of key-value pairs of metadata attached to the customer.
additionalProperties:
type: string
example:
loyalty_id: '840012345678'
membership_tier: gold
securitySchemes:
basicAuth:
type: http
scheme: basic
description: 'Basic HTTP authentication. Allowed headers-- Authorization: Basic <base64(api_key_id:api_key_secret)>'
bearerAuth:
bearerFormat: auth-scheme
description: 'Bearer HTTP authentication. Allowed headers-- Authorization: Bearer <api_key>'
scheme: bearer
type: http