How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Paystone DataCandy API

The public, documented REST API for Paystone's DataCandy gift-card and loyalty platform, built on API Platform (Hydra/JSON-LD) and served from api.paystone.com. It exposes 28 documented paths across 14 resource groups — client and merchant management, contacts, gift/loyalty/prepaid/promo account types, loyalty and prepaid transactions, rewards and items, member and balance portals, user management, and webhook management. All endpoints require a JWT bearer token. An interactive Swagger UI is published at api.paystone.com/docs and a machine-readable OpenAPI 3.1 export is downloadable from the same host.

Paystone DataCandy API is published by Paystone on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Gift Cards, Loyalty, Prepaid, Merchant Management, and Webhook. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 38 operations across 28 paths, organized into 14 resource areas, and defines 81 schemas. It is described by OpenAPI 3.1.0, at version 26.7.1.0-d9107e6.

Requests are made against a single base URL, /.

38 operations 28 paths 81 schemas 27 GET5 PATCH5 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
26.7.1.0-d9107e6
Base URL
https://api.paystone.com
Authentication
HTTP Bearer
Resource Areas
14

Authentication & Security 1

Paystone DataCandy API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (JWT). By default, every request must be authenticated.

  • JWT — Enter your JWT token (without the "Bearer" prefix).

Paths & Operations 38

Across 28 paths, the API surfaces 38 operations — 27 GET, 5 PATCH, 5 POST, 1 PUT. They span 14 resource areas, including Balance Portal, Client Management, Contact, Gift Account Type, Item, Loyalty Account Type, Loyalty Transaction, Member Portal, and 6 more. Each is listed below with its method, path, parameters, and response codes.

Balance Portal 1
GET
/v1/clients/{accessKey}/portals/balance
Retrieve balance portal configurations for a client.
api_v1clients_accessKeyportalsbalance_get_collection 1 param → 200403401
Client Management 5
GET
/v1/clients
Retrieve all clients in the portfolio.
api_v1clients_get_collection 2 params → 200403401
POST
/v1/clients
Create a new client.
api_v1clients_post body → 201400422403401
GET
/v1/clients/{id}
Retrieve a client by ID.
api_v1clients_id_get 1 param → 200403404401
PATCH
/v1/clients/{id}
Update an existing client.
api_v1clients_id_patch 1 param body → 200400422403404401
POST
/v1/clients/{id}/complete
Complete client onboarding.
api_v1clients_idcomplete_post 1 param body → 201400422403200401404
Contact 2

Resource 'Contact' operations.

GET
/contacts
Retrieve all contacts.
api_contacts_get_collection 3 params → 200403401
GET
/contacts/{id}
Retrieve a contact by ID.
api_contacts_id_get 1 param → 200403404401
Gift Account Type 2
GET
/v1/clients/{accessKey}/account-types/gift
Retrieve all gift account types for a client.
api_v1clients_accessKeyaccount-typesgift_get_collection 1 param → 200403401
GET
/v1/clients/{accessKey}/account-types/gift/{id}
Retrieve a gift account type by ID.
api_v1clients_accessKeyaccount-typesgift_id_get 2 params → 200403404401
Item 1

Resource 'Item' operations.

GET
/items/{id}
Retrieve an item by ID.
api_items_id_get 1 param → 200403404401
Loyalty Account Type 2
GET
/v1/clients/{accessKey}/account-types/loyalty
Retrieve all loyalty account types for a client.
api_v1clients_accessKeyaccount-typesloyalty_get_collection 1 param → 200403401
GET
/v1/clients/{accessKey}/account-types/loyalty/{id}
Retrieve a loyalty account type by ID.
api_v1clients_accessKeyaccount-typesloyalty_id_get 2 params → 200403404401
Loyalty Transaction 2
GET
/loyalty-transactions
Retrieve all loyalty transactions.
api_loyalty-transactions_get_collection 12 params → 200403401
GET
/loyalty-transactions/{id}
Retrieve a loyalty transaction by ID.
api_loyalty-transactions_id_get 1 param → 200403404401
Member Portal 1
GET
/v1/clients/{accessKey}/portals/member
Retrieve member portal configurations for a client.
api_v1clients_accessKeyportalsmember_get_collection 1 param → 200403401
Merchant Management 8
GET
/merchants
Retrieve all merchants.
api_merchants_get_collection 5 params → 200403401
GET
/merchants/{id}
Retrieve a merchant by ID.
api_merchants_id_get 1 param → 200403404401
GET
/v1/clients/{accessKey}/merchants
Retrieve all merchants for a client.
api_v1clients_accessKeymerchants_get_collection 1 param → 200403401
POST
/v1/clients/{accessKey}/merchants
Create a new merchant.
api_v1clients_accessKeymerchants_post 1 param body → 201400422403401
GET
/v1/clients/{accessKey}/merchants/by-external-reference/{externalReference}
Retrieve a merchant by external reference.
api_v1clients_accessKeymerchantsby-external-reference_externalReference_get 2 params → 200403404401
PATCH
/v1/clients/{accessKey}/merchants/by-external-reference/{externalReference}
Update a merchant by external reference.
api_v1clients_accessKeymerchantsby-external-reference_externalReference_patch 2 params body → 200400422403404401
GET
/v1/clients/{accessKey}/merchants/{id}
Retrieve a merchant by ID.
api_v1clients_accessKeymerchants_id_get 2 params → 200403404401
PATCH
/v1/clients/{accessKey}/merchants/{id}
Update an existing merchant.
api_v1clients_accessKeymerchants_id_patch 2 params body → 200400422403404401
Prepaid Transaction 2
GET
/prepaid-transactions
Retrieve all prepaid transactions.
api_prepaid-transactions_get_collection 12 params → 200403401
GET
/prepaid-transactions/{id}
Retrieve a prepaid transaction by ID.
api_prepaid-transactions_id_get 1 param → 200403404401
Promo Account Type 2
GET
/v1/clients/{accessKey}/account-types/promo
Retrieve all promo account types for a client.
api_v1clients_accessKeyaccount-typespromo_get_collection 1 param → 200403401
GET
/v1/clients/{accessKey}/account-types/promo/{id}
Retrieve a promo account type by ID.
api_v1clients_accessKeyaccount-typespromo_id_get 2 params → 200403404401
Reward 1

Resource 'Reward' operations.

GET
/rewards/{id}
Retrieve a reward by ID.
api_rewards_id_get 1 param → 200403404401
User Management 4
GET
/v1/clients/{accessKey}/users
Retrieve all users for a client.
api_v1clients_accessKeyusers_get_collection 1 param → 200403401
POST
/v1/clients/{accessKey}/users
Create a new user for a client.
api_v1clients_accessKeyusers_post 1 param body → 201400422403401
GET
/v1/clients/{accessKey}/users/{username}
Retrieve a user by username.
api_v1clients_accessKeyusers_username_get 2 params → 200403404401
PATCH
/v1/clients/{accessKey}/users/{username}
Update an existing user.
api_v1clients_accessKeyusers_username_patch 2 params body → 200400422403404401
Webhook Management 5
GET
/webhooks
Retrieve all webhooks.
api_webhooks_get_collection 2 params → 200403401
POST
/webhooks
Create a new webhook.
api_webhooks_post body → 201400422401403
GET
/webhooks/{id}
Retrieve a webhook by ID.
api_webhooks_id_get 1 param → 200403404401
PUT
/webhooks/{id}
Replace an existing webhook.
api_webhooks_id_put 1 param body → 200400422404401403
PATCH
/webhooks/{id}
Update an existing webhook.
api_webhooks_id_patch 1 param body → 200400422404401403

Schemas 81

The contract defines 81 schemas that model the data the API accepts and returns. The most detailed are Client.Merchant.jsonld (53 properties), Banner.jsonld (26 properties), Transaction.jsonld (21 properties), Client-client.write (20 properties). Each schema is shown below with its type and property counts.

AccessGroup.jsonld
object
13 properties 2 required
Address-merchant.patch
object
6 properties
Address-merchant.write
object
6 properties
Address.jsonld-merchant.read
object
6 properties
Address.jsonld-merchant.read_merchant.read.item
object
6 properties
Address.jsonld-merchant.write
object
6 properties
BalancePortal.jsonld-balance_portal.read
Banner.jsonld
object
26 properties
BannerTranslation.jsonld
object
17 properties 1 required
CaaLocationcode.jsonld
object
10 properties
Card.jsonld
object
5 properties
Card.jsonld-transaction.read_transaction.read.item
object
4 properties
Client-client.complete
object
Client-client.patch.jsonMergePatch
object
7 properties
Client-client.write
object
20 properties 6 required
Client.Address.jsonld-contact.read
object
6 properties
Client.Address.jsonld-transaction.read_transaction.read.item
object
6 properties
Client.Merchant-webhook.write.item
object
Client.Merchant.jsonld
object
53 properties 10 required
Client.Merchant.jsonld-transaction.read
object
Client.Merchant.jsonld-transaction.read_transaction.read.item
object
Client.Merchant.jsonld-webhook.read_webhook.read.item
object
Client.jsonld-client.complete.read
Client.jsonld-client.read
Collection.jsonld
object
4 properties
CommunicationPreference.jsonld-contact.read
object
8 properties
CommunicationPreference.jsonld-transaction.read_transaction.read.item
object
8 properties
CompanyInfo-client.write
object
11 properties 11 required
ConstraintViolation
object
Unprocessable entity
6 properties
ConstraintViolation.jsonld
Unprocessable entity
Contact.jsonld-contact.read
Contact.jsonld-transaction.read_transaction.read.item
Currency.jsonld
object
1 property
DataType.Point.jsonld
object
2 properties
Error
object
A representation of common errors.
5 properties
Error.jsonld
A representation of common errors.
Event-webhook.write.item
object
Event.jsonld
object
6 properties
Event.jsonld-webhook.read
object
Event.jsonld-webhook.read_webhook.read.item
object
GeomPoint.jsonld
object
9 properties
GiftAccountType.jsonld-account-type.read
HydraCollectionBaseSchema
HydraCollectionBaseSchemaNoPagination
object
2 properties
HydraItemBaseSchema
object
3 properties 2 required
Item.jsonld
object
1 property
Item.jsonld-transaction.read_transaction.read.item
LocalizedString.jsonld-account-type.read
object
2 properties
LocalizedString.jsonld-balance_portal.read
object
2 properties
LocalizedString.jsonld-member_portal.read
object
2 properties
LoyaltyAccountType.jsonld-account-type.read
LoyaltyTransaction.jsonld-transaction.read
LoyaltyTransaction.jsonld-transaction.read_transaction.read.item
MemberPortal.jsonld-member_portal.read
Merchant-merchant.patch.jsonMergePatch
object
10 properties
Merchant-merchant.write
object
16 properties 6 required
Merchant.jsonld-merchant.read
Merchant.jsonld-merchant.read_merchant.read.item
Merchant.jsonld-merchant.write
MerchantCategory.jsonld
object
11 properties
MerchantSubcategory.jsonld
object
13 properties
Money.jsonld
object
7 properties
Money.jsonld-account-type.read
object
Money.jsonld-transaction.read
object
Money.jsonld-transaction.read_transaction.read.item
object
Point.jsonld-merchant.read_merchant.read.item
object
2 properties
PrepaidTransaction.jsonld-transaction.read
PrepaidTransaction.jsonld-transaction.read_transaction.read.item
PromoAccountType.jsonld-account-type.read
Reward.jsonld-transaction.read.item
Reward.jsonld-transaction.read_transaction.read.item
Transaction.jsonld
object
21 properties
Transaction.jsonld-transaction.read_transaction.read.item
object
18 properties
User-user.patch.jsonMergePatch
object
9 properties
User-user.write
object
8 properties 5 required
User.jsonld-user.read
Webhook-webhook.write.item
object
Webhooks let you subscribe to certain events and be notified
6 properties 2 required
Webhook-webhook.write.item.jsonMergePatch
object
Webhooks let you subscribe to certain events and be notified
6 properties
Webhook.jsonld
Webhooks let you subscribe to certain events and be notified
Webhook.jsonld-webhook.read
Webhooks let you subscribe to certain events and be notified
Webhook.jsonld-webhook.read_webhook.read.item
Webhooks let you subscribe to certain events and be notified

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

paystone-datacandy-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Paystone DataCandy API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.