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

# API Connectors

> Point an integration you have already built at Fluz — without rewriting it.

If you already send gift card orders to Tango, Runa, or InComm, you do not have to rebuild anything to buy from Fluz. Change your base URL, change your credential, and keep the code you already wrote.

That is what an **API adapter** does.

## What an API adapter is

We mapped our API calls onto theirs. Every operation your vendor exposes — create an order, check an order, read a balance — has a Fluz operation behind it, and the adapter sits in between doing the translation in both directions.

The result is that the integration you already built against Tango, Runa, or InComm now buys from Fluz instead. You keep your request shapes, and a successful response comes back in the shape your parser already expects.

Two things are Fluz's rather than your vendor's: error responses and order status values. Both are covered in [Connector behaviour](/connector-behaviour).

![How the Fluz API Adapter works](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTgwIDY2MCIgd2lkdGg9IjExODAiIGhlaWdodD0iNjYwIiBmb250LWZhbWlseT0iUG9wcGlucywgSW50ZXIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZiI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImJyYW5kIiB4MT0iMCIgeTE9IjAiIHgyPSIxIiB5Mj0iMCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM4NEJFRkYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMjFCQTRDIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPG1hcmtlciBpZD0iYXJyb3ciIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOSIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPgogICAgICA8cGF0aCBkPSJNIDAgMCBMIDEwIDUgTCAwIDEwIHoiIGZpbGw9IiM5QTk2OEEiLz4KICAgIDwvbWFya2VyPgogICAgPG1hcmtlciBpZD0iYXJyb3dHcmVlbiIgdmlld0JveD0iMCAwIDEwIDEwIiByZWZYPSI5IiByZWZZPSI1IiBtYXJrZXJXaWR0aD0iNyIgbWFya2VySGVpZ2h0PSI3IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+CiAgICAgIDxwYXRoIGQ9Ik0gMCAwIEwgMTAgNSBMIDAgMTAgeiIgZmlsbD0iIzBFN0EzNCIvPgogICAgPC9tYXJrZXI+CiAgPC9kZWZzPgoKICA8cmVjdCB3aWR0aD0iMTE4MCIgaGVpZ2h0PSI2NjAiIGZpbGw9IiNGQkY5RjUiLz4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTE4MCIgaGVpZ2h0PSI1IiBmaWxsPSJ1cmwoI2JyYW5kKSIvPgoKICA8IS0tIFRpdGxlIC0tPgogIDx0ZXh0IHg9IjYwIiB5PSI3MiIgZm9udC1zaXplPSIyNyIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzE0MTQwRiI+V2hhdCBhbiBBUEkgYWRhcHRlciBkb2VzPC90ZXh0PgogIDx0ZXh0IHg9IjYwIiB5PSIxMDIiIGZvbnQtc2l6ZT0iMTUiIGZpbGw9IiM2QjZCNjAiPllvdXIgaW50ZWdyYXRpb24ga2VlcHMgc3BlYWtpbmcgdGhlIHZlbmRvciYjODIxNztzIGxhbmd1YWdlLiBGbHV6IGRvZXMgdGhlIHRyYW5zbGF0aW5nLjwvdGV4dD4KCiAgPCEtLSA9PT09PT09PT09PT0gUk9XIDEgOiBUT0RBWSA9PT09PT09PT09PT0gLS0+CiAgPHJlY3QgeD0iNjAiIHk9IjE0MCIgd2lkdGg9IjEwNjAiIGhlaWdodD0iMTg4IiByeD0iMTQiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0iI0U3RTNEOSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPHRleHQgeD0iODgiIHk9IjE3NCIgZm9udC1zaXplPSIxMiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzlBOTY4QSIgbGV0dGVyLXNwYWNpbmc9IjEuNiI+VE9EQVk8L3RleHQ+CgogIDwhLS0gYXBwIC0tPgogIDxyZWN0IHg9Ijg4IiB5PSIxOTYiIHdpZHRoPSIyNTIiIGhlaWdodD0iOTQiIHJ4PSIxMCIgZmlsbD0iI0Y0RjFFQSIgc3Ryb2tlPSIjREREOENDIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8dGV4dCB4PSIyMTQiIHk9IjIzOCIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzE0MTQwRiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+WW91ciBhcHBsaWNhdGlvbjwvdGV4dD4KICA8dGV4dCB4PSIyMTQiIHk9IjI2MiIgZm9udC1zaXplPSIxMyIgZmlsbD0iIzZCNkI2MCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+QWxyZWFkeSBidWlsdC4gQWxyZWFkeSBsaXZlLjwvdGV4dD4KCiAgPGxpbmUgeDE9IjM0OCIgeTE9IjI0MyIgeDI9IjQyNCIgeTI9IjI0MyIgc3Ryb2tlPSIjOUE5NjhBIiBzdHJva2Utd2lkdGg9IjEuNiIgbWFya2VyLWVuZD0idXJsKCNhcnJvdykiLz4KICA8dGV4dCB4PSIzODYiIHk9IjIzMCIgZm9udC1zaXplPSIxMS41IiBmaWxsPSIjOUE5NjhBIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj52ZW5kb3Itc2hhcGVkPC90ZXh0PgogIDx0ZXh0IHg9IjM4NiIgeT0iMjQ1IiBmb250LXNpemU9IjExLjUiIGZpbGw9IiM5QTk2OEEiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnJlcXVlc3Q8L3RleHQ+CgogIDwhLS0gdmVuZG9yIGFwaSAtLT4KICA8cmVjdCB4PSI0MzIiIHk9IjE5NiIgd2lkdGg9IjI1MiIgaGVpZ2h0PSI5NCIgcng9IjEwIiBmaWxsPSIjRjRGMUVBIiBzdHJva2U9IiNEREQ4Q0MiIHN0cm9rZS13aWR0aD0iMSIvPgogIDx0ZXh0IHg9IjU1OCIgeT0iMjM4IiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjMTQxNDBGIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5UYW5nbyAvIFJ1bmEgLyBJbkNvbW08L3RleHQ+CiAgPHRleHQgeD0iNTU4IiB5PSIyNjIiIGZvbnQtc2l6ZT0iMTMiIGZpbGw9IiM2QjZCNjAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPlRoZWlyIEFQSTwvdGV4dD4KCiAgPGxpbmUgeDE9IjY5MiIgeTE9IjI0MyIgeDI9Ijc2OCIgeTI9IjI0MyIgc3Ryb2tlPSIjOUE5NjhBIiBzdHJva2Utd2lkdGg9IjEuNiIgbWFya2VyLWVuZD0idXJsKCNhcnJvdykiLz4KCiAgPCEtLSBzdXBwbHkgLS0+CiAgPHJlY3QgeD0iNzc2IiB5PSIxOTYiIHdpZHRoPSIyNTIiIGhlaWdodD0iOTQiIHJ4PSIxMCIgZmlsbD0iI0Y0RjFFQSIgc3Ryb2tlPSIjREREOENDIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8dGV4dCB4PSI5MDIiIHk9IjIzOCIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzE0MTQwRiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+VGhlaXIgZ2lmdCBjYXJkIHN1cHBseTwvdGV4dD4KICA8dGV4dCB4PSI5MDIiIHk9IjI2MiIgZm9udC1zaXplPSIxMyIgZmlsbD0iIzZCNkI2MCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+VGhlaXIgcmF0ZXM8L3RleHQ+CgogIDwhLS0gPT09PT09PT09PT09IFJPVyAyIDogV0lUSCBGTFVaID09PT09PT09PT09PSAtLT4KICA8cmVjdCB4PSI2MCIgeT0iMzYwIiB3aWR0aD0iMTA2MCIgaGVpZ2h0PSIxODgiIHJ4PSIxNCIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjQzhFOEQyIiBzdHJva2Utd2lkdGg9IjEuNSIvPgogIDxyZWN0IHg9IjYwIiB5PSIzNjAiIHdpZHRoPSIxMDYwIiBoZWlnaHQ9IjQiIHJ4PSIyIiBmaWxsPSJ1cmwoI2JyYW5kKSIvPgogIDx0ZXh0IHg9Ijg4IiB5PSIzOTQiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiMwRTdBMzQiIGxldHRlci1zcGFjaW5nPSIxLjYiPldJVEggVEhFIEZMVVogQVBJIEFEQVBURVI8L3RleHQ+CgogIDwhLS0gYXBwICh1bmNoYW5nZWQpIC0tPgogIDxyZWN0IHg9Ijg4IiB5PSI0MTYiIHdpZHRoPSIyNTIiIGhlaWdodD0iOTQiIHJ4PSIxMCIgZmlsbD0iI0Y0RjFFQSIgc3Ryb2tlPSIjREREOENDIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8dGV4dCB4PSIyMTQiIHk9IjQ1MiIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzE0MTQwRiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+WW91ciBhcHBsaWNhdGlvbjwvdGV4dD4KICA8cmVjdCB4PSIxNjQiIHk9IjQ2NiIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyNCIgcng9IjEyIiBmaWxsPSIjRTNGNEU4Ii8+CiAgPHRleHQgeD0iMjE0IiB5PSI0ODIiIGZvbnQtc2l6ZT0iMTIiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiMwRTdBMzQiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnVuY2hhbmdlZDwvdGV4dD4KCiAgPGxpbmUgeDE9IjM0OCIgeTE9IjQ2MyIgeDI9IjQyNCIgeTI9IjQ2MyIgc3Ryb2tlPSIjMEU3QTM0IiBzdHJva2Utd2lkdGg9IjEuNiIgbWFya2VyLWVuZD0idXJsKCNhcnJvd0dyZWVuKSIvPgogIDx0ZXh0IHg9IjM4NiIgeT0iNDUwIiBmb250LXNpemU9IjExLjUiIGZpbGw9IiMwRTdBMzQiIHRleHQtYW5jaG9yPSJtaWRkbGUiPnNhbWU8L3RleHQ+CiAgPHRleHQgeD0iMzg2IiB5PSI0NjUiIGZvbnQtc2l6ZT0iMTEuNSIgZmlsbD0iIzBFN0EzNCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+cmVxdWVzdDwvdGV4dD4KCiAgPCEtLSBhZGFwdGVyIC0tPgogIDxyZWN0IHg9IjQzMiIgeT0iNDE2IiB3aWR0aD0iMjUyIiBoZWlnaHQ9Ijk0IiByeD0iMTAiIGZpbGw9IiMwRTdBMzQiLz4KICA8dGV4dCB4PSI1NTgiIHk9IjQ1MiIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Rmx1eiBBUEkgQWRhcHRlcjwvdGV4dD4KICA8dGV4dCB4PSI1NTgiIHk9IjQ3NiIgZm9udC1zaXplPSIxMyIgZmlsbD0iI0I3RThDNiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+dHJhbnNsYXRlcyBpbiwgdHJhbnNsYXRlcyBiYWNrPC90ZXh0PgoKICA8bGluZSB4MT0iNjkyIiB5MT0iNDYzIiB4Mj0iNzY4IiB5Mj0iNDYzIiBzdHJva2U9IiMwRTdBMzQiIHN0cm9rZS13aWR0aD0iMS42IiBtYXJrZXItZW5kPSJ1cmwoI2Fycm93R3JlZW4pIi8+CgogIDwhLS0gZmx1eiBzdXBwbHkgLS0+CiAgPHJlY3QgeD0iNzc2IiB5PSI0MTYiIHdpZHRoPSIyNTIiIGhlaWdodD0iOTQiIHJ4PSIxMCIgZmlsbD0iI0Y0RjFFQSIgc3Ryb2tlPSIjREREOENDIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8dGV4dCB4PSI5MDIiIHk9IjQ1MiIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzE0MTQwRiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Rmx1eiBnaWZ0IGNhcmQgc3VwcGx5PC90ZXh0PgogIDx0ZXh0IHg9IjkwMiIgeT0iNDc2IiBmb250LXNpemU9IjEzIiBmaWxsPSIjNkI2QjYwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5GbHV6IHJhdGVzPC90ZXh0PgoKICA8IS0tID09PT09PT09PT09PSBGT09URVI6IHdoYXQgeW91IGNoYW5nZSA9PT09PT09PT09PT0gLS0+CiAgPHRleHQgeD0iNjAiIHk9IjU5NiIgZm9udC1zaXplPSIxMyIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iIzlBOTY4QSIgbGV0dGVyLXNwYWNpbmc9IjEuMiI+QUxMIFlPVSBDSEFOR0U8L3RleHQ+CgogIDxyZWN0IHg9IjYwIiB5PSI2MDgiIHdpZHRoPSIzMzYiIGhlaWdodD0iMzYiIHJ4PSI4IiBmaWxsPSIjRkZGRkZGIiBzdHJva2U9IiNFN0UzRDkiLz4KICA8dGV4dCB4PSI3OCIgeT0iNjMxIiBmb250LXNpemU9IjEzLjUiIGZpbGw9IiMxNDE0MEYiPjx0c3BhbiBmb250LXdlaWdodD0iNjAwIj4xLjwvdHNwYW4+ICBUaGUgYmFzZSBVUkw8L3RleHQ+CgogIDxyZWN0IHg9IjQyMiIgeT0iNjA4IiB3aWR0aD0iMzM2IiBoZWlnaHQ9IjM2IiByeD0iOCIgZmlsbD0iI0ZGRkZGRiIgc3Ryb2tlPSIjRTdFM0Q5Ii8+CiAgPHRleHQgeD0iNDQwIiB5PSI2MzEiIGZvbnQtc2l6ZT0iMTMuNSIgZmlsbD0iIzE0MTQwRiI+PHRzcGFuIGZvbnQtd2VpZ2h0PSI2MDAiPjIuPC90c3Bhbj4gIFRoZSBBdXRob3JpemF0aW9uIGhlYWRlcjwvdGV4dD4KCiAgPHJlY3QgeD0iNzg0IiB5PSI2MDgiIHdpZHRoPSIzMzYiIGhlaWdodD0iMzYiIHJ4PSI4IiBmaWxsPSIjRkZGRkZGIiBzdHJva2U9IiNFN0UzRDkiLz4KICA8dGV4dCB4PSI4MDIiIHk9IjYzMSIgZm9udC1zaXplPSIxMy41IiBmaWxsPSIjMTQxNDBGIj48dHNwYW4gZm9udC13ZWlnaHQ9IjYwMCI+My48L3RzcGFuPiAgWW91ciBicmFuZCBpZGVudGlmaWVyczwvdGV4dD4KPC9zdmc+Cg==)

Think of a travel plug adapter. The appliance does not change. The wall socket does not change. Something in between makes the two fit.

## How the mapping works

Your request arrives shaped like the vendor's. The adapter translates the route and the fields into the equivalent Fluz operation, executes it against Fluz supply, then translates the result back into the response shape your code already expects.

<img src="https://mintcdn.com/fluz-dd3e0eaa/ntRBNWQmiqBrvQt4/images/fluz-api-adapter-technical.svg?fit=max&auto=format&n=ntRBNWQmiqBrvQt4&q=85&s=75f36d0c5db48f78ea6ee25b2df40848" alt="Request and response mapping through the Fluz API Adapter" width="1180" height="800" data-path="images/fluz-api-adapter-technical.svg" />

### Operation mapping

Each connector page publishes the full table for its vendor. Tango Card, as an example:

| Operation                 | Your existing call                 | Fluz endpoint                      |
| :------------------------ | :--------------------------------- | :--------------------------------- |
| Create order              | `POST /v2/orders/`                 | `POST /v2/orders/`                 |
| Get order                 | `GET /v2/orders/:referenceOrderID` | `GET /v2/orders/:referenceOrderID` |
| Get all orders            | `GET /v2/orders`                   | `GET /v2/orders`                   |
| Get balance, all accounts | `GET /v2/accounts`                 | `GET /v2/accounts`                 |
| Get balance, one account  | `GET /v2/accounts/:accountId`      | `GET /v2/accounts/:id`             |

Paths and verbs are preserved deliberately. The point of the adapter is that your routing layer does not have to know anything changed.

### Field mapping

Tango Card again, as an example:

| Field in your request | What Fluz does with it                                                                                                         |
| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| `utid` / brand code   | **Resolved against the Fluz catalog. See the warning below**                                                                   |
| `amount`              | Purchase amount                                                                                                                |
| `externalRefID`       | Accepted. Correlate the order using `referenceOrderID` from the response                                                       |
| `accountIdentifier`   | Orders are funded from the account your API key is issued for. Request one key per account if you split funding across several |
| `customerIdentifier`  | Kept for compatibility with your existing request shape                                                                        |

<Callout icon="📘">
  **Tango and InComm return complete results synchronously.** The call does not return until the purchase has finished, which can take up to 150 seconds, so set your client's read timeout above that. Runa is asynchronous by default: it returns a reference ID immediately and you read the order once it completes. Send `X-Execution-Mode: sync` to wait for the full result instead. Both are covered in [Connector behaviour](/connector-behaviour).
</Callout>

### Per-vendor request constraints

Your vendor's request shape is accepted as it stands, but a few values are fixed. Email delivery to the recipient must be off, orders are single-recipient and single-product, and Runa orders must be funded from the account balance in USD. A request that breaks one of these is rejected.

The full list is on [Connector behaviour](/connector-behaviour). Read it alongside your connector page's request examples before you cut over.

## What changes, and what does not

|                                                      | Before           | After                                 |
| :--------------------------------------------------- | :--------------- | :------------------------------------ |
| Request shapes                                       | Vendor's schema  | **Unchanged**                         |
| Successful response shapes                           | Vendor's schema  | **Unchanged**                         |
| Base URL                                             | Vendor's host    | Fluz adapter host                     |
| Credential                                           | Vendor's key     | Your Fluz API key                     |
| Order status values                                  | Vendor's         | **Fluz's. Update your status checks** |
| Error responses                                      | Vendor's schema  | **Fluz's envelope**                   |
| Brand identifiers (`utid`, brand slug, product code) | Vendor's catalog | **Fluz's catalog — must be remapped** |
| Rates and discounts                                  | Vendor's         | Fluz's                                |
| Supplier of record, invoicing, reconciliation        | Vendor           | Fluz                                  |

<Callout icon="⚠️">
  **Brand identifiers are the one thing you must change.** The adapter does not translate the vendor's product catalog into Fluz's. A Tango `utid` of `U561593` is not the same card as a Fluz `utid` of `1800FL-US`. Map your brand list against the Fluz catalog before you cut over, or your orders will succeed and deliver the wrong card.
</Callout>

## Switching in three steps

<Steps>
  <Step title="Change the base URL">
    Point your existing client at the Fluz adapter host for your vendor. For Tango Card that is `https://api-adapter.staging.fluzapp.com/tangocard` in staging and `https://api-adapter.fluzapp.com/tangocard` in production, instead of `https://integration-api.tangocard.com/rass`. Both hosts are listed on every connector page.
  </Step>

  <Step title="Change the Authorization header">
    Every connector uses HTTP Basic authentication with your Fluz API key: `Authorization: Basic <FLUZ-API-Key>`. Drop the vendor's username and password.
  </Step>

  <Step title="Remap your brand identifiers and send the same calls">
    Swap your vendor product codes for their Fluz equivalents. Everything else — paths, verbs, request bodies, response parsing — stays as it is.
  </Step>
</Steps>

## Available connectors

<CardGroup cols={3}>
  <Card title="Gift cards" icon="🎁" href="#pick-your-vendor">
    **Documented and available.** Tango Card, Runa, InComm — each with a published endpoint comparison and request examples.
  </Card>

  <Card title="Payment processing" icon="💳">
    **Beta.** Stripe, Worldpay, TSYS, Checkout, Braintree, TabaPay, Finix, Authorize.net, Sola / Cardknox. Contact sales for early access and endpoint details.
  </Card>

  <Card title="Wallet withdrawals" icon="💸">
    **Beta.** Venmo and PayPal. Contact sales for early access and endpoint details.
  </Card>
</CardGroup>

Gift card connectors are the mature family and the only one with published operation-level documentation today. Each gift card connector page lists the exact operations that are implemented, alongside the original vendor endpoint they correspond to.

## Coverage is per-operation

<Callout icon="📘">
  **The adapter implements the operations listed on each connector page, and only those.** Each one is a purpose-built translation for that operation rather than a blanket pass-through.
</Callout>

If an operation does not appear in the endpoint comparison table on a connector page, it has not been built yet.

Before you begin, list every vendor endpoint your integration calls today and check each one against the connector page. If something you depend on is missing, tell your Fluz contact before you start — most gaps are small additions, but they need to be scoped.

## Connectors are separate from the Fluz GraphQL API

This trips people up, so it is worth stating plainly. Fluz has two distinct developer surfaces, and they do not share credentials.

|                   | API Connectors                           | Fluz API                                              |
| :---------------- | :--------------------------------------- | :---------------------------------------------------- |
| Protocol          | REST, shaped like the vendor             | GraphQL                                               |
| Authentication    | Basic, with a Fluz API key               | Bearer, with a User Access Token                      |
| Credential source | Issued by Fluz on request                | Self-serve in the Developers section of the dashboard |
| Scope             | The operations your old vendor supported | The full Fluz platform                                |

<Callout icon="🔑">
  **Connector keys are not dashboard keys.** The API key you generate in the Developers section of the Fluz dashboard will not authenticate against a connector, and vice versa. Connector credentials are provisioned by Fluz. Contact your Fluz representative to request one.
</Callout>

## When to use a connector, and when not to

<CardGroup cols={2}>
  <Card title="Use a connector when" icon="⚡">
    You have a working vendor integration in production, you want Fluz supply and Fluz rates quickly, and you do not want to spend an engineering cycle on the switch. Time to live is measured in days.
  </Card>

  <Card title="Use the Fluz API when" icon="🧩">
    You want the full platform: virtual cards, wallets and spend accounts, transaction data, webhooks, cashback rates, offer quoting, and the complete merchant catalog. None of that is reachable through a vendor-shaped interface.
  </Card>
</CardGroup>

A common path is to start with a connector to get volume flowing, then migrate to the [Fluz API](/overview) as you adopt capabilities the old vendor never had.

## Getting access

API Connectors are currently offered as a beta program. Contact your Fluz representative or email sales to request connector credentials and confirm operation coverage for your vendor.

## Pick your vendor

<CardGroup cols={3}>
  <Card title="Tango Card" icon="🔌" href="/tango">
    Orders and account balances. Basic auth, synchronous responses.
  </Card>

  <Card title="Runa" icon="🔌" href="/runa">
    Orders and currency balances. Synchronous and asynchronous execution modes.
  </Card>

  <Card title="InComm" icon="🔌" href="/in-comm">
    Immediate orders, order detail, card retrieval, and program balance.
  </Card>
</CardGroup>
