Skip to main content
POST
/
v2
/
programs
Create Loyalty Program
curl --request POST \
  --url https://api.loyalty.dog/v2/programs \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "passTypeIdentifier": "<string>",
  "name": "<string>",
  "schema": "tieredMembership",
  "programType": "loyalty",
  "description": "<string>",
  "language": "<string>",
  "country": "<string>",
  "company": "<string>",
  "address": "<string>",
  "website": "<string>",
  "email": "[email protected]",
  "phone": "<string>",
  "terms": "<string>",
  "pointsAddEmail": 123,
  "pointsAddPhone": 123,
  "pointsInstallPass": 123,
  "pointsScanPass": 123,
  "dynamicScanPoints": true,
  "pointsReferral": 123,
  "referralRequiredPoints": 123,
  "scannerType": "None",
  "customPointsChangeMessage": "<string>",
  "disableCustomPointsChangeMessage": true,
  "customPointName": "<string>",
  "customPointsName": "<string>",
  "customFields": [],
  "requiredFields": [],
  "retention_period_days": 30
}
'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>",
      "input": "<unknown>",
      "ctx": {}
    }
  ]
}

Authorizations

Authorization
string
header
required

JWT access token obtained from POST /v2/token.

Headers

authorization
string | null

Body

application/json
passTypeIdentifier
string
required
Pattern: ^pass\..*
name
string
required
schema
enum<string>
default:tieredMembership
Available options:
stampCard,
tieredMembership,
specialOffers,
custom
programType
enum<string>
default:loyalty
Available options:
loyalty,
giftcard
description
string | null
language
string | null
country
string | null
company
string | null
address
string | null
website
string<uri> | null
Required string length: 1 - 2083
email
phone
string | null
terms
string | null
pointsAddEmail
integer | null
pointsAddPhone
integer | null
pointsInstallPass
integer | null
pointsScanPass
integer | null
dynamicScanPoints
boolean | null
pointsReferral
integer | null
referralRequiredPoints
integer | null
scannerType
enum<string> | null
default:None
Available options:
Browser,
PassVerifier,
CodeReadr,
None
customPointsChangeMessage
string | null
disableCustomPointsChangeMessage
boolean | null
customPointName
string | null
customPointsName
string | null
customFields
TemplatePlaceholder · object[]
requiredFields
string[]
retention_period_days
integer
default:30

Days to retain deleted data (0-365)

Required range: 0 <= x <= 365

Response

Successful Response