Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/paystone-item-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: DataCandy Item API
description: 'REST API for the DataCandy platform. Provides endpoints for managing merchants,
clients, contacts, account types, transactions, webhooks, and portal configuration.
All endpoints require a JWT bearer token unless stated otherwise.'
version: 26.7.1.0-d9107e6
servers:
- url: /
description: ''
security:
- JWT: {}
tags:
- name: Item
description: Resource 'Item' operations.
paths:
/items/{id}:
get:
operationId: api_items_id_get
tags:
- Item
responses:
200:
description: Item retrieved successfully.
content:
application/ld+json:
schema:
$ref: '#/components/schemas/Item.jsonld'
403:
description: Forbidden — token does not have the required role.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
example: 403
message:
type: string
example: Access Denied.
404:
description: Not found — the requested resource does not exist.
content:
application/ld+json:
schema:
$ref: '#/components/schemas/Error.jsonld'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
application/json:
schema:
$ref: '#/components/schemas/Error'
401:
description: Unauthorized — missing or invalid JWT token.
content:
application/json:
schema:
type: object
properties:
code:
type: integer
example: 401
message:
type: string
example: JWT Token not found
summary: Retrieve an item by ID.
description: Retrieves a Item resource.
parameters:
- name: id
in: path
description: Numeric item ID.
required: true
deprecated: false
schema:
type: integer
style: simple
explode: false
example: 1
security:
- JWT: {}
components:
schemas:
GeomPoint.jsonld:
type: object
properties:
geom:
$ref: '#/components/schemas/DataType.Point.jsonld'
id:
readOnly: true
type:
- integer
- 'null'
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
Error:
type: object
description: A representation of common errors.
properties:
title:
readOnly: true
description: A short, human-readable summary of the problem.
type:
- string
- 'null'
detail:
readOnly: true
description: A human-readable explanation specific to this occurrence of the problem.
type:
- string
- 'null'
status:
type:
- number
- 'null'
examples:
- 404
default: 400
instance:
readOnly: true
description: A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
type:
- string
- 'null'
type:
readOnly: true
description: A URI reference that identifies the problem type
type: string
AccessGroup.jsonld:
type: object
properties:
id:
readOnly: true
type: integer
name:
type: string
banners:
type: array
items:
$ref: '#/components/schemas/Banner.jsonld'
merchants:
type: array
items:
$ref: '#/components/schemas/Client.Merchant.jsonld'
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
required:
- creationDate
- modificationDate
Banner.jsonld:
type: object
properties:
id:
readOnly: true
type: integer
externalReference:
type:
- string
- 'null'
creationDate:
type:
- string
- 'null'
format: date-time
primaryColor:
type:
- string
- 'null'
secondaryColor:
type:
- string
- 'null'
emailSenderName:
type:
- string
- 'null'
emailSenderAddress:
format: email
externalDocs:
url: https://schema.org/email
type:
- string
- 'null'
merchantsCount:
type:
- integer
- 'null'
modificationDate:
type:
- string
- 'null'
format: date-time
accessGroups:
type: array
items:
$ref: '#/components/schemas/AccessGroup.jsonld'
merchants:
type: array
items:
$ref: '#/components/schemas/Client.Merchant.jsonld'
imageUrl:
type:
- string
- 'null'
translations:
type: object
additionalProperties:
$ref: '#/components/schemas/BannerTranslation.jsonld'
newTranslations:
$ref: '#/components/schemas/Collection.jsonld'
currentLocale:
type: string
defaultLocale:
default: en
type: string
name:
readOnly: true
imageId:
readOnly: true
type:
- integer
- 'null'
translationEntityClass:
readOnly: true
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
Money.jsonld:
type: object
properties:
amount:
anyOf:
- type: integer
- type: string
calculator:
readOnly: true
default: Money\Calculator\BcMathCalculator
type: string
currency:
$ref: '#/components/schemas/Currency.jsonld'
sameCurrency:
readOnly: true
type: boolean
zero:
readOnly: true
type: boolean
positive:
readOnly: true
type: boolean
negative:
readOnly: true
type: boolean
Card.jsonld:
type: object
properties:
id:
readOnly: true
type: string
status:
readOnly: true
type: string
enum:
- y
- no_pointredeem
- n
- preactive
- suspend
- lost
- archive
- lock_pin
contact:
readOnly: true
type:
- string
- 'null'
format: iri-reference
example: https://example.com/
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
Item.jsonld:
allOf:
- $ref: '#/components/schemas/HydraItemBaseSchema'
- type: object
properties:
id:
readOnly: true
type: integer
lineNumber:
readOnly: true
type: string
quantity:
readOnly: true
type: string
currentQuantity:
readOnly: true
type: string
amount:
$ref: '#/components/schemas/Money.jsonld'
points:
readOnly: true
type: string
ipc:
readOnly: true
type: string
upc:
readOnly: true
type: string
eligibleForAccumulation:
readOnly: true
type: boolean
properties:
transaction:
anyOf:
- $ref: '#/components/schemas/Transaction.jsonld'
- type: 'null'
readOnly: true
MerchantCategory.jsonld:
type: object
properties:
exclusive:
default: '1'
type: boolean
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
id:
readOnly: true
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
Client.Merchant.jsonld:
type: object
properties:
parentMerchant:
anyOf:
- $ref: '#/components/schemas/Client.Merchant.jsonld'
- type: 'null'
name:
maxLength: 128
type:
- string
- 'null'
storeNumber:
maxLength: 20
type:
- string
- 'null'
lang:
type: string
active:
default: y
type: string
compensation:
default: y
type: string
chargeAdministrativeFees:
type: boolean
isSalesLocation:
type: boolean
institutionNumber:
maxLength: 10
type:
- string
- 'null'
companyName:
maxLength: 80
type:
- string
- 'null'
accountNumber:
maxLength: 15
type:
- string
- 'null'
transitNumber:
maxLength: 10
type:
- string
- 'null'
email:
maxLength: 45
format: email
externalDocs:
url: https://schema.org/email
type:
- string
- 'null'
address:
maxLength: 255
type:
- string
- 'null'
address2:
maxLength: 255
type:
- string
- 'null'
city:
maxLength: 255
type:
- string
- 'null'
phone:
maxLength: 40
type:
- string
- 'null'
fax:
maxLength: 30
type:
- string
- 'null'
postalCode:
maxLength: 255
type:
- string
- 'null'
countryId:
minLength: 2
maxLength: 2
type:
- string
- 'null'
regionId:
minLength: 2
maxLength: 2
type:
- string
- 'null'
trxDollarToPointNumerator:
minimum: 0
maximum: 100
default: 0
type: integer
trxDollarToPointDenominator:
minimum: 0
maximum: 100
default: 0
type: integer
trxPointToDollarNumerator:
minimum: 0
maximum: 100
default: 0
type: integer
trxPointToDollarDenominator:
minimum: 0
maximum: 100
default: 0
type: integer
timezone:
maxLength: 30
type: string
externalReferenceId:
maxLength: 20
type:
- string
- 'null'
useShift:
default: y
type: string
contactName:
maxLength: 255
type:
- string
- 'null'
lastTerminalInitDate:
externalDocs:
url: https://schema.org/DateTime
type:
- string
- 'null'
format: date-time
geomPoint:
anyOf:
- $ref: '#/components/schemas/GeomPoint.jsonld'
- type: 'null'
banner:
anyOf:
- $ref: '#/components/schemas/Banner.jsonld'
- type: 'null'
paymentTerminalAcquirerId:
type:
- integer
- 'null'
posManufacturerId:
type:
- integer
- 'null'
type:
type: string
merchantSubcategories:
type: array
items:
$ref: '#/components/schemas/MerchantSubcategory.jsonld'
caaLocationCode:
anyOf:
- $ref: '#/components/schemas/CaaLocationcode.jsonld'
- type: 'null'
creationDate:
externalDocs:
url: https://schema.org/DateTime
type: string
format: date-time
modificationDate:
externalDocs:
url: https://schema.org/DateTime
accessGroups:
type: array
items:
$ref: '#/components/schemas/AccessGroup.jsonld'
redacted:
default: false
type: boolean
id:
type: integer
hashedPassword: null
clearPassword:
writeOnly: true
type: string
systemLogableId:
readOnly: true
type: string
systemLogableType:
readOnly: true
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
required:
- name
- storeNumber
- lang
- active
- compensation
- chargeAdministrativeFees
- isSalesLocation
- useShift
- creationDate
- modificationDate
Collection.jsonld:
type: object
properties:
empty:
readOnly: true
keys:
readOnly: true
values:
readOnly: true
iterator:
readOnly: true
BannerTranslation.jsonld:
type: object
properties:
id:
readOnly: true
type: integer
name:
type: string
websiteUrl:
format: uri
externalDocs:
url: https://schema.org/url
type: string
customerServiceEmail:
format: email
externalDocs:
url: https://schema.org/email
type:
- string
- 'null'
customerServicePhoneNumber:
type:
- string
- 'null'
imageId:
type:
- integer
- 'null'
translatable:
anyOf:
- $ref: '#/components/schemas/Banner.jsonld'
- type: 'null'
locale:
maxLength: 2
type: string
translatableEntityClass:
readOnly: true
empty:
readOnly: true
type: boolean
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
required:
- locale
MerchantSubcategory.jsonld:
type: object
properties:
externalReference:
type:
- string
- 'null'
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
merchantCategory:
anyOf:
- $ref: '#/components/schemas/MerchantCategory.jsonld'
- type: 'null'
merchants:
type: array
items:
$ref: '#/components/schemas/Client.Merchant.jsonld'
id:
readOnly: true
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
Transaction.jsonld:
type: object
properties:
id:
readOnly: true
type: integer
confirmationNumber:
readOnly: true
type: integer
operation:
readOnly: true
type: string
enum:
- add
- sub
- bal
- red
- cdi
- imp
- loc
- rul
- lom
- nfo
- cmt
- acc
- nai
- pra
- pex
- rdu
- ldu
- dul
- bdu
- act
- inc
- btr
- cna
- cni
- emp
- rgn
- rrd
- rex
- rad
- rrm
- rdi
- pad
- prm
- xpt
- xen
- ccl
- icl
- pcl
- cdu
- apf
- cpf
- gta
- mer
- pfi
- psa
- dde
- dse
- dsm
originalOperation:
readOnly: true
type: string
enum:
- add
- sub
- bal
- red
- cdi
- imp
- loc
- rul
- lom
- nfo
- cmt
- acc
- nai
- pra
- pex
- rdu
- ldu
- dul
- bdu
- act
- inc
- btr
- cna
- cni
- emp
- rgn
- rrd
- rex
- rad
- rrm
- rdi
- pad
- prm
- xpt
- xen
- ccl
- icl
- pcl
- cdu
- apf
- cpf
- gta
- mer
- pfi
- psa
- dde
- dse
- dsm
originalTransaction:
anyOf:
- $ref: '#/components/schemas/Transaction.jsonld'
- type: 'null'
readOnly: true
invoiceNumber:
readOnly: true
type: string
extendedInvoiceNumber:
readOnly: true
type: string
workstationNumber:
readOnly: true
type: string
waiterNumber:
readOnly: true
type: string
commitStatus:
readOnly: true
type: string
enum:
- y
- n
clearinghouseStatus:
readOnly: true
type: string
enum:
- y
- n
cancellationStatus:
readOnly: true
type: string
enum:
- y
- n
- m
batchStatus:
readOnly: true
type: string
enum:
- y
- n
errorCode:
readOnly: true
type: integer
card:
$ref: '#/components/schemas/Card.jsonld'
merchant:
$ref: '#/components/schemas/Client.Merchant.jsonld'
items:
type: array
items:
$ref: '#/components/schemas/Item.jsonld'
readOnly: true
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
contact:
readOnly: true
type:
- string
- 'null'
format: iri-reference
example: https://example.com/
program:
readOnly: true
type: string
enum:
- loy
- ppd
- tok
- sys
- rpt
- air
- caa
- gvx
DataType.Point.jsonld:
type: object
properties:
latitude:
type: number
longitude:
type: number
HydraItemBaseSchema:
type: object
properties:
'@context':
oneOf:
- type: string
- type: object
properties:
'@vocab':
type: string
hydra:
type: string
enum:
- http://www.w3.org/ns/hydra/core#
required:
- '@vocab'
- hydra
additionalProperties: true
'@id':
type: string
'@type':
type: string
required:
- '@id'
- '@type'
Error.jsonld:
allOf:
- $ref: '#/components/schemas/HydraItemBaseSchema'
- type: object
properties:
title:
readOnly: true
description: A short, human-readable summary of the problem.
type:
- string
- 'null'
detail:
readOnly: true
description: A human-readable explanation specific to this occurrence of the problem.
type:
- string
- 'null'
status:
type:
- number
- 'null'
examples:
- 404
default: 400
instance:
readOnly: true
description: A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
type:
- string
- 'null'
type:
readOnly: true
description: A URI reference that identifies the problem type
type: string
description:
readOnly: true
type:
- string
- 'null'
description: A representation of common errors.
CaaLocationcode.jsonld:
type: object
properties:
caaLocationcodeId:
readOnly: true
type: string
merchant:
$ref: '#/components/schemas/Client.Merchant.jsonld'
id:
readOnly: true
properties:
writeOnly: true
type: array
items:
type:
- string
- 'null'
propertyValue:
writeOnly: true
validationName:
readOnly: true
entityTranslationPrefix:
readOnly: true
type: string
entitySearchValue:
readOnly: true
type: string
dbTranslationKey:
readOnly: true
translationKeyPrefix:
readOnly: true
type:
- string
- 'null'
Currency.jsonld:
type: object
properties:
code:
type: string
securitySchemes:
JWT:
type: http
description: Enter your JWT token (without the "Bearer" prefix).
scheme: bearer
bearerFormat: JWT