# Partners and connections

A **partner** is a company that builds software for franchise brands\: a CRM, a franchise portal, an operations
platform. A partner owns no data in Rikor. It reaches a brand only through a **connection** the brand authorized,
the same model as an OAuth app or a Stripe Connect platform.

## How a connection is made

1. You sign the partner agreement and DPA with Rikor; Rikor issues your partner keys.
2. A brand you serve gives its written consent to share its data with you.
3. Rikor records the connection, with who consented and when. Your keys reach that brand's franchisees within a minute.
4. The brand can withdraw consent at any time. The connection is then revoked, and the brand reads as not found.

## Reading your connections

`GET /v1/connections` lists every brand connected to you, including revoked ones (`status` says which)\:

```json
{
  "object": "list",
  "data": [
    {
      "object": "connection",
      "id": "6721aa…",
      "franchisor_id": "65f0c2a1e4b0a1b2c3d4e5f6",
      "franchisor_name": "Northside Fitness",
      "status": "active",
      "scopes": ["compliance:read", "franchisees:map"],
      "since": "2026-10-28T15:30:00.000Z",
      "external_id": "acct_88213"
    }
  ],
  "has_more": false,
  "next_cursor": null,
  "as_of": "2026-10-29T17:02:11.000Z"
}
```

Brand and platform keys get an empty list.

## Your ids for brands

Partners can store their own id for each connected brand, then filter `GET /v1/franchisors?external_id=` by it.
Franchisee rows also carry `brand_external_id`, the brand's own id for the location when the brand set one. See
[Map your own ids](/guides/external-ids).
