# List Sapo integrations

`GET /service/@id/tinopay/sapo-integrations` · TinoPay, service owner's sign-in token

Sapo integrations of the merchant, filtered by the query `bank_account_id`. `api_secret` is never returned (only `has_api_secret`); a non-null `last_error` is a Sapo connection error; `snippet` is the code to paste into Sapo's checkout page.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/service/@id/tinopay/sapo-integrations` |
| Method | `GET` |
| Authentication | the TinoPay service owner's sign-in token (`Authorization: Bearer <token>`); the `/v1` gateway does not expose TinoPay yet |
| Content-Type | — (no body) |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | int | yes | TinoPay service ID |
| `bank_account_id` | query | string | — | — |

## Example request

```bash
curl "https://api.tino.vn/service/100001/tinopay/sapo-integrations" \
  -H "Authorization: Bearer $TINO_TOKEN"
```

`$TINO_TOKEN` is the TinoPay service owner's sign-in token. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): no dedicated function yet, use `client.request("GET", "/service/@id/tinopay/sapo-integrations")`.

## Example response

```json
{
 "data": [
  {
   "id": 4,
   "name": "Website Sapo",
   "store_url": "<tên-cửa-hàng>.mysapo.net",
   "api_key": "<api_key>",
   "has_api_secret": true,
   "bank_account_id": "9c1e6f2a-5b7d-4e1a-9f3c-2d8b6a4e0c11",
   "virtual_account": "9624QA01",
   "order_prefix": "TNG",
   "transaction": {
    "kind": "capture",
    "source_name": null,
    "status": null
   },
   "status": "active",
   "script_url": "<script_url>",
   "snippet": "<snippet>",
   "last_error": null,
   "last_error_at": null,
   "last_paid_at": "2026-10-24T10:00:00+07:00",
   "created_at": "2026-10-24T09:00:00+07:00",
   "updated_at": "2026-10-24T09:00:00+07:00"
  }
 ]
}
```

Sample built from the TinoPay API v1 documentation (Tino relays TinoPay data as is); values are examples.
