Skip to main content

99minds API Endpoints

99minds API endpoints and syntax

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.io

  • Demo / 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

External References

Did this answer your question?