99minds API Endpoints
The 99minds integration communicates with the 99minds REST API. All endpoints are relative to the base URL configured in the subscription's API Url setting, shown below as [Base URL].
Production:
https://api.giftcard.99minds.ioDemo / Sandbox:
https://api.demo.giftcard.99minds.io
Table of Contents
Customer Endpoints
Loyalty Card Endpoints
Transaction Endpoints
Gift Card Endpoints
Authorization
Rate Limits
Response Status Codes
Customer Endpoints
Get a Customer by Id (GET)
[Base URL]/api/v1/ipaas/customers/{id}Create a Customer (POST)
[Base URL]/api/v1/ipaas/customers
Update a Customer (POST)
[Base URL]/api/v1/ipaas/customers
Loyalty Card Endpoints
Get a Loyalty Card by Customer Id (GET)
[Base URL]/api/v1/ipaas/loyaltycards?customer_id={id}Get a Loyalty Card by Id (GET)
[Base URL]/api/v1/ipaas/loyaltycards/{id}Issue a Loyalty Card (POST)
[Base URL]/api/v1/ipaas/loyaltycards/issue
Transaction Endpoints
Get Transactions by Customer Id (GET)
[Base URL]/api/v1/ipaas/loyaltycards/transactions?customer_id={customer_id}Get Transactions by Card Id (GET)
[Base URL]/api/v1/ipaas/loyaltycards/transactions?card_id={card_id}A client_order_id query parameter may be appended to scope the result to a single order:
[Base URL]/api/v1/ipaas/loyaltycards/transactions?card_id={card_id}&client_order_id={client_order_id}Execute a Workflow / Create a Transaction (POST)
[Base URL]/api/v1/ipaas/workflows/execute
Gift Card Endpoints
Get a Gift Card by Card Id (GET)
[Base URL]/api/v1/giftcards/{card_id}Issue a Gift Card (POST)
[Base URL]/api/v1/giftcards/issue
Reload a Gift Card (POST)
[Base URL]/api/v1/giftcards/reload
Redeem a Gift Card (POST)
[Base URL]/api/v1/giftcards/redeem
List Gift Cards (GET)
[Base URL]/api/v1/giftcards?page_no={page}Authorization
The 99minds integration authenticates with a static API Secret Key rather than a token-exchange flow. The key configured in the subscription's API Secret Key setting is sent as a Bearer token on every request:
Authorization: Bearer {API Secret Key}There is no separate authorization or token endpoint to call.
Rate Limits
99minds rate limits all API requests in a 60-second window. The limits are the same for all plans: 150 requests per minute (rpm) per IP address.
429 Too Many Requests — returned when the rate limit is exceeded.
503 Service Unavailable — returned when an IP address is banned.
Each response includes the current rate-limit position in these headers:
Header | Example value |
X-RateLimit-Limit | 1 |
X-RateLimit-Remaining | 0 |
X-RateLimit-Reset | 1652820860 |
Beyond the per-minute limit, physical infrastructure limits may cap throughput on any given endpoint, and 99minds reserves the right to limit or block unreasonable or abusive API activity in the interest of platform stability. The integration's API Throttle Limit and API Throttle Seconds subscription settings keep request volume within these limits.
Response Status Codes
Code | Description |
200 | The request was successfully processed by 99minds. |
400 | The request was not understood by the server, generally due to bad syntax or because the Content-Type header was not correctly set to application/json. Also returned when an invalid code parameter is provided during the OAuth token exchange process. |
401 | The necessary authentication credentials are not present in the request or are incorrect. |
403 | The server is refusing to respond to the request, generally because the appropriate scope for the action was not requested. |
404 | The requested resource was not found but could be available again in the future. |
422 | The request body was well-formed but contains semantic errors. The response body provides more detail in the errors parameter. |
429 | The request was not accepted because the application exceeded the rate limit (see Rate Limits). |
500 | An internal error occurred in 99minds. |
501 | The requested endpoint is not available on that plan (for example, requesting a higher-plan API on a start-up plan). May also indicate the endpoint is reserved for future use. |
503 | The server is currently unavailable; check the 99minds status page for reported outages. |
504 | The request could not complete in time. Try breaking it into multiple smaller requests. |
Related Documents
Setup & Reference
Mapping Documentation
