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

# Activation, cadence and overview

> Read your account's Connect activation, configure the payout cadence and read your activity overview.

Three **singleton** resources, keyed by your own account: there is nothing to identify in the
URL, the target comes from your API key.

## Base URL

```bash theme={null}
https://pay.sandbox.yabetoopay.com   # Sandbox (sk_test_ key)
https://pay.api.yabetoopay.com       # Production (sk_live_ key)
```

The paths below are relative to this base. Both hosts serve the same endpoints.

## The `connect_activation` object

<ResponseField name="id" type="string">Your account, `acct_…`.</ResponseField>
<ResponseField name="object" type="string">Always `connect_activation`.</ResponseField>

<ResponseField name="connect_mode" type="string | null">
  `marketplace`, `platform`, or `null` if Connect is not activated. **Immutable once set.**
</ResponseField>

## The `connect_payout_schedule` object

<ResponseField name="object" type="string">Always `connect_payout_schedule`.</ResponseField>
<ResponseField name="account" type="string">Your account, `acct_…`.</ResponseField>
<ResponseField name="cadence" type="string | null">`daily`, `weekly`, or `null`.</ResponseField>
<ResponseField name="enabled" type="boolean">Whether the automatic cadence is active.</ResponseField>

***

## Read your activation

```bash theme={null}
GET /v1/connect/activations
```

Always returns **200**, never 404: "not activated yet" is a first-class state.

```json 200 theme={null}
{
  "id": "acct_01HZMARKETPLACE00000000000",
  "object": "connect_activation",
  "connect_mode": null
}
```

***

## Activate Connect

Activation has no API surface: it is done from the
[merchant dashboard](https://app.yabetoo.com/dashboard/connect), **Connect** section.

<Warning>
  `connect_mode` is **immutable** once set. See [Activate Connect](/en/connect/activate).
</Warning>

***

## Read your payout cadence

```bash theme={null}
GET /v1/connect/payout_schedule
```

Always returns **200**, with `cadence: null` and `enabled: false` when nothing is configured.

***

## Configure the payout cadence

```bash theme={null}
POST /v1/connect/payout_schedule
```

| Parameter | Type      | Required | Description         |
| --------- | --------- | -------- | ------------------- |
| `cadence` | `string`  | Yes      | `daily` or `weekly` |
| `enabled` | `boolean` | No       | `true` by default   |

### Returns

The `connect_payout_schedule` object, as **`200`**, not `201`: the resource is your account, it
already exists. Posting again **replaces** the configuration.

```json 200 theme={null}
{
  "object": "connect_payout_schedule",
  "account": "acct_01HZMARKETPLACE00000000000",
  "cadence": "weekly",
  "enabled": true
}
```

<Note>
  This endpoint is naturally idempotent: it has neither an `Idempotency-Key` nor rate limiting.
</Note>

***

## Read your activity overview

```bash theme={null}
GET /v1/connect/overview
```

The gross volume charged on behalf of your vendors, your new vendors, and the leaderboards —
over a period, compared with the previous one. This is the data behind the Connect screen of
the dashboard.

| Parameter     | Values                             | Default         | Description                                                                           |
| ------------- | ---------------------------------- | --------------- | ------------------------------------------------------------------------------------- |
| `range`       | `30d`, `6m`, `12m`                 | `12m`           | Current window: 30 calendar days, or 6/12 calendar months                             |
| `granularity` | `day`, `week`, `month`             | `month`         | Series step. `day` is only available on `30d`, `month` only on `6m`/`12m`             |
| `comparison`  | `previous_period`, `previous_year` | `previous_year` | Reference period: the contiguous previous window, or the same window one year earlier |

### Returns

```json 200 theme={null}
{
  "object": "connect_overview",
  "currency": "XAF",
  "period": {
    "range": "12m",
    "granularity": "month",
    "comparison": "previous_year",
    "from": "2025-10-01T00:00:00.000Z",
    "to": "2026-09-17T00:00:00.000Z",
    "previous_from": "2024-10-01T00:00:00.000Z",
    "previous_to": "2025-09-17T00:00:00.000Z"
  },
  "gross_volume": {
    "total": 1250000,
    "previous_total": 980000,
    "points": [{ "date": "2025-10-01T00:00:00.000Z", "value": 90000, "previous": 71000 }]
  },
  "new_accounts": {
    "total": 12,
    "previous_total": 9,
    "points": [{ "date": "2025-10-01T00:00:00.000Z", "value": 1, "previous": 0 }]
  },
  "top_volume": [
    { "account": "acct_01HZVENDOR0000000000000000", "name": "Boutique Ada", "country": "CG",
      "value": 420000, "previous_value": 310000, "delta": 35.48 }
  ],
  "top_growth": []
}
```

<ResponseField name="gross_volume" type="object">
  Gross amount of intents **captured or refunded** on behalf of a vendor (gross before refund),
  in your account's currency. `points` has one entry per `granularity` step, with the current
  value and the reference period's value **folded** onto the same step.
</ResponseField>

<ResponseField name="new_accounts" type="object">
  Vendors created over the period, same shape as `gross_volume`. Deleted vendors are excluded.
</ResponseField>

<ResponseField name="top_volume / top_growth" type="array">
  Up to **4** vendors, ranked by volume or by growth. `delta` is a percentage; **`null`** when the
  reference period is empty — never a made-up `+100%`.
</ResponseField>

<Note>
  An incompatible `range × granularity` pair (for example `30d` × `month`) returns **422** with
  `errors[0].rule = "compatible_with_range"`. Dates are UTC.
</Note>

***

## Errors

| Status | Code                            | Cause                                                                                            |
| ------ | ------------------------------- | ------------------------------------------------------------------------------------------------ |
| `400`  | n/a                             | `Yabetoo-Account` header sent                                                                    |
| `401`  | `E_UNAUTHORIZED`                | Key missing or invalid                                                                           |
| `422`  | n/a                             | `connect_mode` or `cadence` missing or outside the enumeration. The body carries `meta.choices`. |
| `422`  | `rule: "compatible_with_range"` | `granularity` unavailable for this `range` (overview)                                            |
| `503`  | `E_SSO_UNAVAILABLE`             | Identity service unavailable                                                                     |
