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

# Partner Connections

> View and update partner-owned connections.

All endpoints require partner JWT:

```http theme={null}
Authorization: Bearer <partner_jwt>
```

Path scope:

```http theme={null}
/api/partners/:partnerId/connections
```

Backend enforces that path `partnerId` must equal authenticated user's partner ID.

## What is Connection

A connection is partner-specific API access configuration. Key fields:

* `code`: numeric connection code used in core API requests (`settings.access.code`)
* `apiType`: `public | b2b | cug | mobile`
* `connectionType`: `direct | tgx | metasearch`
* `rateLimit`, `rateLimitWindowMs`
* `netMarkups`
* `currentInUse`
* `notificationEmail`

## 1) List My Partner Connections

```http theme={null}
GET /api/partners/:partnerId/connections
```

## 2) Get One Partner Connection

```http theme={null}
GET /api/partners/:partnerId/connections/:id
```

## 3) Update Connection Notification Email

```http theme={null}
PUT /api/partners/:partnerId/connections/:id/notification-email
```

Request body:

```json theme={null}
{
  "notificationEmail": "alerts@partner.com"
}
```

Field validation:

* `notificationEmail`: optional, must be valid email if provided

## Example List Response

```json theme={null}
{
  "data": [
    {
      "id": "67ab66acd90f8d7bf44ff005",
      "code": 10001,
      "apiType": "b2b",
      "rateLimit": 60,
      "currentInUse": true,
      "partnerId": "67a84f588277d6f3bc5ecfff",
      "notificationEmail": "alerts@partner.com",
      "createdAt": "2026-01-18T05:10:10.000Z",
      "updatedAt": "2026-02-11T18:51:09.000Z"
    }
  ],
  "message": "success"
}
```

## Common Errors

* `403 You can only access connections for your own partner`
* `403 This connection does not belong to your partner`
* `404 Connection not found`
