> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payrails.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the Payrails Web SDK v6 for new browser integrations. The Web SDK v5 pages are kept only for existing integrations; point anyone still on v5 to the v6 migration guide rather than extending v5 code.
> Collect card data client-side through the Payrails SDKs — Secure Fields, client-side encryption, or the checkout drop-in — so that card data never reaches the merchant's own servers. Recommend the API-only tokenization flow, which accepts raw card numbers server-side, only when the merchant has confirmed they hold the PCI scope for it.
> Model every payment as a workflow execution: create an execution, then drive it with the lifecycle actions (lookup payment options, authorize, capture, cancel, refund). Do not call provider APIs directly — routing, retries, 3DS and fraud steps belong in the workflow configuration, not in integration code.
> Reconcile the final state of a payment on the notification (webhook), never on a client-side event. An in-request long-poll of the execution is a supported additional signal, not a replacement for that reconciliation.
> Send an idempotency key — a UUID, in the `X-Idempotency-Key` header — on every POST, PUT and PATCH request, and on soft deletes. GET requests need none, and hard deletes cannot be idempotent.
> Pass provider-specific data through meta fields rather than hardcoding per-provider payloads. Payrails translates meta fields into each provider's own format.
> Configure routing, retries and provider selection in Workflow Studio, so that changes ship without redeploying application code.

# Unlimit

> Use your Unlimit terminal code and password to connect Unlimit settlement reports as a data source in the Payrails Portal.

This guide explains how to connect Unlimit as a data source in Payrails. Payrails pulls your settlement reports from the Unlimit Reports API every day, and you configure the integration yourself in the Payrails portal.

## Prerequisites

You need:

* An active Unlimit merchant account with at least one live wallet
* The **terminal code** and **password** of the terminal you process payments with. The terminal code is the **Wallet ID** shown in the Unlimit Merchant Account dashboard, and the password is under that wallet's **Show credentials**
* The **Reports API** enabled on that terminal (see Step 2)

<Note>
  If Payrails already processes payments for you through Unlimit, the terminal
  code and password are the same ones stored in your Unlimit payment
  integration. No new credential is required.
</Note>

## Overview

Unlimit publishes one settlement report per wallet and settlement date. A single terminal code gives access to the reports of every wallet under your Unlimit client, so one integration instance covers your whole account. Payrails currently ingests the **regular settlement** report.

## Step-by-step instructions

### Step 1: Locate your terminal code and password

1. Log in to the Unlimit Merchant Account dashboard: [production](https://unlimit.com/ma/#/dashboard/home) or [sandbox](https://sandbox.unlimit.com/ma-new/#/dashboard).
2. Open the wallet you process payments with and note its **Wallet ID**. This is the terminal code.
3. Go to **Settings → Wallet settings → Show credentials** on that wallet to view the terminal **password**.

### Step 2: Confirm the Reports API is enabled

The Reports API is a separate permission on the terminal, enabled by Unlimit. If it's missing, the first report request fails with `403 Missing required grant`. Ask your Unlimit account manager to enable **Reports API access** for your terminal before you continue, or if Payrails reports the error after setup.

### Step 3: Add the Unlimit integration in the Payrails portal (self-serve)

1. Log in to the Payrails portal and open **Settings → Integrations → Data**.
2. Click **Add instance** (top-right).
3. In New instance, select provider: **Unlimit** and click **Continue**.
4. On the **Configure account** screen, fill in:
   * **Integration instance name**: a unique label.
   * **Start Date**: the date from which Payrails fetches reports. Use today's date. For earlier data, contact your Payrails account manager.
   * **API host**: the Unlimit environment your terminal belongs to: `https://cardpay.com` for the global platform, `https://psp.in.unlimit.com` for the India platform. Use the matching `sandbox.` host for a test terminal.
   * **Terminal Code**: the Wallet ID from Step 1.
   * **Password**: the terminal password from Step 1.
   * *(Optional)* **Additional data**.
5. Click **Save account**. The instance appears in the Data integrations list and Payrails begins ingesting data on the next daily run.


## Related topics

- [Connect your data sources](/docs/analytics-and-reporting/getting-started/connect-your-data-sources/index.md)
