Skip to main content

Loyalty Core Platform API (1.0)

Download OpenAPI specification:Download

Coupon Books

Get all the coupon books for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyProgramId
number
search
string

Filter by full text search

tags
string
status
string
Enum: "draft" "published" "disabled" "archived"

The status of the coupon book

locale
string

Translation locale requested for the coupon

audiences
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new coupon book

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
externalId
string
rankingIndex
number
audienceKeys
Array of strings
name
required
string
description
string
subtitle
string
pictureUrl
string
detailPictureUrl
string
customAttributes
object
condition
object
type
required
string
discountAmount
number
discountType
string
tags
Array of strings
tiers
Array of strings
publishingStatus
required
string
Enum: "archived" "draft" "disabled" "published"
validFromDate
string <date-time>
validToDate
string <date-time>
maxAssignedPerMember
number
maxAssignedPerCoupon
number
maxCouponCount
number
defaultLocale
string
assignmentRequiredPoints
number
usageRequiredPoints
number
contentSchemaId
number
contentSchemaVersionId
number
locale
string

Locale

content
object

Content of the coupon book

isDefaultLocale
boolean

Is the locale default

requiredPointsConfig
required
object (RequiredPointsConfig)

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "externalId": "string",
  • "rankingIndex": 0,
  • "audienceKeys": [
    ],
  • "name": "string",
  • "description": "string",
  • "subtitle": "string",
  • "pictureUrl": "string",
  • "detailPictureUrl": "string",
  • "customAttributes": { },
  • "condition": { },
  • "type": "string",
  • "discountAmount": 0,
  • "discountType": "string",
  • "tags": [
    ],
  • "tiers": [
    ],
  • "publishingStatus": "archived",
  • "validFromDate": "2019-08-24T14:15:22Z",
  • "validToDate": "2019-08-24T14:15:22Z",
  • "maxAssignedPerMember": 0,
  • "maxAssignedPerCoupon": 0,
  • "maxCouponCount": 0,
  • "defaultLocale": "string",
  • "assignmentRequiredPoints": 0,
  • "usageRequiredPoints": 0,
  • "contentSchemaId": 0,
  • "contentSchemaVersionId": 0,
  • "locale": "string",
  • "content": { },
  • "isDefaultLocale": true,
  • "requiredPointsConfig": { }
}

Response samples

Content type
application/json
{
  • "couponBook": {
    }
}

Get an existing coupon book details

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
query Parameters
locale
string

Translation locale requested for the coupon

Responses

Response samples

Content type
application/json
{
  • "couponBook": {
    }
}

Updates an existing coupon book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
externalId
string
rankingIndex
number
audienceKeys
Array of strings
description
string
subtitle
string
pictureUrl
string
detailPictureUrl
string
customAttributes
object
condition
object
discountAmount
number
discountType
string
tags
Array of strings
tiers
Array of strings
validFromDate
string <date-time>
validToDate
string <date-time>
maxAssignedPerMember
number
maxAssignedPerCoupon
number
maxCouponCount
number
defaultLocale
string
assignmentRequiredPoints
number
usageRequiredPoints
number
contentSchemaId
number
contentSchemaVersionId
number
locale
string

Locale

content
object

Content of the coupon book

isDefaultLocale
boolean

Is the locale default

requiredPointsConfig
required
object (RequiredPointsConfig)
publishingStatus
string

The status of the coupon book

name
string

The name of the coupon book

extraFields
object

content extra fields

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "externalId": "string",
  • "rankingIndex": 0,
  • "audienceKeys": [
    ],
  • "description": "string",
  • "subtitle": "string",
  • "pictureUrl": "string",
  • "detailPictureUrl": "string",
  • "customAttributes": { },
  • "condition": { },
  • "discountAmount": 0,
  • "discountType": "string",
  • "tags": [
    ],
  • "tiers": [
    ],
  • "validFromDate": "2019-08-24T14:15:22Z",
  • "validToDate": "2019-08-24T14:15:22Z",
  • "maxAssignedPerMember": 0,
  • "maxAssignedPerCoupon": 0,
  • "maxCouponCount": 0,
  • "defaultLocale": "string",
  • "assignmentRequiredPoints": 0,
  • "usageRequiredPoints": 0,
  • "contentSchemaId": 0,
  • "contentSchemaVersionId": 0,
  • "locale": "string",
  • "content": { },
  • "isDefaultLocale": true,
  • "requiredPointsConfig": { },
  • "publishingStatus": "string",
  • "name": "string",
  • "extraFields": { }
}

Response samples

Content type
application/json
{
  • "couponBook": {
    }
}

Use a coupon from the coupon book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
Request Body schema: application/json
required
systemUniqueKey
string

System Unique Key by Organization ID

customAttributes
object
memberId
required
number
code
string

Code to be used

pendingCaptureLedgerTransactionId
string

Ledger transaction ID

Responses

Request samples

Content type
application/json
{
  • "systemUniqueKey": "string",
  • "customAttributes": {
    },
  • "memberId": 0,
  • "code": "string",
  • "pendingCaptureLedgerTransactionId": "1234"
}

Response samples

Content type
application/json
{
  • "couponUsages": [
    ]
}

Assign a coupon from the coupon book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
Request Body schema: application/json
required
systemUniqueKeys
Array of strings

System Unique Key by Organization ID

customAttributes
object
memberId
required
number
numberOfCodes
object
Default: 1

Number of codes to use

amount
object
Default: 1

Amount to be assigned for each code

codes
Array of strings

Codes to be assigned

strictMode
boolean
Default: false

Strict mode gets the exact number of codes or fails

expiredAt
string <date-time>

Expiration date for the assigned codes

pendingCaptureLedgerTransactionId
string

Ledger transaction ID

Responses

Request samples

Content type
application/json
{
  • "systemUniqueKeys": [
    ],
  • "customAttributes": {
    },
  • "memberId": 0,
  • "numberOfCodes": 1,
  • "amount": 1,
  • "codes": [
    ],
  • "strictMode": false,
  • "expiredAt": "2019-08-24T14:15:22Z",
  • "pendingCaptureLedgerTransactionId": "1234"
}

Response samples

Content type
application/json
{
  • "couponUsages": [
    ]
}

Revert a coupon usage

Authorizations:
bearer
path Parameters
organizationId
required
number
couponUsageId
required
number

Responses

Response samples

Content type
application/json
{
  • "couponUsages": [
    ]
}

Get all the coupon codes in a coupon books for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Adds a new coupons to the coupon-book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
Request Body schema: application/json
required
codes
required
Array of strings

Codes to be added

Responses

Request samples

Content type
application/json
{
  • "codes": [
    ]
}

Response samples

Content type
application/json
{
  • "codes": [
    ]
}

Get an existing coupon book code details

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
couponId
required
number

Responses

Response samples

Content type
application/json
{
  • "couponCode": {
    }
}

Updates an existing coupon

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
couponId
required
number
Request Body schema: application/json
required
code
required
string

Code to be updated

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "couponBook": {
    }
}

Use the specified coupon from the coupon-book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
couponId
required
number
Request Body schema: application/json
required
systemUniqueKey
string

System Unique Key by Organization ID

customAttributes
object
memberId
required
number
pendingCaptureLedgerTransactionId
string

Ledger transaction ID

Responses

Request samples

Content type
application/json
{
  • "systemUniqueKey": "string",
  • "customAttributes": {
    },
  • "memberId": 0,
  • "pendingCaptureLedgerTransactionId": "1234"
}

Response samples

Content type
application/json
{
  • "couponUsage": {
    }
}

Assign the specified coupon from the coupon-book

Authorizations:
bearer
path Parameters
organizationId
required
number
couponBookId
required
number
couponId
required
number
Request Body schema: application/json
required
customAttributes
object
memberId
required
number
amount
object
Default: 1

Amount to be assigned for each code

strictMode
boolean
Default: false

Strict mode gets the exact number of codes or fails

pendingCaptureLedgerTransactionId
string

Ledger transaction ID

systemUniqueKey
string

System Unique Key by Organization ID

Responses

Request samples

Content type
application/json
{
  • "customAttributes": {
    },
  • "memberId": 0,
  • "amount": 1,
  • "strictMode": false,
  • "pendingCaptureLedgerTransactionId": "1234",
  • "systemUniqueKey": "string"
}

Response samples

Content type
application/json
{
  • "couponUsages": [
    ]
}

Benefits Organization Members

Get all the coupon books from a member ID

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
memberId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

tags
string
couponBookId
number
validFromDate
string <date-time>
validToDate
string <date-time>
tiers
number
audiences
string
outOfStock
boolean
includeLastUsage
boolean
locale
string

Translation locale requested for the coupon

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Get all the coupons from a member ID

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
memberId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

couponBookId
number
notUsedOnly
boolean
couponBookTags
string
couponCodeId
number
couponCode
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Get all the coupons usages count from a member ID

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
memberId
required
number
query Parameters
validFromDate
string <date-time>
validToDate
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "amountUsed": 0,
  • "amountAssigned": 0
}

Partnership Coupon Books Offerings

Gets all offerings for the current organization

path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

status
string
Enum: "pending" "accepted" "rejected"

The status of the offering

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new offering

path Parameters
organizationId
required
number
Request Body schema: application/json
required
partnershipId
required
number
offeredCouponBookId
required
number
status
required
string
Enum: "pending" "accepted" "rejected"

Responses

Request samples

Content type
application/json
{
  • "partnershipId": 0,
  • "offeredCouponBookId": 0,
  • "status": "pending"
}

Response samples

Content type
application/json
{
  • "couponBookOfferingId": 0,
  • "partnershipId": 0,
  • "organizationId": 0,
  • "partnerOrganizationId": 0,
  • "offeredCouponBookId": 0,
  • "acceptedCouponBookId": 0,
  • "status": "pending",
  • "partnerOrganization": {
    },
  • "offeredCouponBook": {
    },
  • "acceptedCouponBook": {
    }
}

Updates the approval status of an offering

path Parameters
organizationId
required
number
couponBookOfferingId
required
number
Request Body schema: application/json
required
approved
required
boolean

Confirms or rejects the offering

Responses

Request samples

Content type
application/json
{
  • "approved": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Action Matchers

Get all the matchers for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

type
string
Value: "item-matcher"
matcherKey
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new matcher

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
organizationId
number
name
required
string
type
required
string
Value: "item-matcher"
matcher
required
object

Responses

Request samples

Content type
application/json
{
  • "organizationId": 0,
  • "name": "string",
  • "type": "item-matcher",
  • "matcher": { }
}

Response samples

Content type
application/json
{
  • "organizationId": 0,
  • "name": "string",
  • "type": "item-matcher",
  • "matcher": { }
}

Get an existing macther details

Authorizations:
bearer
path Parameters
organizationId
required
number
matcherId
required
string

Responses

Response samples

Content type
application/json
{
  • "matcher": {
    }
}

Updates an existing matcher

Authorizations:
bearer
path Parameters
organizationId
required
number
matcherId
required
number
Request Body schema: application/json
required
organizationId
number
name
required
string
type
required
string
Value: "item-matcher"
matcher
required
object

Responses

Request samples

Content type
application/json
{
  • "organizationId": 0,
  • "name": "string",
  • "type": "item-matcher",
  • "matcher": { }
}

Response samples

Content type
application/json
{
  • "matcher": {
    }
}

Get an existing matcher details by key

Authorizations:
bearer
path Parameters
organizationId
required
number
matcherKey
required
string

Responses

Response samples

Content type
application/json
{
  • "matcher": {
    }
}

Rules Effects

Get all the effects for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Get an existing effect details

Authorizations:
bearer
path Parameters
organizationId
required
number
effectId
required
string

Responses

Response samples

Content type
application/json
{
  • "effect": {
    }
}

Loyalty Events

Tracks a loyalty event

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
systemUniqueKey
required
string [ 3 .. 255 ] characters

The unique key of the event

externalId
string [ 3 .. 255 ] characters

The external id of the event

memberId
required
number >= 1

The member Id

eventType
required
string >= 3 characters

The type of the event

description
string

The description of the event

payload
object

The payload of the event

organizationId
required
number >= 1

The organization Id

externalEventDate
string <date-time>

The date the event was created

tags
Array of strings

The tags of the event

Responses

Request samples

Content type
application/json
{
  • "systemUniqueKey": "string",
  • "externalId": "string",
  • "memberId": 1,
  • "eventType": "string",
  • "description": "string",
  • "payload": { },
  • "organizationId": 1,
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "systemUniqueKey": "string",
  • "effects": [
    ]
}

Gets all loyalty event types

Authorizations:
bearer
path Parameters
organizationId
required
number

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new loyalty event type

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
apiCode
required
string
customAttributes
object
description
string
active
boolean
schemaType
required
string
Enum: "builtin" "string" "number" "url" "custom"

The type of schema that this event type uses.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "apiCode": "string",
  • "customAttributes": { },
  • "description": "string",
  • "active": true,
  • "schemaType": "builtin"
}

Response samples

Content type
application/json
{
  • "eventType": {
    }
}

Creates a new loyalty event type

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
apiCode
required
string
customAttributes
object
description
string
active
boolean
schemaType
required
string
Enum: "builtin" "string" "number" "url" "custom"

The type of schema that this event type uses.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "apiCode": "string",
  • "customAttributes": { },
  • "description": "string",
  • "active": true,
  • "schemaType": "builtin"
}

Response samples

Content type
application/json
{
  • "eventType": {
    }
}

Gets a loyalty event type by its api code

Authorizations:
bearer
path Parameters
organizationId
required
number
apiCode
required
string

Responses

Response samples

Content type
application/json
{
  • "eventType": {
    }
}

Event triggers

LoyaltyEventTriggerController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

type
string
Value: "WebHook"
active
boolean
name
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

LoyaltyEventTriggerController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
type
required
string
Value: "WebHook"
name
required
string
settings
required
object
active
boolean

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "trigger": {
    }
}

LoyaltyEventTriggerController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
triggerId
required
number

Responses

Response samples

Content type
application/json
{
  • "trigger": {
    }
}

LoyaltyEventTriggerController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
triggerId
required
number
Request Body schema: application/json
required
type
required
string
Value: "WebHook"
name
required
string
settings
required
object
active
boolean

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "trigger": {
    }
}

Member Purchase Orders

Imports new Purchase Orders for Loyalty Members

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
required
Array of objects (CreateLoyaltyMemberPurchaseOrderDto)
Array
externalEventDate
string <date-time>
externalId
required
string
description
string
loyaltyProgramId
number
customAttributes
object
type
required
string
tags
Array of strings
total
required
number
discountedTotal
number
status
required
string
Enum: "created" "confirmed" "cancelled" "returned" "partially-returned"
Array of objects (CreateMemberPurchaseOrderItemDto)
loyaltyMemberId
required
string

Responses

Request samples

Content type
application/json
{
  • "orders": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

List Purchase Orders

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Updates or Create a new Purchase Order

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
Request Body schema: application/json
required
externalEventDate
string <date-time>
externalId
required
string
description
string
loyaltyProgramId
number
customAttributes
object
type
required
string
tags
Array of strings
total
required
number
discountedTotal
number
status
required
string
Enum: "created" "confirmed" "cancelled" "returned" "partially-returned"
Array of objects (CreateMemberPurchaseOrderItemDto)

Responses

Request samples

Content type
application/json
{
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "description": "string",
  • "loyaltyProgramId": 0,
  • "customAttributes": { },
  • "type": "string",
  • "tags": [
    ],
  • "total": 0,
  • "discountedTotal": 0,
  • "status": "created",
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "order": {
    },
  • "evaluationResults": {
    }
}

Gets a Single Purchase Order details

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
orderId
required
number

Responses

Response samples

Content type
application/json
{
  • "order": {
    }
}

Member Events

Gets members events

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

fromCreatedAt
string <date-time>

Filter events created from this date

toCreatedAt
string <date-time>

Filter events created up to this date

eventType
string
Enum: "member-purchase-order-created" "member-purchase-order-confirmed" "member-purchase-order-cancelled" "member-purchase-order-returned" "member-purchase-order-partially-returned" "member-created" "member-updated" "member-tier-set" "member-tier-removed" "member-profile-deactivated" "member-generic-event" "benefit-used" "coupon-code-assigned" "coupon-code-used" "badge-minted" "mission-status-updated" "ledger-transaction-created"

Filter events by type

status
string
Enum: "pending" "running" "failed" "success"

Filter events by status

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Missions

MissionController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyProgramId
number >= 1

The loyalty program id

type
string
codes
string
tags
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

MissionController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
loyaltyProgramId
required
number
name
required
string
shortDescription
string
description
string
pictureUrl
string
customAttributes
object
type
string
audienceId
number
tags
Array of strings
code
required
string
active
boolean
validFrom
string <date-time>
validTo
string <date-time>
repetitionPeriod
string
periodLimit
number
pointsAccrual
number
ledgerId
number
ledgerAccountId
number
eventType
required
string
Enum: "member-purchase-order-created" "member-purchase-order-confirmed" "member-purchase-order-cancelled" "member-purchase-order-returned" "member-purchase-order-partially-returned" "member-created" "member-updated" "member-tier-set" "member-tier-removed" "member-profile-deactivated" "member-generic-event" "benefit-used" "coupon-code-assigned" "coupon-code-used" "badge-minted" "mission-status-updated" "ledger-transaction-created"

Event Type to match

maxRepetitions
required
number >= 1

Max number of repetitions

goalCount
required
number >= 1

Goal count

matcherId
number >= 1

Related matcher id

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "shortDescription": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "type": "string",
  • "audienceId": 0,
  • "tags": [
    ],
  • "code": "string",
  • "active": true,
  • "validFrom": "2019-08-24T14:15:22Z",
  • "validTo": "2019-08-24T14:15:22Z",
  • "repetitionPeriod": "string",
  • "periodLimit": 0,
  • "pointsAccrual": 0,
  • "ledgerId": 0,
  • "ledgerAccountId": 0,
  • "eventType": "member-purchase-order-confirmed",
  • "maxRepetitions": 10,
  • "goalCount": 3,
  • "matcherId": 1
}

Response samples

Content type
application/json
{
  • "mission": {
    }
}

MissionController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
missionId
required
number

Responses

Response samples

Content type
application/json
{
  • "mission": {
    }
}

MissionController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
missionId
required
number
Request Body schema: application/json
required
loyaltyProgramId
required
number
name
required
string
shortDescription
string
description
string
pictureUrl
string
customAttributes
object
type
string
audienceId
number
tags
Array of strings
code
required
string
active
boolean
validFrom
string <date-time>
validTo
string <date-time>
pointsAccrual
number
ledgerId
number
ledgerAccountId
number
eventType
required
string
Enum: "member-purchase-order-created" "member-purchase-order-confirmed" "member-purchase-order-cancelled" "member-purchase-order-returned" "member-purchase-order-partially-returned" "member-created" "member-updated" "member-tier-set" "member-tier-removed" "member-profile-deactivated" "member-generic-event" "benefit-used" "coupon-code-assigned" "coupon-code-used" "badge-minted" "mission-status-updated" "ledger-transaction-created"

Event Type to match

maxRepetitions
required
number >= 1

Max number of repetitions

goalCount
required
number >= 1

Goal count

matcherId
number >= 1

Related matcher id

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "shortDescription": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "type": "string",
  • "audienceId": 0,
  • "tags": [
    ],
  • "code": "string",
  • "active": true,
  • "validFrom": "2019-08-24T14:15:22Z",
  • "validTo": "2019-08-24T14:15:22Z",
  • "pointsAccrual": 0,
  • "ledgerId": 0,
  • "ledgerAccountId": 0,
  • "eventType": "member-purchase-order-confirmed",
  • "maxRepetitions": 10,
  • "goalCount": 3,
  • "matcherId": 1
}

Response samples

Content type
application/json
{
  • "mission": {
    }
}

Organization Members

Gets organization's members details

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

email
string

Filter by email

loyaltyMemberId
string

Filter by loyalty member id

walletId
number >= 1

Optional Wallet Id

fromCreatedAt
string <date-time>

Filter members created from this date

toCreatedAt
string <date-time>

Filter members created up to this date

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new Member in the current organization

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
loyaltyMemberId
required
string

Loyalty Member Id within Organization and Loyalty Program

memberType
string

Type of the member.

publicLoyaltyMemberId
string

Optional Public Loyalty Member Id within Organization and Loyalty Program

object

Member's Onchain Info.

object

Member's Profile Info.

customAttributes
object

Custom dynamic attributes for organization member.

active
boolean
referralCode
string

An Optional Referral Code

Responses

Request samples

Content type
application/json
{
  • "loyaltyMemberId": "11111-11111",
  • "memberType": "organization",
  • "publicLoyaltyMemberId": "11111-11111",
  • "onChain": {
    },
  • "profile": {
    },
  • "customAttributes": {
    },
  • "active": true,
  • "referralCode": "test@email.com"
}

Response samples

Content type
application/json
{
  • "loyalMember": {
    }
}

Get members by batch

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
memberIds
required
Array of numbers

Responses

Request samples

Content type
application/json
{
  • "memberIds": [
    ]
}

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "notFound": [
    ]
}

Gets organization's Member details

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number

Responses

Response samples

Content type
application/json
{
  • "loyalMember": {
    }
}

Updates a existing Member details

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
Request Body schema: application/json
required
object

Member's Onchain Info.

object

Member's Profile Info.

customAttributes
object

Custom dynamic attributes for organization member.

active
boolean
publicLoyaltyMemberId
string

Optional Public Loyalty Member Id within Organization and Loyalty Program

loyaltyMemberId
string

Loyalty Member Id within Organization and Loyalty Program

memberType
string

Type of the member.

updateReason
string

Reason for updating the member

Responses

Request samples

Content type
application/json
{
  • "onChain": {
    },
  • "profile": {
    },
  • "customAttributes": {
    },
  • "active": true,
  • "publicLoyaltyMemberId": "11111-11111",
  • "loyaltyMemberId": "11111-11111",
  • "memberType": "organization",
  • "updateReason": "Updated member profile information"
}

Response samples

Content type
application/json
{
  • "loyalMember": {
    }
}

Sets Member's Loyalty Tier for Program

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
loyaltyProgramId
required
number
Request Body schema: application/json
required
loyaltyTierId
number >= 1

The ID of the loyalty tier. If not specified, tier is unassigned

expiresAt
string <date-time>

Optional Expiration Date of the Tier. At that expiration Tier will be re-evaluated.

Responses

Request samples

Content type
application/json
{
  • "loyaltyTierId": 1,
  • "expiresAt": "2027-02-26T02:18:13.117Z"
}

Response samples

Content type
application/json
{
  • "loyaltyTierId": 1
}

Removes Member from Loyalty Program

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
loyaltyProgramId
required
number

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Get Member's Loyalty Tier History for Program

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
loyaltyProgramId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Get member's missions and status

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyProgramId
number >= 1

The loyalty program id

type
string
codes
string
tags
string
minTimesAchieved
number >= 0

Min number of times it has been achieved

minCounterCount
number >= 0

Min number of times the event has been triggered

available
boolean

Filter available missions

inProgress
boolean

If member started the mission but has not achieved it yet (even if she completed it in the past)

active
boolean

Filter missions with active status

validFrom
string <date-time>

Filter missions with valid from date

validTo
string <date-time>

Filter missions with valid to date

missionKey
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Increment member's mission counter

Authorizations:
bearer
path Parameters
organizationId
required
number
memberId
required
number
missionId
required
number
Request Body schema: application/json
required
amount
required
number >= 0
systemUniqueKey
string
externalId
string
tags
Array of strings
description
string
externalEventDate
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "systemUniqueKey": "string",
  • "externalId": "string",
  • "tags": [
    ],
  • "description": "string",
  • "externalEventDate": "2024-08-01T00:00:00.000Z"
}

Response samples

Content type
application/json
{
  • "balance": {
    }
}

Rules Expressions

Parse string expressions to AST Expression Node

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
required
Array of objects (ParseRequestInputDto)

The expressions to parse.

annotate
boolean

Whether to annotate the AST.

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ],
  • "annotate": true
}

Response samples

Content type
application/json
{
  • "nodes": [
    ]
}

Convert AST nodes to expressions

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
required
Array of objects (AST2ExpressionInputDto)

The AST nodes.

annotate
boolean

Whether to annotate the AST.

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ],
  • "annotate": true
}

Response samples

Content type
application/json
{
  • "nodes": [
    ]
}

Organization Loyalty Members

Gets organization's Loyalty Member details

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyMemberId
required
string

Responses

Response samples

Content type
application/json
{
  • "loyalMember": {
    }
}

Sets organization's Loyalty Member tier

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyMemberId
required
string
Request Body schema: application/json
required
loyaltyTierId
number >= 1

The ID of the loyalty tier. If not specified, tier is unassigned

expiresAt
string <date-time>

Optional Expiration Date of the Tier. At that expiration Tier will be re-evaluated.

loyaltyProgramId
required
number

The ID of the loyalty program

Responses

Request samples

Content type
application/json
{
  • "loyaltyTierId": 1,
  • "expiresAt": "2027-02-26T02:18:13.117Z",
  • "loyaltyProgramId": 0
}

Response samples

Content type
application/json
{
  • "loyaltyTierId": 1
}

Get all matching audiences for a member

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyMemberId
required
string

Responses

Response samples

Content type
application/json
{
  • "audiences": [
    ]
}

Check matching audience for a member

Authorizations:
bearer
path Parameters
loyaltyMemberId
required
string
audienceId
required
number
organizationId
required
number

Responses

Response samples

Content type
application/json
{
  • "match": true
}

Mints loyalty points to organization's Loyalty Member

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyMemberId
required
string
Request Body schema: application/json
required
ledgerId
number

The ID of the ledger. If not specified, default ledger for organization is resolved.

ledgerAccountId
number

The ID of the ledger account. If not specified, default ledger and ledger account for organization is resolved.

amount
required
number >= 0

The amount to mint or burn

description
string

The description of the mint/burn operation

tags
Array of strings

Tags associated with the mint/burn operation

systemUniqueKey
string

A unique key for the system

externalEventDate
string <date-time>

The date of the external event

externalId
string

The ID of the external event

Responses

Request samples

Content type
application/json
{
  • "ledgerId": 0,
  • "ledgerAccountId": 0,
  • "amount": 0,
  • "description": "string",
  • "tags": [
    ],
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "ledgerTransactions": [
    ]
}

Burns loyalty points to organization's Loyalty Member

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyMemberId
required
string
Request Body schema: application/json
required
ledgerId
number

The ID of the ledger. If not specified, default ledger for organization is resolved.

ledgerAccountId
number

The ID of the ledger account. If not specified, default ledger and ledger account for organization is resolved.

amount
required
number >= 0

The amount to mint or burn

description
string

The description of the mint/burn operation

tags
Array of strings

Tags associated with the mint/burn operation

systemUniqueKey
string

A unique key for the system

externalEventDate
string <date-time>

The date of the external event

externalId
string

The ID of the external event

Responses

Request samples

Content type
application/json
{
  • "ledgerId": 0,
  • "ledgerAccountId": 0,
  • "amount": 0,
  • "description": "string",
  • "tags": [
    ],
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "ledgerTransactions": [
    ]
}

Referrals

ReferralsController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number
Request Body schema: application/json
required
memberId
required
number

ID of the member referring the new member

codes
required
Array of strings[ items ]

Responses

Request samples

Content type
application/json
{
  • "memberId": 111,
  • "codes": [
    ]
}

Response samples

Content type
application/json
{
  • "referrals": [
    ]
}

ReferralsController_findAllReferralCodes

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

memberId
number
Example: memberId=111

ID of the member whose referral codes are being requested

Responses

Response samples

Content type
application/json
{
  • "referrals": [
    ]
}

ReferralsController_findAllReferred

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number
referralCodeId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

ReferralsProgramController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

ReferralsProgramController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
name
required
string
description
string
pictureUrl
string
customAttributes
object
active
required
boolean
validFromDate
string <date-time>
validToDate
string <date-time>
maxPerCode
required
number
maxReferralsPerMember
required
number
Default: 9007199254740991

The maximum number of referrals per member

maxRedeemsPerReferredMemberPerCode
number
audienceId
number
tags
Array of strings
code
required
string
eventType
required
string
referrerPointsAccrual
number
referrerLedgerId
number
referrerLedgerAccountId
number
referredPointsAccrual
number
referredLedgerId
number
referredLedgerAccountId
number
referredCount
number

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "active": true,
  • "validFromDate": "2019-08-24T14:15:22Z",
  • "validToDate": "2019-08-24T14:15:22Z",
  • "maxPerCode": 0,
  • "maxReferralsPerMember": 10,
  • "maxRedeemsPerReferredMemberPerCode": 0,
  • "audienceId": 0,
  • "tags": [
    ],
  • "code": "string",
  • "eventType": "string",
  • "referrerPointsAccrual": 0,
  • "referrerLedgerId": 0,
  • "referrerLedgerAccountId": 0,
  • "referredPointsAccrual": 0,
  • "referredLedgerId": 0,
  • "referredLedgerAccountId": 0,
  • "referredCount": 0
}

Response samples

Content type
application/json
{
  • "referralProgram": {
    }
}

ReferralsProgramController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number

Responses

Response samples

Content type
application/json
{
  • "referralProgram": {
    }
}

ReferralsProgramController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
name
required
string
description
string
pictureUrl
string
customAttributes
object
active
required
boolean
validFromDate
string <date-time>
validToDate
string <date-time>
maxPerCode
required
number
maxReferralsPerMember
required
number
Default: 9007199254740991

The maximum number of referrals per member

maxRedeemsPerReferredMemberPerCode
number
audienceId
number
tags
Array of strings
code
required
string
eventType
required
string
referrerPointsAccrual
number
referrerLedgerId
number
referrerLedgerAccountId
number
referredPointsAccrual
number
referredLedgerId
number
referredLedgerAccountId
number
referredCount
number

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "active": true,
  • "validFromDate": "2019-08-24T14:15:22Z",
  • "validToDate": "2019-08-24T14:15:22Z",
  • "maxPerCode": 0,
  • "maxReferralsPerMember": 10,
  • "maxRedeemsPerReferredMemberPerCode": 0,
  • "audienceId": 0,
  • "tags": [
    ],
  • "code": "string",
  • "eventType": "string",
  • "referrerPointsAccrual": 0,
  • "referrerLedgerId": 0,
  • "referrerLedgerAccountId": 0,
  • "referredPointsAccrual": 0,
  • "referredLedgerId": 0,
  • "referredLedgerAccountId": 0,
  • "referredCount": 0
}

Response samples

Content type
application/json
{
  • "referralProgram": {
    }
}

ReferralsProgramController_getReferralMembersReport

Authorizations:
bearer
path Parameters
organizationId
required
number
referralProgramId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Campaign Actions

Get all the actions for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

status
string
Enum: "disabled" "running" "draft"

The status of the action

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new action

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number
Request Body schema: application/json
required
actionIndex
number
abortEvaluationIfFalse
boolean
abortEvaluationOnError
boolean
name
required
string
rules
object
effects
required
object
status
required
string
Enum: "disabled" "running" "draft"

Responses

Request samples

Content type
application/json
{
  • "actionIndex": 0,
  • "abortEvaluationIfFalse": true,
  • "abortEvaluationOnError": true,
  • "name": "string",
  • "rules": { },
  • "effects": { },
  • "status": "disabled"
}

Response samples

Content type
application/json
{
  • "action": {
    }
}

Get an existing action details

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number
actionId
required
number

Responses

Response samples

Content type
application/json
{
  • "action": {
    }
}

Updates an existing action

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number
actionId
required
number
Request Body schema: application/json
required
actionIndex
number
abortEvaluationIfFalse
boolean
abortEvaluationOnError
boolean
name
required
string
rules
object
effects
required
object
status
required
string
Enum: "disabled" "running" "draft"

Responses

Request samples

Content type
application/json
{
  • "actionIndex": 0,
  • "abortEvaluationIfFalse": true,
  • "abortEvaluationOnError": true,
  • "name": "string",
  • "rules": { },
  • "effects": { },
  • "status": "disabled"
}

Response samples

Content type
application/json
{
  • "action": {
    }
}

Campaigns

CampaignController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyProgramId
number >= 1

The loyalty program id

type
string
tags
string
codes
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

CampaignController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
name
required
string
description
string
pictureUrl
string
customAttributes
object
smartRewards
object
type
string
tags
Array of strings
enabledTopics
Array of strings
code
required
string
active
boolean
audienceKeys
Array of strings
pointsMonthlyLimitPerMember
number
allowPartialApplicationOnLimit
boolean
daysOfWeek
Array of strings
locationCodes
Array of strings
eventType
string
minSpendValue
number
loyaltyTierKeys
Array of strings
validFrom
string <date-time>
validTo
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "smartRewards": { },
  • "type": "string",
  • "tags": [
    ],
  • "enabledTopics": [
    ],
  • "code": "string",
  • "active": true,
  • "audienceKeys": [
    ],
  • "pointsMonthlyLimitPerMember": 0,
  • "allowPartialApplicationOnLimit": true,
  • "daysOfWeek": [
    ],
  • "locationCodes": [
    ],
  • "eventType": "string",
  • "minSpendValue": 0,
  • "loyaltyTierKeys": [
    ],
  • "validFrom": "2019-08-24T14:15:22Z",
  • "validTo": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

CampaignController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number

Responses

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

CampaignController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
campaignId
required
number
Request Body schema: application/json
required
loyaltyProgramId
number
name
required
string
description
string
pictureUrl
string
customAttributes
object
smartRewards
object
type
string
tags
Array of strings
enabledTopics
Array of strings
code
required
string
active
boolean
audienceKeys
Array of strings
pointsMonthlyLimitPerMember
number
allowPartialApplicationOnLimit
boolean
daysOfWeek
Array of strings
locationCodes
Array of strings
eventType
string
minSpendValue
number
loyaltyTierKeys
Array of strings
validFrom
string <date-time>
validTo
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "loyaltyProgramId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "customAttributes": { },
  • "smartRewards": { },
  • "type": "string",
  • "tags": [
    ],
  • "enabledTopics": [
    ],
  • "code": "string",
  • "active": true,
  • "audienceKeys": [
    ],
  • "pointsMonthlyLimitPerMember": 0,
  • "allowPartialApplicationOnLimit": true,
  • "daysOfWeek": [
    ],
  • "locationCodes": [
    ],
  • "eventType": "string",
  • "minSpendValue": 0,
  • "loyaltyTierKeys": [
    ],
  • "validFrom": "2019-08-24T14:15:22Z",
  • "validTo": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

Search

Get all the members indexes

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyTierId
number >= 1
loyaltyProgramId
number >= 1
query
string

Filter by full text search

sinceFrom
string <date-time>
sinceTo
string <date-time>
memberType
string
loyaltyTierKey
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Stats

Get stats for member creation

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get stats for benefits usages by date

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get stats for benefits performance

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
limit
number
Example: limit=10
orderByUsage
boolean
Example: orderByUsage=true

If true it will order by usage, if not present it will order by assign

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get stats for coupon book usages

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
tag
string
Example: tag=cash

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get top members for mission

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
limit
number
Example: limit=10
tag
string
Example: tag=stamp

Responses

Response samples

Content type
application/json
{}

Get stats for mission

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
tag
string
Example: tag=stamp

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get totals for mission

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
tag
string
Example: tag=stamp

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get stats for loyaltyProgram tiers

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get stats for ledger accounts

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerAccountId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get stats for events

Authorizations:
bearer
path Parameters
organizationId
required
number
eventType
required
string
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get stats for coupon book discount amounts

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
sinceFrom
string <date-time>
Example: sinceFrom=2024-01-01T00:00:00.000Z
sinceTo
string <date-time>
Example: sinceTo=2024-08-01T00:00:00.000Z
discountType
string
Example: discountType=fixed

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get total mission completions by members

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
limit
number
Example: limit=4

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Get NPS Survey Stats

Authorizations:
bearer
path Parameters
surveyId
required
number

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Audiences

Get all the audiences for an organization

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0
Example: page=0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

matcherType
string
Enum: "attribute-matcher" "list-matcher" "null-matcher"

Filter by matcher type

search
string
Example: search=VIP customers

Search audiences by name or description

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new audience

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
active
required
boolean
organizationId
required
number
name
required
string
description
string
matcherType
required
string
Enum: "attribute-matcher" "list-matcher" "null-matcher"
matcher
object
segmentKey
string
refreshedAt
string <date-time>
memberCount
number

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "matcherType": "attribute-matcher",
  • "matcher": { },
  • "segmentKey": "string",
  • "refreshedAt": "2019-08-24T14:15:22Z",
  • "memberCount": 0
}

Response samples

Content type
application/json
{
  • "active": true,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "matcherType": "attribute-matcher",
  • "matcher": { },
  • "segmentKey": "string",
  • "refreshedAt": "2019-08-24T14:15:22Z",
  • "memberCount": 0
}

Get an existing audience details

Authorizations:
bearer
path Parameters
organizationId
required
number
audienceId
required
number

Responses

Response samples

Content type
application/json
{
  • "audience": {
    }
}

Updates an existing audience

Authorizations:
bearer
path Parameters
organizationId
required
number
audienceId
required
number
Request Body schema: application/json
required
active
boolean
organizationId
number
name
string
description
string
matcherType
string
Enum: "attribute-matcher" "list-matcher" "null-matcher"
matcher
object
segmentKey
string
refreshedAt
string <date-time>
memberCount
number

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "matcherType": "attribute-matcher",
  • "matcher": { },
  • "segmentKey": "string",
  • "refreshedAt": "2019-08-24T14:15:22Z",
  • "memberCount": 0
}

Response samples

Content type
application/json
{
  • "audience": {
    }
}

Gets matching audiences for a member

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
audienceIds
required
Array of numbers
required
object (MemberOrganizationAssociationDto)

Responses

Request samples

Content type
application/json
{
  • "audienceIds": [
    ],
  • "member": {
    }
}

Response samples

Content type
application/json
{
  • "audienceIds": [
    ]
}

Ledgers

Gets a single Ledger

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number

Responses

Response samples

Content type
application/json
{
  • "ledger": {
    }
}

Updates a single Ledger

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
Request Body schema: application/json
required
name
required
string
description
string
defaultAccountId
number

Responses

Request samples

Content type
application/json
{
  • "name": "Main Loyalty Program Ledger",
  • "description": "This is the main Loyalty Program Ledger",
  • "defaultAccountId": 0
}

Response samples

Content type
application/json
{
  • "ledger": {
    }
}

Gets all Ledgers

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

ledgerKey
string

Ledger Key

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a single Ledger

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "Main Loyalty Program Ledger",
  • "description": "This is the main Loyalty Program Ledger"
}

Response samples

Content type
application/json
{
  • "ledger": {
    }
}

Ledger Accounts and Wallets

Gets a single Ledger Account

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number

Responses

Response samples

Content type
application/json
{
  • "ledgerAccount": {
    }
}

Updates a single Ledger Account

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
Request Body schema: application/json
required
name
required
string
active
required
boolean
isCurrency
boolean

Optional Is a currency? for account

decimals
number

Optional decimals

formatString
string

Optional Format string for points

isRevolving
required
boolean
pointTrackingEnabled
boolean
syncAlgorand
required
boolean

Enable algorand blockchain syncing

expiresInMonths
number

Points expiration in months

isDefaultAccount
boolean

Is default account for ledger

Responses

Request samples

Content type
application/json
{
  • "name": "Main Ledger Account",
  • "active": true,
  • "isCurrency": true,
  • "decimals": 0,
  • "formatString": "string",
  • "isRevolving": true,
  • "pointTrackingEnabled": true,
  • "syncAlgorand": true,
  • "expiresInMonths": 0,
  • "isDefaultAccount": true
}

Response samples

Content type
application/json
{
  • "ledgerAccount": {
    }
}

Gets a single Ledger Account Wallet Balance

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
walletId
required
number

Responses

Response samples

Content type
application/json
{
  • "wallet": {
    }
}

Gets all Ledger's Accounts

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

name
string
ledgerAccountKey
string

Ledger Account Key

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a single Ledger Account

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
Request Body schema: application/json
required
name
required
string
active
required
boolean
isCurrency
boolean

Optional Is a currency? for account

decimals
number

Optional decimals

formatString
string

Optional Format string for points

maxSupply
number

Max points supply available (max allowed 18446744073709)

isRevolving
required
boolean
pointTrackingEnabled
boolean
syncAlgorand
required
boolean

Enable algorand blockchain syncing

expiresInMonths
number

Points expiration in months

isDefaultAccount
boolean

Is default account for ledger

Responses

Request samples

Content type
application/json
{
  • "name": "Main Ledger Account",
  • "active": true,
  • "isCurrency": true,
  • "decimals": 0,
  • "formatString": "string",
  • "maxSupply": 0,
  • "isRevolving": true,
  • "pointTrackingEnabled": true,
  • "syncAlgorand": true,
  • "expiresInMonths": 0,
  • "isDefaultAccount": true
}

Response samples

Content type
application/json
{
  • "ledgerAccount": {
    }
}

Updates a single Ledger Account's Supply

Use an empty maxSupply or body {} to increase to an infinite supply.

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
Request Body schema: application/json
required
externalEventDate
string <date-time>

Optional Reference Event Date

systemUniqueKey
string

System Unique Key for tracking

externalId
string

Event Id for tracking

description
string
tags
Array of arrays
maxSupply
number

Max points supply available (max allowed 18446744073709)

Responses

Request samples

Content type
application/json
{
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "systemUniqueKey": "string",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ],
  • "maxSupply": 0
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Ledger Transactions

List Ledger's Account Transactions

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

fromExternalEventDate
string <date-time>

Optional Reference From Event Date

toExternalEventDate
string <date-time>

Optional Reference To Event Date

fromLedgerTransactionId
number

Optional Starting ledgerTransactionId

toLedgerTransactionId
number

Optional Ending ledgerTransactionId

systemUniqueKey
string

Optional System Unique Key for tracking

walletId
number

Optional Wallet Id

tags
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Transfer points from/to Account Wallets

Amount must be a large integer (bigint or number, max allowed 18446744073709)

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
Request Body schema: application/json
required
externalEventDate
string <date-time>

Optional Reference Event Date

systemUniqueKey
string

System Unique Key for tracking

externalId
string

Event Id for tracking

description
string
tags
Array of arrays
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

fromWalletId
required
number
toWalletId
required
number
captureMethod
string
Default: "auto"
Enum: "manual" "auto"

Capture method for the transaction

Responses

Request samples

Content type
application/json
{
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "systemUniqueKey": "string",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ],
  • "amount": 0,
  • "fromWalletId": 0,
  • "toWalletId": 0,
  • "captureMethod": "auto"
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Transfer multiple points from different Accounts from/to Wallets in a single all or nothing transaction

Amount must be a large integer (bigint or number, max allowed 18446744073709)

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
Request Body schema: application/json
required
required
Array of objects (CreateLedgerTransactionSetItemDto)
Array
externalEventDate
string <date-time>

Optional Reference Event Date

systemUniqueKey
string

System Unique Key for tracking

externalId
string

Event Id for tracking

description
string
tags
Array of arrays
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

fromWalletId
required
number
toWalletId
required
number
captureMethod
string
Default: "auto"
Enum: "manual" "auto"

Capture method for the transaction

ledgerAccountId
required
number

Responses

Request samples

Content type
application/json
{
  • "create": [
    ]
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Reverts an existing Transaction

Amount must be a large integer (bigint or number, max allowed 18446744073709)

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
Request Body schema: application/json
required
externalEventDate
string <date-time>

Optional Reference Event Date

systemUniqueKey
string

System Unique Key for tracking

externalId
string

Event Id for tracking

description
string
tags
Array of arrays

Responses

Request samples

Content type
application/json
{
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "systemUniqueKey": "string",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Burn points from Wallet

Amount must be a large integer (bigint or number, max allowed 18446744073709)

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
walletId
required
number
Request Body schema: application/json
required
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

systemUniqueKey
string

System Unique Key for tracking

externalEventDate
string <date-time>

External event date

externalId
string

External event id

description
string

Description of the burn transaction

tags
Array of strings

Tags

captureMethod
string
Default: "auto"
Enum: "manual" "auto"

Capture method for the transaction

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ],
  • "captureMethod": "auto"
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Mint points from Wallet

Amount must be a large integer (bigint or number, max allowed 18446744073709)

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
walletId
required
number
Request Body schema: application/json
required
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

systemUniqueKey
string

System Unique Key for tracking

externalEventDate
string <date-time>

External event date

externalId
string

External event id

description
string

Description of the burn transaction

tags
Array of strings

Tags

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Capture pending transactions

Capture pending transactions for the given ledger account. Transactions must be in pending state.

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
ledgerAccountId
required
number
Request Body schema: application/json
required
required
Array of objects (CaptureTransactionDto)

Ledger transactions to capture

Array
ledgerTransactionId
required
string

Ledger Transaction Id

captureAmount
number

Optional amount to capture from the transaction. Must be less than or equal to the transaction amount.

Responses

Request samples

Content type
application/json
{
  • "transactions": [
    ]
}

Response samples

Content type
application/json
{
  • "ok": true
}

Ledger Batch Transaction Processing

Process a batch of transactions for a given organization Id

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
required
Array of objects (LedgerTransactionBatchItemRequestDto)
Array
externalEventDate
string <date-time>

Optional Reference Event Date

systemUniqueKey
string

System Unique Key for tracking

externalId
string

Event Id for tracking

description
string
tags
Array of arrays
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

fromWalletId
required
number
toWalletId
required
number
captureMethod
string
Default: "auto"
Enum: "manual" "auto"

Capture method for the transaction

organizationId
number

Optional Organization Id (not used for now)

ledgerId
required
number
ledgerAccountId
required
number
atomicSetId
number

Optional Reference Atomic Set Id, for atomic transaction processing

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "processed": [
    ],
  • "failed": [
    ]
}

Ledger Wallets

Gets all wallet balances

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
walletId
required
number

Responses

Response samples

Content type
application/json
{
  • "wallets": [
    ]
}

Mints points to a wallet using default account for organization

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
walletId
required
number
Request Body schema: application/json
required
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

systemUniqueKey
string

System Unique Key for tracking

externalEventDate
string <date-time>

External event date

externalId
string

External event id

description
string

Description of the burn transaction

tags
Array of strings

Tags

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Burns points from a wallet using default account for organization

Authorizations:
bearer
path Parameters
organizationId
required
number
ledgerId
required
number
walletId
required
number
Request Body schema: application/json
required
amount
required
number

Amount to mint or burn to account (max allowed 18446744073709)

systemUniqueKey
string

System Unique Key for tracking

externalEventDate
string <date-time>

External event date

externalId
string

External event id

description
string

Description of the burn transaction

tags
Array of strings

Tags

captureMethod
string
Default: "auto"
Enum: "manual" "auto"

Capture method for the transaction

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "systemUniqueKey": "string",
  • "externalEventDate": "2019-08-24T14:15:22Z",
  • "externalId": "string",
  • "description": "string",
  • "tags": [
    ],
  • "captureMethod": "auto"
}

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Organizations

Gets an existing Organization details

Authorizations:
bearer
path Parameters
organizationId
required
string

Responses

Response samples

Content type
application/json
{
  • "organization": {
    }
}

Updates an existing Organization

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
description
required
string
pictureUrl
required
string
defaultLoyaltyProgramId
required
number
defaultLocale
required
string
locales
Array of strings
customAttributes
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "defaultLoyaltyProgramId": 123456,
  • "defaultLocale": "string",
  • "locales": [
    ],
  • "customAttributes": {
    }
}

Response samples

Content type
application/json
{
  • "organization": {
    }
}

Loyalty Program Tiers

List of Loyalty Tiers

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

loyaltyTierKey
string

Loyalty Tier Key

onlyActive
boolean

Only active loyalty tiers

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Creates a new Loyalty Tier

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
Request Body schema: application/json
required
name
required
string

Descriptive name for this Level.

active
required
boolean
minRequiredPoints
required
number

Minimun balance in Point Accrual Account to move to this Tier Level

tierOrder
required
number

Order between all the program tiers.

customAttributes
object
pictureUrl
string

Descriptive image url for this tier.

isDefault
boolean

Boolean to set tier as default

Responses

Request samples

Content type
application/json
{
  • "name": "Silver",
  • "active": true,
  • "minRequiredPoints": 1000,
  • "tierOrder": 1,
  • "customAttributes": {
    },
  • "isDefault": true
}

Response samples

Content type
application/json
{
  • "tier": {
    }
}

Gets a Single Loyalty Tier details

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
loyaltyTierId
required
number

Responses

Response samples

Content type
application/json
{
  • "tier": {
    }
}

Updates an existing Loyalty Tier

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
loyaltyTierId
required
number
Request Body schema: application/json
required
name
required
string

Descriptive name for this Level.

active
required
boolean
minRequiredPoints
required
number

Minimun balance in Point Accrual Account to move to this Tier Level

tierOrder
required
number

Order between all the program tiers.

customAttributes
object
pictureUrl
string

Descriptive image url for this tier.

isDefault
boolean

Boolean to set tier as default

Responses

Request samples

Content type
application/json
{
  • "name": "Silver",
  • "active": true,
  • "minRequiredPoints": 1000,
  • "tierOrder": 1,
  • "customAttributes": {
    },
  • "isDefault": true
}

Response samples

Content type
application/json
{
  • "tier": {
    }
}

Loyalty Programs

LoyaltyProgramController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number

Responses

Response samples

Content type
application/json
{
  • "loyaltyProgram": {
    }
}

LoyaltyProgramController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
loyaltyProgramId
required
number
Request Body schema: application/json
required
active
required
boolean
name
required
string
ledgerId
required
number
tierPointsLedgerAccountId
number
mainLedgerAccountId
number
description
required
string

Loyalty Program short Description

setAsDefault
required
boolean

Sets as organization's default Loyalty Program

mainPortalId
number

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "name": "My Super Loyalty Program",
  • "ledgerId": "123456",
  • "tierPointsLedgerAccountId": "123456",
  • "mainLedgerAccountId": "123456",
  • "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt...",
  • "setAsDefault": true,
  • "mainPortalId": "123456"
}

Response samples

Content type
application/json
{
  • "loyaltyProgram": {
    }
}

LoyaltyProgramController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

default
boolean
Default: true
loyaltyProgramKey
string

Loyalty Program Key

Responses

Response samples

Content type
application/json
{
  • "loyaltyPrograms": [
    ]
}

LoyaltyProgramController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
active
required
boolean
name
required
string
ledgerId
required
number
tierPointsLedgerAccountId
number
mainLedgerAccountId
number
description
required
string

Loyalty Program short Description

setAsDefault
required
boolean

Sets as organization's default Loyalty Program

mainPortalId
number
defaultTierId
number

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "name": "My Super Loyalty Program",
  • "ledgerId": "123456",
  • "tierPointsLedgerAccountId": "123456",
  • "mainLedgerAccountId": "123456",
  • "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt...",
  • "setAsDefault": true,
  • "mainPortalId": "123456",
  • "defaultTierId": "123456"
}

Response samples

Content type
application/json
{
  • "loyaltyProgram": {
    }
}

Organization Users

OrganizationUserController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

email
string
userName
string

Filter by user name

active
boolean
authClientId
string

Filter by auth client id

includeAPIUsers
boolean
includeCognitoUsers
boolean
search
string

Filter by full text search

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

OrganizationUserController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
active
required
boolean
name
required
string
nickname
required
string
profilePictureUrl
required
string
isSystemAdmin
required
boolean
pendingProvisioning
required
boolean
customAttributes
required
object
passwordIsTemporary
boolean

Create password as temporary

password
string

User temporary password

sendInvite
boolean

Send invite to user

isAdmin
required
boolean
roles
required
Array of strings
Items Enum: "ledgers:write" "ledgers:read" "orders:write" "orders:read" "campaigns:write" "campaigns:read" "badges:write" "badges:read" "benefits:write" "benefits:read" "tiers:write" "tiers:read" "members:write" "members:read" "coupons:write" "coupons:read" "partnerships:write" "partnerships:read" "users:write" "users:read"
emailIsVerified
boolean

Set email as verified

userName
required
string

Unique User Name

email
required
string

User email address

authClientId
required
string

Auth Client Id of the App that created the user

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "name": "John Connor",
  • "nickname": "user-123456",
  • "isSystemAdmin": true,
  • "pendingProvisioning": true,
  • "customAttributes": {
    },
  • "passwordIsTemporary": false,
  • "password": "my-secret-password",
  • "sendInvite": false,
  • "isAdmin": true,
  • "roles": [
    ],
  • "emailIsVerified": true,
  • "userName": "johnconnor",
  • "email": "john@connor.com",
  • "authClientId": "CLIENT-123456"
}

Response samples

Content type
application/json
{
  • "user": {
    },
  • "password": "my-secret-password"
}

OrganizationUserController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "user": {
    }
}

OrganizationUserController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
userId
required
string
Request Body schema: application/json
required
active
required
boolean
name
required
string
nickname
required
string
profilePictureUrl
required
string
isSystemAdmin
required
boolean
pendingProvisioning
required
boolean
customAttributes
required
object
organizations
required
Array of strings

Related organizations

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "name": "John Connor",
  • "nickname": "user-123456",
  • "isSystemAdmin": true,
  • "pendingProvisioning": true,
  • "customAttributes": {
    },
  • "organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

OrganizationUserController_delete

Authorizations:
bearer
path Parameters
organizationId
required
number
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

OrganizationUserController_updatePermissions

Authorizations:
bearer
path Parameters
organizationId
required
number
userId
required
string
Request Body schema: application/json
required
isAdmin
required
boolean
roles
required
Array of strings
Items Enum: "ledgers:write" "ledgers:read" "orders:write" "orders:read" "campaigns:write" "campaigns:read" "badges:write" "badges:read" "benefits:write" "benefits:read" "tiers:write" "tiers:read" "members:write" "members:read" "coupons:write" "coupons:read" "partnerships:write" "partnerships:read" "users:write" "users:read"

Responses

Request samples

Content type
application/json
{
  • "isAdmin": true,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

OrganizationUserController_adminSetPassword

Authorizations:
bearer
path Parameters
organizationId
required
number
userId
required
string
Request Body schema: application/json
required
permanent
boolean

Indicates if the password is permanent

password
required
string

The new password

Responses

Request samples

Content type
application/json
{
  • "permanent": true,
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "user": {
    }
}

Portals

Get all portals

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

publicId
string

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "page": 0,
  • "limit": 0,
  • "results": [
    ]
}

Create portal

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
customAttributes
object
links
object
theme
object
forms
object
metadata
object
active
required
boolean
loyaltyProgramId
number
authRedirectUrl
string
authValidScopes
Array of strings
createdAt
string <date-time>
updatedAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "customAttributes": { },
  • "links": { },
  • "theme": { },
  • "forms": { },
  • "metadata": { },
  • "active": true,
  • "loyaltyProgramId": 0,
  • "authRedirectUrl": "string",
  • "authValidScopes": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "portal": {
    }
}

Get portal by id

Authorizations:
bearer
path Parameters
organizationId
required
number
portalId
required
number

Responses

Response samples

Content type
application/json
{
  • "portal": {
    }
}

Update portal

Authorizations:
bearer
path Parameters
organizationId
required
number
portalId
required
number
Request Body schema: application/json
required
name
required
string
publicId
required
string
customAttributes
object
links
object
theme
object
forms
object
metadata
object
active
required
boolean
loyaltyProgramId
number
authRedirectUrl
string
authValidScopes
Array of strings
createdAt
string <date-time>
updatedAt
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "publicId": "string",
  • "customAttributes": { },
  • "links": { },
  • "theme": { },
  • "forms": { },
  • "metadata": { },
  • "active": true,
  • "loyaltyProgramId": 0,
  • "authRedirectUrl": "string",
  • "authValidScopes": [
    ],
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "portal": {
    }
}

Get portal by public id

Authorizations:
bearer
path Parameters
publicId
required
string

Responses

Response samples

Content type
application/json
{
  • "portal": {
    }
}

Order Locations

OrderLocationController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

orderLocationCodes
Array of strings
Example: orderLocationCodes=argentina&orderLocationCodes=chile

Filter by order location codes

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "totalCount": 25,
  • "limit": 10,
  • "page": 1
}

OrderLocationController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
orderLocationCode
required
string

Order location code identifier

orderLocationLabel
required
string

Order location display label

tags
Array of strings

Order location tags

Responses

Request samples

Content type
application/json
{
  • "orderLocationCode": "argentina",
  • "orderLocationLabel": "Argentina",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "orderLocation": {
    }
}

OrderLocationController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
orderLocationCode
required
string

Responses

Response samples

Content type
application/json
{
  • "orderLocation": {
    }
}

OrderLocationController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
orderLocationCode
required
string
Request Body schema: application/json
required
orderLocationLabel
string

Order location display label

tags
Array of strings

Order location tags

Responses

Request samples

Content type
application/json
{
  • "orderLocationLabel": "Argentina",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "orderLocation": {
    }
}

Product Categories

ProductCategoryController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

productCategoryCodes
Array of strings
Example: productCategoryCodes=electronics&productCategoryCodes=clothing&productCategoryCodes=food

Filter by product category codes

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "totalCount": 25,
  • "limit": 10,
  • "page": 1
}

ProductCategoryController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
productCategoryCode
required
string

Unique product category code

productCategoryLabel
required
string

Human-readable product category label

tags
Array of strings

Product category tags

Responses

Request samples

Content type
application/json
{
  • "productCategoryCode": "electronics",
  • "productCategoryLabel": "Electronics",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "productCategory": {
    }
}

ProductCategoryController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
productCategoryCode
required
string

Responses

Response samples

Content type
application/json
{
  • "productCategory": {
    }
}

ProductCategoryController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
productCategoryCode
required
string
Request Body schema: application/json
required
productCategoryLabel
string

Human-readable product category label

tags
Array of strings

Product category tags

Responses

Request samples

Content type
application/json
{
  • "productCategoryLabel": "Electronics",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "productCategory": {
    }
}

Locations

LocationController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

locationCodes
Array of strings
Example: locationCodes=argentina&locationCodes=chile

Filter by location codes

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "totalCount": 25,
  • "limit": 10,
  • "page": 1
}

LocationController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
locationCode
required
string

Location code identifier

locationLabel
required
string

Location display label

tags
Array of strings

Location tags

Responses

Request samples

Content type
application/json
{
  • "locationCode": "argentina",
  • "locationLabel": "Argentina",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "location": {
    }
}

LocationController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
locationCode
required
string

Responses

Response samples

Content type
application/json
{
  • "location": {
    }
}

LocationController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
locationCode
required
string
Request Body schema: application/json
required
locationLabel
string

Location display label

tags
Array of strings

Location tags

Responses

Request samples

Content type
application/json
{
  • "locationLabel": "Argentina",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "location": {
    }
}

Categories

CategoryController_findAll

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

categoryCodes
Array of strings
Example: categoryCodes=electronics&categoryCodes=clothing&categoryCodes=food

Filter by category codes

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "totalCount": 25,
  • "limit": 10,
  • "page": 1
}

CategoryController_create

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
categoryCode
required
string

Unique category code

categoryLabel
required
string

Human-readable category label

tags
Array of strings

Category tags

Responses

Request samples

Content type
application/json
{
  • "categoryCode": "electronics",
  • "categoryLabel": "Electronics",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "category": {
    }
}

CategoryController_findOne

Authorizations:
bearer
path Parameters
organizationId
required
number
categoryCode
required
string

Responses

Response samples

Content type
application/json
{
  • "category": {
    }
}

CategoryController_update

Authorizations:
bearer
path Parameters
organizationId
required
number
categoryCode
required
string
Request Body schema: application/json
required
categoryLabel
string

Human-readable category label

tags
Array of strings

Category tags

Responses

Request samples

Content type
application/json
{
  • "categoryLabel": "Electronics",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "category": {
    }
}

OrganizationContent Schemas

Create a new content schema

Authorizations:
bearer
path Parameters
organizationId
required
number
Request Body schema: application/json
required
name
required
string
description
string
pictureUrl
string
type
required
number
active
required
boolean
schema
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "schema": "string"
}

Response samples

Content type
application/json
{
  • "contentSchemaId": 0,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "contentSchemaVersionId": 0,
  • "schema": "string"
}

Retrieve all content schemas

Authorizations:
bearer
path Parameters
organizationId
required
number
query Parameters
page
number >= 0

The page number for pagination

limit
number [ 1 .. 25 ]
Example: limit=10

The limit of items to return per page

order
string

Order of columns in result in the format 'column,asc|desc?'. Samples: ?order=col1 or ?order=col1,asc

type
number
active
boolean
includeLastSchema
boolean

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a content schema by ID

Authorizations:
bearer
path Parameters
organizationId
required
number
id
required
string

Responses

Response samples

Content type
application/json
{
  • "contentSchemaId": 0,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "contentSchemaVersionId": 0,
  • "schema": "string"
}

Update a content schema

Authorizations:
bearer
path Parameters
organizationId
required
number
id
required
string
Request Body schema: application/json
required
name
string
description
string
pictureUrl
string
type
number
active
boolean
schema
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "schema": "string"
}

Response samples

Content type
application/json
{
  • "contentSchemaId": 0,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "contentSchemaVersionId": 0,
  • "schema": "string"
}

Delete a content schema

Authorizations:
bearer
path Parameters
id
required
string
organizationId
required
number

Responses

Response samples

Content type
application/json
true

Retrieve a content schema by ID and version

Authorizations:
bearer
path Parameters
organizationId
required
number
id
required
string
versionId
required
string

Responses

Response samples

Content type
application/json
{
  • "contentSchemaId": 0,
  • "organizationId": 0,
  • "name": "string",
  • "description": "string",
  • "pictureUrl": "string",
  • "type": 0,
  • "active": true,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "contentSchemaVersionId": 0,
  • "schema": "string"
}