Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Our admin endpoints.
This set of benefit endpoints should only be used by merchant that have Tiers disabled. Benefit access for merchants that have enabled Tiers can be found in the Tiers tab in this API reference.
Member accessing and altering endpoints.
Get and create credit requests.
Get your merchant data. Serves as a good health check for our services and your API key/access.
These endpoints only work for merchants with tiers enabled. Access benefits via this set of endpoints.
API v1 has been updated with many new features, performance improvements, and a brand new roadmap that will empower our merchants to do so much more with our Public API.
Massive performance improvements: most if not all endpoints are operating anywhere between 1.5x and 8x faster than our previous implementation.
Stricter internal security.
Support for Tiers
A roadmap that will allow you to do many new and powerful things with our Public API.
Public API v1 will sunset in May of 2024!
API Keys are private and should not be shared or exposed on the front end.
As with v1, authentication is done via the request header. Include your API key as an X-Inveterate-Api-Key
header on all API endpoint requests.
All API requests utilize https://public.inveterateapi.com/v2.0/
as the base URL. If you have any issues, double check that you are prepending with https://
and appending /v2.0
.
As of now, admin and storefront methods operate in the same way--use the same API key in the header to authenticate both kinds of endpoints. The admin endpoints were created to model after admin actions within the merchant dashboard, while the storefront was made to model data that members are allowed to access.
In the (near) future, storefront endpoints will have their own "storefront" authentication through Shopify using a member's credentials. This will allow you to build authenticated apps and services outside of the Inveterate/Shopify ecosystem.
The storefront endpoints will always support authentication via the X-Inveterate-Api-Key
, however.
Get, create and delete webhooks. Use these to build third-party integrations.
Our storefront-authenticated endpoints.
Get credits for a specific member.
Member get. Includes more member actions in sub-directories.
Create a credit redemption request for a member.
This set of benefit endpoints should only be used by merchant that have Tiers disabled. Benefit access for merchants that have enabled Tiers can be found in the Tiers tab in this API reference.
These endpoints only work for merchants with tiers enabled. Access benefits via this set of endpoints.
Create a cancellation request for a member.
Generates a security token and places an entry with the token and the callback URL in our backend. The token is used to verify that the request is coming from Inveterate within your app, when the callback URL is triggered. Ensure that you save the token.
The callback URL will be triggered when one of the following events occurs:
`merchant.updated`
`merchant.reinstall`
`customer.created`
`customer.updated`
`customer.credits.updated`
`customer.ordered`
`customer.cancellation_requested`
`customer.confirmed_cancellation`
Your private Inveterate API key.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Deletes a webhook for a given merchant. Merchant is pulled from the public API key for security reasons. The effects of this method are both immediate (data deleted from webhooks database) and eventual (request against backend service to confirm webhook deletion).
Your private Inveterate API key.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all credits for one customer. API key is used to match the customer to your account for security reasons. Ensure that the customer ID is included in the request path.
The customer ID number.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all member data for a given member that is a part of your store. Merchant is pulled from the public API key for security reasons. Make sure to include the customer ID in the request path.
The customer ID number.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Forwards a redemption request to the Inveterate backend. Returns the success status of the request against the backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately.
The customer ID number.
Your private Inveterate API key.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all members for a given merchant. Merchant is pulled from the public API key for security reasons.
Pagination is supported by passing limit and lastCustomerId values as
query parameters. You will get a lastCustomerId value in the response
of the previous request, which can be used for the next.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns a single member for a given merchant. Merchant is pulled from the public API key for security reasons.
The customer ID number which you would like to retrieve.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all credits for one customer. API key is used to match the customer to your account for security reasons. Ensure that the customer ID is included in the request path.
Pagination is supported by passing limit and lastCreditEntry values as query parameters.
You will get a lastCreditEntry value in the response of the previous request, which can
be used for the next. Ensure that the lastCreditEntry value passed to the server is
encoded.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all webhooks for a given merchant. Merchant is pulled from the public API key for security reasons.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all internal merchant information associated with the API key.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This method forwards the credit creation request to our backend. Returns the success status of the request against backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately.
Your private Inveterate API key.
The amount of credits to add to the customer's account.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint is used to update a member. It takes a member ID and uses your public API key to match the customer to your account. As of now, all fields in the update schema are required, so it is not possible to update a single field at a time.
The customer ID number which you would like to update.
Your private Inveterate API key.
The customer's first name.
The customer's last name.
Internal notes for this customer. Only viewable by the merchant.
The customer's phone number.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
A list of our data schemas.
CreateMemberDto
ResponseBodyDto
UpdateMemberDto
CreateCreditDto
SignupStoreCreditsDto
RecurringStoreCreditsDto
CreditsforOrdersDto
AnniversaryCreditsDto
StoreCreditsforReferralDto
FreeShippingDto
MemberOnlyDiscountDto
SignupDiscountDto
MemberPricingDto
EarlyAccessCampaignDto
WebhookDto
This endpoint will return all benefits for a merchant under a given tier. It will return an array of benefits. Each benefit will have a type
field that will identify the type of benefit.
The tier segment ID.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will return one specific benefit given a benefit type and segment ID. Note that the benefit type is a string character. For a list of all benefit types, look at the default type value in each schema.
The tier segment ID.
The benefit type.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all campaigns belonging to a specific Tier identified by its segmentId
The tier segment ID.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will return all benefits for a merchant. It will return
an array of benefits. Each benefit will have a type
field that will
identify the type of benefit.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will return one specific benefit given a benefit type. Note that the benefit type is a string character. For a list of all benefit types, look at the default type value in each schema.
The benefit type.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Forwards a request to our backend to delete a given benefit. Benefit will be identified by the benefit type field. For a list of all benefit types, take a look at each schema's default type value.
This is STRICTLY for deleting CUSTOM benefits. You cannot delete default benefits
via the Public API. Use your admin dashboard to disable default benefits.
The benefit identification name/type.
Your private Inveterate API key.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns a single tier/segment for a given merchant. Merchant is pulled from the public API key for security reasons.
The tier segment ID.
Whether or not to include benefits in the response.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all tiers/segments for a given merchant. Merchant is pulled from the public API key for security reasons.
Whether or not to include benefits in the response.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will take a benefit type, segment ID, and any other values in the relevant schema and send a request to our backend to update the benefit with the new information. Keep in mind that, like with the POST method, this is a request against our backend. Thus, the effect will not be immediate.
The tier segment ID.
The benefit identification name/type.
Your private Inveterate API key.
The amount to be awarded upon sign-up.
The name (appearance only) of this benefit.
The number of days to delay the credit award.
The description of this benefit (appearance only).
This is an internal identifier, leave default.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will take a benefit type and any other values in the relevant schema and send a request to our backend to update the benefit. with the new information. Keep in mind that, like with the POST method, this is a request against our backend. Thus, the effect will not be immediate.
The benefit identification name/type.
Your private Inveterate API key.
The amount to be awarded upon sign-up.
The name (appearance only) of this benefit.
The number of days to delay the credit award.
The description of this benefit (appearance only).
This is an internal identifier, leave default.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
merchantId* | string |
customerId* | string |
accountState* | string |
anonymized* | boolean |
contractId* | number |
createdAt* | string |
credit* | number |
creditsEarned* | number |
email* | string |
firstName* | string |
joinedAt* | string |
lastCreditRedemptionAt* | string |
lastName* | string |
lastPurchaseAt* | string |
notes* | string |
numberOfCreditRedemptions* | number |
orderCount* | number |
orderIds* | [number] |
paymentId* | number |
phoneNumber* | string |
referrals* | number |
referredBy* | number |
revenue* | number |
status* | string |
totalSpend* | number |
updatedAt* | string |
message* | string The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error. |
data* | The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error. |
firstName* | string The customer's first name. |
lastName* | string The customer's last name. |
notes* | string Internal notes for this customer. Only viewable by the merchant. |
phoneNumber* | string The customer's phone number. |
amount* | number minimum: 1 The amount of credits to add to the customer's account. |
creditAmount* | number The amount to be awarded upon sign-up. |
name* | string The name (appearance only) of this benefit. |
days* | number The number of days to delay the credit award. |
description* | string The description of this benefit (appearance only). |
type* | This is an internal identifier, leave default. |
creditAmount* | number The amount to be awarded each recurrence. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance only). |
frequency* | number How often (in days) you want to award this credit. |
type* | This is an internal identifier, leave default. |
internalTitle* | string The internal identifier, leave default. |
type* | This is an internal identifier, leave default. |
description: | This is an internal identifier, leave default. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance only). |
enabled* | boolean Whether this benefit is enabled or not. |
rule* | string Which credit rule: "PERCENTAGE_BACK_ON_PURCHASE", "EARN_EVERY_ORDER", or "SPEND_AND_EARN". Enum: [ PERCENTAGE_BACK_ON_PURCHASE, EARN_EVERY_ORDER, SPEND_AND_EARN ] |
rewardValue* | number The amount of credits (or percent) to give as an award. |
excludeInveterateMembershipProducts* | boolean Whether or not to include the membership product for credit. |
minimumPurchaseAmount* | number The minimum individual purchase amount to award credit for orders. |
maximumRewardValue* | string The discount code to use for this benefit. |
allowRefunds* | boolean Whether or not this benefit is displayed on the landing page. |
appliesTo* | string Which products or collections this benefit applies to: "ALL_PRODUCTS", "SPECIFIC_PRODUCTS", or "SPECIFIC_COLLECTIONS". Enum: [ ALL_PRODUCTS, SPECIFIC_PRODUCTS, SPECIFIC_COLLECTIONS ] |
applicableTo* | If appliesTo is either of the latter two values, this is a string array of Shopify Product IDs or Collection IDs (i.e. "gid://shopify/Collection/266717724758"). string] |
creditAmount* | number The amount of credits to award on anniversary. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance only). |
type* | This is an internal identifier, leave default. |
creditAmount* | number The amount of credits to award on referral. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance only). |
type* | This is an internal identifier, leave default. |
shippingType* | string Which shipping type: "DISCOUNT_CODE" or "SCRIPT". Enum: [ DISCOUNT_CODE, SCRIPT ] |
code* | string The name (appearance only) of this benefit. |
minRequirements* | string Which minumum requirements: "ITEM_QUANTITY", "PURCHASE_AMOUNT", or "NONE". Enum: [ ITEM_QUANTITY, PURCHASE_AMOUNT, NONE ] |
isRatesExcluded* | boolean Whether or not to include purchases with shipping rates over a certain value. |
maximumShippingPrice* | number The maximum shipping rate over which shipping is not free (only with previous value true). |
minimumQuantity* | number If minRequirements is "ITEM_QUANTITY", include this field to indicate minimum number of items. |
minimumSubtotal* | number If minRequirements is "PURCHASE_AMOUNT", include this field to indicate the minumum purchase amount. |
countryType* | string Which country type: "ALL" or "SPECIFIC". Enum: [ ALL, SPECIFIC ] |
countries* | If previous value is "SPECIFIC", this field contains the specific countries in the format: { "label": "United States", "value": "United States" } |
type* | This is an internal identifier, leave default. |
description: | This is an internal identifier, leave default. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance). |
type* | This is an internal identifier, leave default. |
description: | This is an internal identifier, leave default. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance). |
discountType* | string Which discount type: "percentage" or "fixed". Enum: [ percentage, fixed ] |
value* | number The fixed or percentage award value. |
collectionIds* | If using collections, this is a string array of Shopify Collection IDs (i.e. "gid://shopify/Collection/266717724758"). string |
productIds* | If using products, this is a string array of Shopify Product IDs (i.e. "gid://shopify/Product/266717724758"). string |
minimumSubtotal* | number The minimum subtotal for an individual purchase to qualify (null if using quantity). |
minimumQuantity* | number The minimum quantity of items in an individual purchase to qualify (null if using subtotal). |
oneUsePerCustomer* | boolean Whether or not this discount is single use per customer. |
hasExpiration* | boolean Whether or not this discount expires. |
expirationDays* | number If the previous value is true, this is the quantity, in days, before this discount expires. |
type* | This is an internal identifier, leave default. |
name* | string The name (appearance only) of this benefit. |
description* | string The description of this benefit (appearance). |
collectionId* | string The Shopify collection ID link to apply this benefit to. |
defaultDiscountPercentage* | number The discount in pricing to apply to the collection. |
type* | This is an internal identifier, leave default. |
name* | string The name (appearance only) of this benefit. |
collectionIds* | The Shopify collection IDs to apply this benefit to. |
startDate* | string The Shopify discount code ID to apply to the collection. |
endDate* | string The end date that takes the format: YYYY-MM-DD HH:MM:SS +00:00 |
merchantId* | string The ID of the merchant that owns this webhook. |
id* | string The ID of the webhook. |
createdByApp* | string The entity that is requesting the webhook creation. |
dateCreated* | string The date the webhook was created. |
dateUpdated* | string The date the webhook was last updated. |
name* | string The name associated with the callback URL. |
callbackUrl* | string The callback URL that will be called when one of the webhooks is triggered. |
token* | string The token associated with the webhook. |
This method forwards the cancellation creation request to our backend. Returns the success status of the request against backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately.
The customer ID number.
Returned upon successful request made to our backend. Requests that return this code may take a small amount of time after successful API return to fully update.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns a single benefit for a given merchant. Merchant is pulled from the public API key for security reasons. The benefit ID is the type of benefit. For a list of possible benefit types, see the default values in the schema list.
The benefit ID name/type.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all benefits for a given merchant. Merchant is pulled from the public API key for security reasons.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns a single tier/segment for a given merchant and customer. Merchant is pulled from the public API key for security reasons.
The customer ID.
Whether or not to include benefits in the response.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
Returns all campaigns belonging to the Tier the customer belongs to (customer identified with customerId
parameter)
The customer ID.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.
This endpoint will return all benefits for a merchant under a given tier. It will return an array of benefits. Each benefit will have a type
field that will identify the type of benefit.
The customer ID.
Your private Inveterate API key.
Returned upon successful direct action to our database. Action is immediate.
The message associated with the response. Generally, the message only confirms the requested action. In the case of errors, the message will give insight into the source of the error.
The data associated with the response. Data is only returned from errors if the error originates from our backend to give further insight into the nature of the error.