# Zilfu

- **OpenAPI Version:** `3.1.0`
- **API Version:** `0.0.1`

## Servers

- **URL:** `https://zilfu.app/api`
  - **Description:** Production

## Operations

### List accounts

- **Method:** `GET`
- **Path:** `/spaces/{space}/accounts`
- **Tags:** Account

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 Array of \`AccountResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string`

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`profile_url` (required)**

    `string`

  - **`quota_parked_at` (required)**

    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

  - **`social` (required)**

    `string`

  - **`unavailable_capabilities` (required)**

    `array` — Features unavailable on this connection until it is reconnected.

    **Items:**

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "social": "",
      "display_name": "",
      "handler": "",
      "profile_url": "",
      "avatar": null,
      "is_active": true,
      "quota_parked_at": "",
      "disconnected_at": "",
      "unavailable_capabilities": []
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List Pinterest boards

- **Method:** `GET`
- **Path:** `/spaces/{space}/accounts/{account}/boards`
- **Tags:** Account

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `account` required

- **In:** `path`

The account ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`description` (required)**

    `string | null`

  - **`id` (required)**

    `string`

  - **`image` (required)**

    `string | null`

  - **`name` (required)**

    `string`

**Example:**

```json
{
  "data": [
    {
      "id": "",
      "name": "",
      "description": null,
      "image": null
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Activate or deactivate an account

- **Method:** `PATCH`
- **Path:** `/spaces/{space}/accounts/{account}`
- **Tags:** Account

Deactivating parks the account: it stops publishing and disappears from the composer and the bio page, while the connection itself, its posts and its analytics stay intact. Activating one again is refused when your plan has no free slot left, since a parked account still occupies one.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `account` required

- **In:** `path`

The account ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`is_active` (required)**

  `boolean` — Whether the account is active. An inactive account is parked, not disconnected: it publishes nothing and disappears from the composer and the bio page, while its connection, posts and analytics survive untouched.

**Example:**

```json
{
  "is_active": true
}
```

#### Responses

##### Status: 200 \`AccountResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string`

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`profile_url` (required)**

    `string`

  - **`quota_parked_at` (required)**

    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

  - **`social` (required)**

    `string`

  - **`unavailable_capabilities` (required)**

    `array` — Features unavailable on this connection until it is reconnected.

    **Items:**

**Example:**

```json
{
  "data": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": "",
    "profile_url": "",
    "avatar": null,
    "is_active": true,
    "quota_parked_at": "",
    "disconnected_at": "",
    "unavailable_capabilities": []
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Disconnect an account

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/accounts/{account}`
- **Tags:** Account

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `account` required

- **In:** `path`

The account ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List analytics summaries

- **Method:** `GET`
- **Path:** `/spaces/{space}/analytics`
- **Tags:** Analytics

One compact row per account in the space — never merged — so a caller can see each account's collection health before drilling into one of them. Defaults to the last 7 days in the organization timezone.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `from`

- **In:** `query`

`string`, format: `date-time`

##### `to`

- **In:** `query`

`string`, format: `date-time`

#### Responses

##### Status: 200 Array of \`AccountReportSummaryResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`account` (required)**

    `object` — The account this row describes.

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string | null`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string | null`

    - **`id` (required)**

      `integer`

    - **`social` (required)**

      `string`

  - **`collection` (required)**

    `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

    - **`cadence_hours` (required)**

      `integer`

    - **`last_collected_at` (required)**

      `string | null`

    - **`polling_window_days` (required)**

      `integer`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`state` (required)**

      `string`

  - **`coverage` (required)**

    `object | null` — How many posts and days the range actually rests on.

    - **`days_in_range` (required)**

      `integer`

    - **`days_with_posts` (required)**

      `integer`

    - **`posts_imported` (required)**

      `integer`

    - **`posts_in_range` (required)**

      `integer`

  - **`headline_metric` (required)**

    `string | null` — The key of the metric this platform leads with, if any.

  - **`interactions` (required)**

    `object | null` — The account's interaction score, whether the platform reports one natively, and what this range's score was built from.

    - **`change_pct` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`components` (required)**

      `array`

      **Items:**

      `string`

    - **`definition` (required)**

      `string`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`native` (required)**

      `boolean`

    - **`previous` (required)**

      `integer | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`source` (required)**

      `string`

    - **`status` (required)**

      `string`

    - **`value` (required)**

      `integer | null`

  - **`rates` (required)**

    `array` — Declared rates, each naming what it divided by.

    **Items:**

    - **`basis` (required)**

      `string`

    - **`change_pp` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`definition` (required)**

      `string`

    - **`denominator_key` (required)**

      `string`

    - **`denominator_label` (required)**

      `string | null`

    - **`denominator_unit` (required)**

      `string | null`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`numerator_key` (required)**

      `string`

    - **`per_post_mean` (required)**

      `number | null`

    - **`previous` (required)**

      `number | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`status` (required)**

      `string`

    - **`value` (required)**

      `number | null`

  - **`totals` (required)**

    `array` — Summed post metrics for the range, each against the previous window.

    **Items:**

    - **`change_pct` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`previous` (required)**

      `integer | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`status` (required)**

      `string`

    - **`unit` (required)**

      `string`

    - **`value` (required)**

      `integer | null`

**Example:**

```json
{
  "data": [
    {
      "account": {
        "id": 1,
        "social": "",
        "display_name": "",
        "handler": null,
        "avatar": null,
        "disconnected_at": null
      },
      "collection": {
        "state": "",
        "reason": null,
        "remedy": null,
        "last_collected_at": null,
        "cadence_hours": 1,
        "polling_window_days": 1
      },
      "headline_metric": null,
      "totals": [
        {
          "key": "",
          "label": "",
          "unit": "",
          "value": null,
          "previous": null,
          "change_pct": null,
          "change_unit": "",
          "status": "",
          "reason": null,
          "remedy": null
        }
      ],
      "interactions": {
        "key": "",
        "label": "",
        "definition": "",
        "native": true,
        "source": "",
        "components": [
          ""
        ],
        "value": null,
        "previous": null,
        "change_pct": null,
        "change_unit": "",
        "status": "",
        "reason": null,
        "remedy": null
      },
      "rates": [
        {
          "key": "",
          "label": "",
          "definition": "",
          "numerator_key": "",
          "denominator_key": "",
          "denominator_label": null,
          "denominator_unit": null,
          "basis": "",
          "value": null,
          "per_post_mean": null,
          "previous": null,
          "change_pp": null,
          "change_unit": "",
          "status": "",
          "reason": null,
          "remedy": null
        }
      ],
      "coverage": {
        "posts_in_range": 1,
        "posts_imported": 1,
        "days_in_range": 1,
        "days_with_posts": 1
      }
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Get an account's analytics report

- **Method:** `GET`
- **Path:** `/spaces/{space}/accounts/{account}/analytics`
- **Tags:** Analytics

The full report for one connected account: its metric catalogue, totals, interaction score, rates, publish-date series, audience history and best times. Individual posts have their own endpoint. Defaults to the last 7 days in the organization timezone.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `account` required

- **In:** `path`

The account ID

`integer`

##### `from`

- **In:** `query`

`string`, format: `date-time`

##### `to`

- **In:** `query`

`string`, format: `date-time`

#### Responses

##### Status: 200 \`AccountReportResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`account` (required)**

    `object` — The account the report describes.

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string | null`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string | null`

    - **`id` (required)**

      `integer`

    - **`social` (required)**

      `string`

  - **`audience` (required)**

    `object` — Account-level history — followers and every other declared account metric.

    - **`metrics` (required)**

      `array`

      **Items:**

      `string`

    - **`points` (required)**

      `array`

      **Items:**

      - **`date` (required)**

        `string`

      - **`values` (required)**

        `object`

    - **`supported` (required)**

      `boolean`

    - **`change`**

      `object`

    - **`labels`**

      `object`

    - **`latest`**

      `object | null`

      - **`date` (required)**

        `string`

      - **`values` (required)**

        `object`

  - **`basis` (required)**

    `object | null` — What the numbers are counted on, and whether the comparison cohort has had time to mature.

    - **`comparison_immature` (required)**

      `boolean`

    - **`note` (required)**

      `string`

    - **`series` (required)**

      `string`

    - **`values` (required)**

      `string`

  - **`collection` (required)**

    `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

    - **`cadence_hours` (required)**

      `integer`

    - **`last_collected_at` (required)**

      `string | null`

    - **`polling_window_days` (required)**

      `integer`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`state` (required)**

      `string`

  - **`contract` (required)**

    `string` — The payload contract version, e.g. \`analytics.v2\`. The URL is never versioned.

  - **`coverage` (required)**

    `object | null` — How many posts and days the range actually rests on.

    - **`days_in_range` (required)**

      `integer`

    - **`days_with_posts` (required)**

      `integer`

    - **`posts_imported` (required)**

      `integer`

    - **`posts_in_range` (required)**

      `integer`

  - **`headline_metric` (required)**

    `string | null` — The key of the metric this platform leads with, if any.

  - **`interactions` (required)**

    `object | null` — The account's interaction score, whether the platform reports one natively, and what this range's score was built from.

    - **`change_pct` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`components` (required)**

      `array`

      **Items:**

      `string`

    - **`definition` (required)**

      `string`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`native` (required)**

      `boolean`

    - **`previous` (required)**

      `integer | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`source` (required)**

      `string`

    - **`status` (required)**

      `string`

    - **`value` (required)**

      `integer | null`

  - **`metrics` (required)**

    `array` — Every metric this platform declares, with its definition, unit and current health.

    **Items:**

    - **`accumulation` (required)**

      `string`

    - **`chartable` (required)**

      `boolean`

    - **`definition` (required)**

      `string`

    - **`headline` (required)**

      `boolean`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`role` (required)**

      `string`

    - **`scope` (required)**

      `string`

    - **`status` (required)**

      `string`

    - **`unit` (required)**

      `string`

    - **`window_days` (required)**

      `integer | null`

  - **`range` (required)**

    `object` — The reporting window, its timezone and the preceding comparison window.

    - **`days` (required)**

      `integer`

    - **`from` (required)**

      `string`

    - **`previous_from` (required)**

      `string`

    - **`previous_to` (required)**

      `string`

    - **`timezone` (required)**

      `string`

    - **`to` (required)**

      `string`

  - **`rates` (required)**

    `array` — Declared rates, each naming what it divided by.

    **Items:**

    - **`basis` (required)**

      `string`

    - **`change_pp` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`definition` (required)**

      `string`

    - **`denominator_key` (required)**

      `string`

    - **`denominator_label` (required)**

      `string | null`

    - **`denominator_unit` (required)**

      `string | null`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`numerator_key` (required)**

      `string`

    - **`per_post_mean` (required)**

      `number | null`

    - **`previous` (required)**

      `number | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`status` (required)**

      `string`

    - **`value` (required)**

      `number | null`

  - **`series` (required)**

    `object | null` — The daily publish-date cohort series.

    - **`basis` (required)**

      `string`

    - **`interval` (required)**

      `string`

    - **`metrics` (required)**

      `array`

      **Items:**

      `string`

    - **`note` (required)**

      `string`

    - **`points` (required)**

      `array`

      **Items:**

      - **`date` (required)**

        `string`

      - **`posts` (required)**

        `integer`

      - **`values` (required)**

        `object | null`

    - **`timezone` (required)**

      `string`

    - **`values` (required)**

      `string`

  - **`totals` (required)**

    `array` — Summed post metrics for the range, each against the previous window.

    **Items:**

    - **`change_pct` (required)**

      `number | null`

    - **`change_unit` (required)**

      `string`

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`previous` (required)**

      `integer | null`

    - **`reason` (required)**

      `string | null`

    - **`remedy` (required)**

      `string | null`

    - **`status` (required)**

      `string`

    - **`unit` (required)**

      `string`

    - **`value` (required)**

      `integer | null`

**Example:**

```json
{
  "data": {
    "contract": "",
    "account": {
      "id": 1,
      "social": "",
      "display_name": "",
      "handler": null,
      "avatar": null,
      "disconnected_at": null
    },
    "range": {
      "from": "",
      "to": "",
      "timezone": "",
      "days": 1,
      "previous_from": "",
      "previous_to": ""
    },
    "basis": {
      "series": "",
      "values": "",
      "note": "",
      "comparison_immature": true
    },
    "collection": {
      "state": "",
      "reason": null,
      "remedy": null,
      "last_collected_at": null,
      "cadence_hours": 1,
      "polling_window_days": 1
    },
    "coverage": {
      "posts_in_range": 1,
      "posts_imported": 1,
      "days_in_range": 1,
      "days_with_posts": 1
    },
    "metrics": [
      {
        "key": "",
        "label": "",
        "definition": "",
        "unit": "",
        "accumulation": "",
        "scope": "",
        "role": "",
        "window_days": null,
        "headline": true,
        "chartable": true,
        "status": "",
        "reason": null,
        "remedy": null
      }
    ],
    "headline_metric": null,
    "totals": [
      {
        "key": "",
        "label": "",
        "unit": "",
        "value": null,
        "previous": null,
        "change_pct": null,
        "change_unit": "",
        "status": "",
        "reason": null,
        "remedy": null
      }
    ],
    "interactions": {
      "key": "",
      "label": "",
      "definition": "",
      "native": true,
      "source": "",
      "components": [
        ""
      ],
      "value": null,
      "previous": null,
      "change_pct": null,
      "change_unit": "",
      "status": "",
      "reason": null,
      "remedy": null
    },
    "rates": [
      {
        "key": "",
        "label": "",
        "definition": "",
        "numerator_key": "",
        "denominator_key": "",
        "denominator_label": null,
        "denominator_unit": null,
        "basis": "",
        "value": null,
        "per_post_mean": null,
        "previous": null,
        "change_pp": null,
        "change_unit": "",
        "status": "",
        "reason": null,
        "remedy": null
      }
    ],
    "series": {
      "basis": "",
      "values": "",
      "note": "",
      "interval": "",
      "timezone": "",
      "metrics": [
        ""
      ],
      "points": [
        {
          "date": "",
          "posts": 1,
          "values": null
        }
      ]
    },
    "audience": {
      "supported": true,
      "metrics": [
        ""
      ],
      "points": [
        {
          "date": "",
          "values": {
            "additionalProperty": 1
          }
        }
      ],
      "labels": {
        "additionalProperty": ""
      },
      "latest": {
        "date": "",
        "values": {
          "additionalProperty": 1
        }
      },
      "change": {
        "additionalProperty": 1
      }
    }
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### List an account's posts with their metrics

- **Method:** `GET`
- **Path:** `/spaces/{space}/accounts/{account}/analytics/posts`
- **Tags:** Analytics

Every post the account published in the range, paginated, one row per post, with a column for each metric the platform declares. Order it by `sort` — `published_at`, `interactions` or any declared metric key — and `dir`; a key this account does not declare is a 422 naming the ones it does. Defaults to the last 7 days in the organization timezone, newest first, 20 per page.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `account` required

- **In:** `path`

The account ID

`integer`

##### `from`

- **In:** `query`

`string`, format: `date-time`

##### `to`

- **In:** `query`

`string`, format: `date-time`

##### `sort`

- **In:** `query`

`string`

##### `dir`

- **In:** `query`

`string`, possible values: `"asc", "desc"`

##### `per_page`

- **In:** `query`

`integer`

##### `page`

- **In:** `query`

`integer`

#### Responses

##### Status: 200 \`AccountPostsResource\`

###### Content-Type: application/json

- **`account` (required)**

  `object` — The account whose posts these are.

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string | null`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`social` (required)**

    `string`

- **`collection` (required)**

  `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

  - **`cadence_hours` (required)**

    `integer`

  - **`last_collected_at` (required)**

    `string | null`

  - **`polling_window_days` (required)**

    `integer`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`state` (required)**

    `string`

- **`columns` (required)**

  `array` — The metric columns this platform declares, in catalogue order, each with its own health.

  **Items:**

  - **`definition` (required)**

    `string`

  - **`headline` (required)**

    `boolean`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`reason` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`unit` (required)**

    `string`

- **`contract` (required)**

  `string` — The payload contract version, e.g. \`analytics.v2\`. Shared with the report; the URL is never versioned.

- **`data` (required)**

  `array` — One row per post on this page.

  **Items:**

  - **`excerpt` (required)**

    `string`

  - **`imported` (required)**

    `boolean`

  - **`interactions` (required)**

    `object`

    - **`components` (required)**

      `object | null`

    - **`reason` (required)**

      `string | null`

    - **`source` (required)**

      `string`

    - **`status` (required)**

      `string`

    - **`total` (required)**

      `integer | null`

  - **`metrics` (required)**

    `object`

  - **`permalink` (required)**

    `string | null`

  - **`post_id` (required)**

    `integer`

  - **`published_at` (required)**

    `string | null`

  - **`thumbnail` (required)**

    `string | null`

- **`meta` (required)**

  `object` — Where this page sits in the range's posts.

  - **`current_page` (required)**

    `integer`

  - **`last_page` (required)**

    `integer`

  - **`per_page` (required)**

    `integer`

  - **`total` (required)**

    `integer`

- **`range` (required)**

  `object` — The window the posts were published in, and its timezone.

  - **`days` (required)**

    `integer`

  - **`from` (required)**

    `string`

  - **`previous_from` (required)**

    `string`

  - **`previous_to` (required)**

    `string`

  - **`timezone` (required)**

    `string`

  - **`to` (required)**

    `string`

- **`sort` (required)**

  `object` — The ordering that was applied, and every key this account can be ordered by.

  - **`direction` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`options` (required)**

    `array`

    **Items:**

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`reason` (required)**

      `string | null`

    - **`sortable` (required)**

      `boolean`

**Example:**

```json
{
  "contract": "",
  "account": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": null,
    "avatar": null,
    "disconnected_at": null
  },
  "range": {
    "from": "",
    "to": "",
    "timezone": "",
    "days": 1,
    "previous_from": "",
    "previous_to": ""
  },
  "collection": {
    "state": "",
    "reason": null,
    "remedy": null,
    "last_collected_at": null,
    "cadence_hours": 1,
    "polling_window_days": 1
  },
  "sort": {
    "key": "",
    "direction": "",
    "options": [
      {
        "key": "",
        "label": "",
        "sortable": true,
        "reason": null
      }
    ]
  },
  "columns": [
    {
      "key": "",
      "label": "",
      "definition": "",
      "unit": "",
      "headline": true,
      "status": "",
      "reason": null
    }
  ],
  "data": [
    {
      "post_id": 1,
      "published_at": null,
      "permalink": null,
      "imported": true,
      "excerpt": "",
      "thumbnail": null,
      "metrics": {
        "additionalProperty": {
          "value": null,
          "status": "",
          "reason": null
        }
      },
      "interactions": {
        "total": null,
        "source": "",
        "components": null,
        "status": "",
        "reason": null
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 1,
    "total": 1
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Create an API token

- **Method:** `POST`
- **Path:** `/api-tokens`
- **Tags:** ApiToken

#### Request Body

##### Content-Type: application/json

- **`name` (required)**

  `string`

**Example:**

```json
{
  "name": ""
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
null
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Revoke an API token

- **Method:** `DELETE`
- **Path:** `/api-tokens/{tokenId}`
- **Tags:** ApiToken

The API key itself cannot be revoked this way — rotate it instead, so the account is never left without one.

#### Parameters

##### `tokenId` required

- **In:** `path`

`string`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
null
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 An error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": "Rotate the API key instead of deleting it."
}
```

### List bio blocks

- **Method:** `GET`
- **Path:** `/spaces/{space}/bio/blocks`
- **Tags:** BioBlock

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 Array of items

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  `string`

**Example:**

```json
{
  "data": [
    ""
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Create a bio block

- **Method:** `POST`
- **Path:** `/spaces/{space}/bio/blocks`
- **Tags:** BioBlock

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`content` (required)**

  `array`

  **Items:**

  `string`

- **`type` (required)**

  `string`, possible values: `"link", "header", "social_icons", "text", "image", "embed"`

- **`is_visible`**

  `boolean`

**Example:**

```json
{
  "type": "link",
  "content": [
    ""
  ],
  "is_visible": true
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Update a bio block

- **Method:** `PUT`
- **Path:** `/spaces/{space}/bio/blocks/{block}`
- **Tags:** BioBlock

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `block` required

- **In:** `path`

The block ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`content`**

  `array`

  **Items:**

  `string`

- **`is_visible`**

  `boolean`

**Example:**

```json
{
  "content": [
    ""
  ],
  "is_visible": true
}
```

#### Responses

##### Status: 200 \`BioBlockResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`content` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_visible` (required)**

    `boolean`

  - **`sort_order` (required)**

    `integer`

  - **`type` (required)**

    `string`

  - **`embed`**

    `string`

  - **`image_url`**

    `string`

**Example:**

```json
{
  "data": {
    "id": 1,
    "type": "",
    "content": [],
    "sort_order": 1,
    "is_visible": true,
    "image_url": "",
    "embed": ""
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Delete a bio block

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/bio/blocks/{block}`
- **Tags:** BioBlock

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `block` required

- **In:** `path`

The block ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Reorder the bio page's content blocks

- **Method:** `POST`
- **Path:** `/spaces/{space}/bio/blocks/reorder`
- **Tags:** BioBlock

Writes each block's sort\_order to match its position in the given id list. Ids that do not belong to the space's bio page are ignored.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`blocks` (required)**

  `array`

  **Items:**

  `integer`

**Example:**

```json
{
  "blocks": [
    1
  ]
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Get the bio page

- **Method:** `GET`
- **Path:** `/spaces/{space}/bio`
- **Tags:** BioPageEditor

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 \`BioPageResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`avatar` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`description` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`is_enabled` (required)**

    `boolean`

  - **`public_url` (required)**

    `string`

  - **`settings` (required)**

    `object`

    - **`btn_radius` (required)**

      `string`

    - **`colors` (required)**

      `array`

      **Items:**

    - **`font` (required)**

      `string`

  - **`slug` (required)**

    `string`

  - **`theme` (required)**

    `string`

  - **`title` (required)**

    `string | null`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "slug": "",
    "title": null,
    "description": null,
    "theme": "",
    "settings": {
      "colors": [],
      "btn_radius": "",
      "font": ""
    },
    "avatar": "",
    "is_enabled": true,
    "public_url": "",
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Create the bio page

- **Method:** `POST`
- **Path:** `/spaces/{space}/bio`
- **Tags:** BioPageEditor

Seeds a social icons block from the space's connected accounts.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`slug` (required)**

  `string`

- **`theme` (required)**

  `string`, possible values: `"minimal", "bold", "neon", "soft", "classic"`

- **`description`**

  `string | null`

- **`title`**

  `string | null`

**Example:**

```json
{
  "slug": "",
  "title": null,
  "description": null,
  "theme": "minimal"
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Update the bio page

- **Method:** `PUT`
- **Path:** `/spaces/{space}/bio`
- **Tags:** BioPageEditor

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 \`BioPageResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`avatar` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`description` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`is_enabled` (required)**

    `boolean`

  - **`public_url` (required)**

    `string`

  - **`settings` (required)**

    `object`

    - **`btn_radius` (required)**

      `string`

    - **`colors` (required)**

      `array`

      **Items:**

    - **`font` (required)**

      `string`

  - **`slug` (required)**

    `string`

  - **`theme` (required)**

    `string`

  - **`title` (required)**

    `string | null`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "slug": "",
    "title": null,
    "description": null,
    "theme": "",
    "settings": {
      "colors": [],
      "btn_radius": "",
      "font": ""
    },
    "avatar": "",
    "is_enabled": true,
    "public_url": "",
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Upload a bio page avatar

- **Method:** `POST`
- **Path:** `/spaces/{space}/bio/avatar`
- **Tags:** BioPageEditor

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: multipart/form-data

- **`file` (required)**

  `string`, format: `binary`

**Example:**

```json
{
  "file": "@filename"
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Upload an image for a bio image block

- **Method:** `POST`
- **Path:** `/spaces/{space}/bio/image`
- **Tags:** BioPageEditor

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: multipart/form-data

- **`file` (required)**

  `string`, format: `binary`

**Example:**

```json
{
  "file": "@filename"
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`path` (required)**

  `string`

- **`url` (required)**

  `string`

**Example:**

```json
{
  "path": "",
  "url": ""
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Health check

- **Method:** `GET`
- **Path:** `/health`
- **Tags:** Health

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`status` (required)**

  `string`

**Example:**

```json
{
  "status": "ok"
}
```

##### Status: 503

###### Content-Type: application/json

- **`database` (required)**

  `boolean`

- **`status` (required)**

  `string`

**Example:**

```json
{
  "status": "error",
  "database": true
}
```

### List a space's reusable media library

- **Method:** `GET`
- **Path:** `/spaces/{space}/media`
- **Tags:** Media

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 Paginated set of \`MediaResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`alt` (required)**

    `string`

  - **`duration` (required)**

    `string | null` — Seconds, for video we could measure; null for everything else.

  - **`height` (required)**

    `string`

  - **`id` (required)**

    `string`

  - **`mime` (required)**

    `string`

  - **`name` (required)**

    `string`

  - **`order` (required)**

    `string`

  - **`size` (required)**

    `string`

  - **`type` (required)**

    `string`

  - **`url` (required)**

    `string`

  - **`width` (required)**

    `string`

- **`links` (required)**

  `object`

  - **`first` (required)**

    `string | null`

  - **`last` (required)**

    `string | null`

  - **`next` (required)**

    `string | null`

  - **`prev` (required)**

    `string | null`

- **`meta` (required)**

  `object`

  - **`current_page` (required)**

    `integer`

  - **`from` (required)**

    `integer | null`

  - **`last_page` (required)**

    `integer`

  - **`links` (required)**

    `array` — Generated paginator links.

    **Items:**

    - **`active` (required)**

      `boolean`

    - **`label` (required)**

      `string`

    - **`url` (required)**

      `string | null`

  - **`path` (required)**

    `string | null` — Base path for paginator generated URLs.

  - **`per_page` (required)**

    `integer` — Number of items shown per page.

  - **`to` (required)**

    `integer | null` — Number of the last item in the slice.

  - **`total` (required)**

    `integer` — Total number of items being paginated.

**Example:**

```json
{
  "data": [
    {
      "id": "",
      "type": "",
      "url": "",
      "name": "",
      "mime": "",
      "width": "",
      "height": "",
      "size": "",
      "duration": null,
      "alt": "",
      "order": ""
    }
  ],
  "links": {
    "first": null,
    "last": null,
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": null,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "",
        "active": true
      }
    ],
    "path": null,
    "per_page": 0,
    "to": null,
    "total": 0
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Ingest a completed upload into the space's media library

- **Method:** `POST`
- **Path:** `/spaces/{space}/media`
- **Tags:** Media

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`url` (required)**

  `string`

- **`mime`**

  `string | null`

- **`name`**

  `string | null`

- **`type`**

  `string | null`

**Example:**

```json
{
  "url": "",
  "type": null,
  "mime": null,
  "name": null
}
```

#### Responses

##### Status: 200 \`MediaResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`alt` (required)**

    `string`

  - **`duration` (required)**

    `string | null` — Seconds, for video we could measure; null for everything else.

  - **`height` (required)**

    `string`

  - **`id` (required)**

    `string`

  - **`mime` (required)**

    `string`

  - **`name` (required)**

    `string`

  - **`order` (required)**

    `string`

  - **`size` (required)**

    `string`

  - **`type` (required)**

    `string`

  - **`url` (required)**

    `string`

  - **`width` (required)**

    `string`

**Example:**

```json
{
  "data": {
    "id": "",
    "type": "",
    "url": "",
    "name": "",
    "mime": "",
    "width": "",
    "height": "",
    "size": "",
    "duration": null,
    "alt": "",
    "order": ""
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Remove a media asset from the space library

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/media/{media}`
- **Tags:** Media

Only library rows arrive here, and only the row is ever certain to go: `Api\PostController::attachMedia` replicates a Media per post over the same upload, so what the space sees as one asset is several rows deep by the time it is deleted.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `media` required

- **In:** `path`

The media ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`deleted` (required)**

  `boolean`

**Example:**

```json
{
  "deleted": true
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Get an upload URL

- **Method:** `POST`
- **Path:** `/media/sign`
- **Tags:** Media

PUT the file to the returned `upload_url` with `Content-Type: <mime>`, then send `url` back when creating or updating a post.

#### Request Body

##### Content-Type: application/json

- **`mime` (required)**

  `string`, possible values: `"image/jpeg", "image/png", "image/webp", "video/mp4", "video/quicktime"`

- **`size`**

  `integer | null` — The size of the file about to be uploaded. Optional, and taken on trust — the object is measured again once it lands. Sending it buys an immediate refusal instead of discovering the file was too large after transferring it.

**Example:**

```json
{
  "mime": "image/jpeg",
  "size": null
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`expires_at` (required)**

  `string`

- **`path` (required)**

  `string`

- **`upload_url` (required)**

  `string`

- **`url` (required)**

  `string`

**Example:**

```json
{
  "upload_url": "",
  "url": "",
  "path": "",
  "expires_at": ""
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### List pending invitations for an organization

- **Method:** `GET`
- **Path:** `/organizations/{organization}/invitations`
- **Tags:** OrganizationInvitation

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

#### Responses

##### Status: 200 Array of \`OrganizationInvitationResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`accepted_at` (required)**

    `string | null`, format: `date-time`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`email` (required)**

    `string`

  - **`expires_at` (required)**

    `string`, format: `date-time`

  - **`id` (required)**

    `integer`

  - **`is_expired` (required)**

    `boolean`

  - **`permissions` (required)**

    `object`

  - **`role` (required)**

    `string`

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "email": "",
      "role": "",
      "permissions": "",
      "expires_at": "",
      "accepted_at": null,
      "created_at": null,
      "is_expired": true
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Send an invitation

- **Method:** `POST`
- **Path:** `/organizations/{organization}/invitations`
- **Tags:** OrganizationInvitation

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`email` (required)**

  `string`, format: `email`

- **`role` (required)**

  `string`, possible values: `"creator", "publisher", "approver", "manager"`

**Example:**

```json
{
  "email": "",
  "role": "creator"
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Revoke a pending invitation

- **Method:** `DELETE`
- **Path:** `/organizations/{organization}/invitations/{invitation}`
- **Tags:** OrganizationInvitation

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

##### `invitation` required

- **In:** `path`

The invitation ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Regenerate token + expiry and resend the invitation email

- **Method:** `POST`
- **Path:** `/organizations/{organization}/invitations/{invitation}/resend`
- **Tags:** OrganizationInvitation

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

##### `invitation` required

- **In:** `path`

The invitation ID

`integer`

#### Responses

##### Status: 200 \`OrganizationInvitationResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`accepted_at` (required)**

    `string | null`, format: `date-time`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`email` (required)**

    `string`

  - **`expires_at` (required)**

    `string`, format: `date-time`

  - **`id` (required)**

    `integer`

  - **`is_expired` (required)**

    `boolean`

  - **`permissions` (required)**

    `object`

  - **`role` (required)**

    `string`

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List members of an organization

- **Method:** `GET`
- **Path:** `/organizations/{organization}/members`
- **Tags:** OrganizationMember

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

#### Responses

##### Status: 200 Array of \`OrganizationMemberResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`email` (required)**

    `string`

  - **`id` (required)**

    `integer`

  - **`name` (required)**

    `string`

  - **`is_suspended`**

    `boolean`

  - **`joined_at`**

    `string`

  - **`permissions`**

    `object`

  - **`role`**

    `string`

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "name": "",
      "email": "",
      "role": "",
      "permissions": "",
      "joined_at": "",
      "is_suspended": true
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### The authenticated user leaves the organization

- **Method:** `POST`
- **Path:** `/organizations/{organization}/members/leave`
- **Tags:** OrganizationMember

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Update a member's role across the organization

- **Method:** `PATCH`
- **Path:** `/organizations/{organization}/members/{user}`
- **Tags:** OrganizationMember

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

##### `user` required

- **In:** `path`

The user ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`role` (required)**

  `string`, possible values: `"creator", "publisher", "approver", "manager"`

**Example:**

```json
{
  "role": "creator"
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Remove a member, and with them their access to every space

- **Method:** `DELETE`
- **Path:** `/organizations/{organization}/members/{user}`
- **Tags:** OrganizationMember

#### Parameters

##### `organization` required

- **In:** `path`

The organization ID

`integer`

##### `user` required

- **In:** `path`

The user ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List posts

- **Method:** `GET`
- **Path:** `/spaces/{space}/posts`
- **Tags:** Post

Filterable by status, account, and date range. Pass `statuses[]` or `account_ids[]` to filter by several statuses or accounts at once.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `status`

- **In:** `query`

`integer`, possible values: `0, 1, 2, 3, 4, 5`

##### `statuses[]`

- **In:** `query`

**Array of:**

`integer`, possible values: `0, 1, 2, 3, 4, 5`

##### `account_id`

- **In:** `query`

`integer`

##### `account_ids[]`

- **In:** `query`

**Array of:**

`integer`

##### `from`

- **In:** `query`

`string`, format: `date-time`

##### `to`

- **In:** `query`

`string`, format: `date-time`

##### `per_page`

- **In:** `query`

`integer`

#### Responses

##### Status: 200 Paginated set of \`PostResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`account_id` (required)**

    `integer`

  - **`analytics` (required)**

    `array | null`

  - **`cluster_id` (required)**

    `string`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`created_with` (required)**

    `object`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`order` (required)**

    `integer`

  - **`parent_id` (required)**

    `integer | null`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`user_id` (required)**

    `integer`

  - **`account`**

    `object`

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string`

    - **`id` (required)**

      `integer`

    - **`is_active` (required)**

      `boolean`

    - **`profile_url` (required)**

      `string`

    - **`quota_parked_at` (required)**

      `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

    - **`social` (required)**

      `string`

    - **`unavailable_capabilities` (required)**

      `array` — Features unavailable on this connection until it is reconnected.

      **Items:**

  - **`analytics_metrics`**

    `array`

    **Items:**

  - **`children`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`analytics` (required)**

      `array | null`

    - **`cluster_id` (required)**

      `string`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`created_with` (required)**

      `object`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`order` (required)**

      `integer`

    - **`parent_id` (required)**

      `integer | null`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5`

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

    - **`user_id` (required)**

      `integer`

    - **`account`**

      `object`

      - **`avatar` (required)**

        `string | null`

      - **`disconnected_at` (required)**

        `string`

      - **`display_name` (required)**

        `string`

      - **`handler` (required)**

        `string`

      - **`id` (required)**

        `integer`

      - **`is_active` (required)**

        `boolean`

      - **`profile_url` (required)**

        `string`

      - **`quota_parked_at` (required)**

        `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

      - **`social` (required)**

        `string`

      - **`unavailable_capabilities` (required)**

        `array` — Features unavailable on this connection until it is reconnected.

        **Items:**

    - **`analytics_metrics`**

      `array`

      **Items:**

    - **`children`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`analytics` (required)**

        `array | null`

      - **`cluster_id` (required)**

        `string`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`created_with` (required)**

        `object`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`order` (required)**

        `integer`

      - **`parent_id` (required)**

        `integer | null`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5`

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

      - **`user_id` (required)**

        `integer`

      - **`account`**

        `object`

        - **`avatar` (required)**

          `string | null`

        - **`disconnected_at` (required)**

          `string`

        - **`display_name` (required)**

          `string`

        - **`handler` (required)**

          `string`

        - **`id` (required)**

          `integer`

        - **`is_active` (required)**

          `boolean`

        - **`profile_url` (required)**

          `string`

        - **`quota_parked_at` (required)**

          `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

        - **`social` (required)**

          `string`

        - **`unavailable_capabilities` (required)**

          `array` — Features unavailable on this connection until it is reconnected.

          **Items:**

      - **`analytics_metrics`**

        `array`

        **Items:**

      - **`children`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`analytics` (required)**

          `array | null`

        - **`cluster_id` (required)**

          `string`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`created_with` (required)**

          `object`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`order` (required)**

          `integer`

        - **`parent_id` (required)**

          `integer | null`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5`

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

        - **`user_id` (required)**

          `integer`

        - **`account`**

          `object`

          - **`avatar` (required)**

            `string | null`

          - **`disconnected_at` (required)**

            `string`

          - **`display_name` (required)**

            `string`

          - **`handler` (required)**

            `string`

          - **`id` (required)**

            `integer`

          - **`is_active` (required)**

            `boolean`

          - **`profile_url` (required)**

            `string`

          - **`quota_parked_at` (required)**

            `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

          - **`social` (required)**

            `string`

          - **`unavailable_capabilities` (required)**

            `array` — Features unavailable on this connection until it is reconnected.

            **Items:**

        - **`analytics_metrics`**

          `array`

          **Items:**

        - **`children`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`analytics` (required)**

            `array | null`

          - **`cluster_id` (required)**

            `string`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`created_with` (required)**

            `object`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`order` (required)**

            `integer`

          - **`parent_id` (required)**

            `integer | null`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5`

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

          - **`user_id` (required)**

            `integer`

          - **`account`**

            `object`

            - **`avatar` (required)**

              `string | null`

            - **`disconnected_at` (required)**

              `string`

            - **`display_name` (required)**

              `string`

            - **`handler` (required)**

              `string`

            - **`id` (required)**

              `integer`

            - **`is_active` (required)**

              `boolean`

            - **`profile_url` (required)**

              `string`

            - **`quota_parked_at` (required)**

              `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

            - **`social` (required)**

              `string`

            - **`unavailable_capabilities` (required)**

              `array` — Features unavailable on this connection until it is reconnected.

              **Items:**

          - **`analytics_metrics`**

            `array`

            **Items:**

          - **`children`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`analytics` (required)**

              `array | null`

            - **`cluster_id` (required)**

              `string`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`created_with` (required)**

              `object`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`order` (required)**

              `integer`

            - **`parent_id` (required)**

              `integer | null`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5`

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

            - **`user_id` (required)**

              `integer`

            - **`account`**

              `object`

              - **`avatar` (required)**

                `string | null`

              - **`disconnected_at` (required)**

                `string`

              - **`display_name` (required)**

                `string`

              - **`handler` (required)**

                `string`

              - **`id` (required)**

                `integer`

              - **`is_active` (required)**

                `boolean`

              - **`profile_url` (required)**

                `string`

              - **`quota_parked_at` (required)**

                `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

              - **`social` (required)**

                `string`

              - **`unavailable_capabilities` (required)**

                `array` — Features unavailable on this connection until it is reconnected.

                **Items:**

            - **`analytics_metrics`**

              `array`

              **Items:**

            - **`children`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`analytics` (required)**

                `array | null`

              - **`cluster_id` (required)**

                `string`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`created_with` (required)**

                `object`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`order` (required)**

                `integer`

              - **`parent_id` (required)**

                `integer | null`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5`

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

              - **`user_id` (required)**

                `integer`

              - **`account`**

                `object`

                - **`avatar` (required)**

                  `string | null`

                - **`disconnected_at` (required)**

                  `string`

                - **`display_name` (required)**

                  `string`

                - **`handler` (required)**

                  `string`

                - **`id` (required)**

                  `integer`

                - **`is_active` (required)**

                  `boolean`

                - **`profile_url` (required)**

                  `string`

                - **`quota_parked_at` (required)**

                  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                - **`social` (required)**

                  `string`

                - **`unavailable_capabilities` (required)**

                  `array` — Features unavailable on this connection until it is reconnected.

                  **Items:**

              - **`analytics_metrics`**

                `array`

                **Items:**

              - **`children`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`analytics` (required)**

                  `array | null`

                - **`cluster_id` (required)**

                  `string`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`created_with` (required)**

                  `object`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`order` (required)**

                  `integer`

                - **`parent_id` (required)**

                  `integer | null`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5`

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

                - **`user_id` (required)**

                  `integer`

                - **`account`**

                  `object`

                  - **`avatar` (required)**

                    `string | null`

                  - **`disconnected_at` (required)**

                    `string`

                  - **`display_name` (required)**

                    `string`

                  - **`handler` (required)**

                    `string`

                  - **`id` (required)**

                    `integer`

                  - **`is_active` (required)**

                    `boolean`

                  - **`profile_url` (required)**

                    `string`

                  - **`quota_parked_at` (required)**

                    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                  - **`social` (required)**

                    `string`

                  - **`unavailable_capabilities` (required)**

                    `array` — Features unavailable on this connection until it is reconnected.

                    **Items:**

                    *\[Circular Reference]*

                - **`analytics_metrics`**

                  `array`

                  **Items:**

                - **`children`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`analytics` (required)**

                    `array | null`

                  - **`cluster_id` (required)**

                    `string`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`created_with` (required)**

                    `object`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`order` (required)**

                    `integer`

                  - **`parent_id` (required)**

                    `integer | null`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5`

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                  - **`user_id` (required)**

                    `integer`

                  - **`account`**

                    `object`

                    *\[Circular Reference]*

                  - **`analytics_metrics`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`children`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`media`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`review`**

                    `object`

                  - **`scheduled_comments`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`type`**

                    `object`

                - **`media`**

                  `array`

                  **Items:**

                  - **`alt` (required)**

                    `string`

                  - **`duration` (required)**

                    `string | null` — Seconds, for video we could measure; null for everything else.

                  - **`height` (required)**

                    `string`

                  - **`id` (required)**

                    `string`

                  - **`mime` (required)**

                    `string`

                  - **`name` (required)**

                    `string`

                  - **`order` (required)**

                    `string`

                  - **`size` (required)**

                    `string`

                  - **`type` (required)**

                    `string`

                  - **`url` (required)**

                    `string`

                  - **`width` (required)**

                    `string`

                - **`review`**

                  `object`

                - **`scheduled_comments`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`delay_minutes` (required)**

                    `integer`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`post_id` (required)**

                    `integer`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                - **`type`**

                  `object`

              - **`media`**

                `array`

                **Items:**

                - **`alt` (required)**

                  `string`

                - **`duration` (required)**

                  `string | null` — Seconds, for video we could measure; null for everything else.

                - **`height` (required)**

                  `string`

                - **`id` (required)**

                  `string`

                - **`mime` (required)**

                  `string`

                - **`name` (required)**

                  `string`

                - **`order` (required)**

                  `string`

                - **`size` (required)**

                  `string`

                - **`type` (required)**

                  `string`

                - **`url` (required)**

                  `string`

                - **`width` (required)**

                  `string`

              - **`review`**

                `object`

              - **`scheduled_comments`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`delay_minutes` (required)**

                  `integer`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`post_id` (required)**

                  `integer`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

              - **`type`**

                `object`

            - **`media`**

              `array`

              **Items:**

              - **`alt` (required)**

                `string`

              - **`duration` (required)**

                `string | null` — Seconds, for video we could measure; null for everything else.

              - **`height` (required)**

                `string`

              - **`id` (required)**

                `string`

              - **`mime` (required)**

                `string`

              - **`name` (required)**

                `string`

              - **`order` (required)**

                `string`

              - **`size` (required)**

                `string`

              - **`type` (required)**

                `string`

              - **`url` (required)**

                `string`

              - **`width` (required)**

                `string`

            - **`review`**

              `object`

            - **`scheduled_comments`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`delay_minutes` (required)**

                `integer`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`post_id` (required)**

                `integer`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

            - **`type`**

              `object`

          - **`media`**

            `array`

            **Items:**

            - **`alt` (required)**

              `string`

            - **`duration` (required)**

              `string | null` — Seconds, for video we could measure; null for everything else.

            - **`height` (required)**

              `string`

            - **`id` (required)**

              `string`

            - **`mime` (required)**

              `string`

            - **`name` (required)**

              `string`

            - **`order` (required)**

              `string`

            - **`size` (required)**

              `string`

            - **`type` (required)**

              `string`

            - **`url` (required)**

              `string`

            - **`width` (required)**

              `string`

          - **`review`**

            `object`

          - **`scheduled_comments`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`delay_minutes` (required)**

              `integer`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`post_id` (required)**

              `integer`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

          - **`type`**

            `object`

        - **`media`**

          `array`

          **Items:**

          - **`alt` (required)**

            `string`

          - **`duration` (required)**

            `string | null` — Seconds, for video we could measure; null for everything else.

          - **`height` (required)**

            `string`

          - **`id` (required)**

            `string`

          - **`mime` (required)**

            `string`

          - **`name` (required)**

            `string`

          - **`order` (required)**

            `string`

          - **`size` (required)**

            `string`

          - **`type` (required)**

            `string`

          - **`url` (required)**

            `string`

          - **`width` (required)**

            `string`

        - **`review`**

          `object`

        - **`scheduled_comments`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`delay_minutes` (required)**

            `integer`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`post_id` (required)**

            `integer`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

        - **`type`**

          `object`

      - **`media`**

        `array`

        **Items:**

        - **`alt` (required)**

          `string`

        - **`duration` (required)**

          `string | null` — Seconds, for video we could measure; null for everything else.

        - **`height` (required)**

          `string`

        - **`id` (required)**

          `string`

        - **`mime` (required)**

          `string`

        - **`name` (required)**

          `string`

        - **`order` (required)**

          `string`

        - **`size` (required)**

          `string`

        - **`type` (required)**

          `string`

        - **`url` (required)**

          `string`

        - **`width` (required)**

          `string`

      - **`review`**

        `object`

      - **`scheduled_comments`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`delay_minutes` (required)**

          `integer`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`post_id` (required)**

          `integer`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

      - **`type`**

        `object`

    - **`media`**

      `array`

      **Items:**

      - **`alt` (required)**

        `string`

      - **`duration` (required)**

        `string | null` — Seconds, for video we could measure; null for everything else.

      - **`height` (required)**

        `string`

      - **`id` (required)**

        `string`

      - **`mime` (required)**

        `string`

      - **`name` (required)**

        `string`

      - **`order` (required)**

        `string`

      - **`size` (required)**

        `string`

      - **`type` (required)**

        `string`

      - **`url` (required)**

        `string`

      - **`width` (required)**

        `string`

    - **`review`**

      `object`

    - **`scheduled_comments`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`delay_minutes` (required)**

        `integer`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`post_id` (required)**

        `integer`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

    - **`type`**

      `object`

  - **`media`**

    `array`

    **Items:**

    - **`alt` (required)**

      `string`

    - **`duration` (required)**

      `string | null` — Seconds, for video we could measure; null for everything else.

    - **`height` (required)**

      `string`

    - **`id` (required)**

      `string`

    - **`mime` (required)**

      `string`

    - **`name` (required)**

      `string`

    - **`order` (required)**

      `string`

    - **`size` (required)**

      `string`

    - **`type` (required)**

      `string`

    - **`url` (required)**

      `string`

    - **`width` (required)**

      `string`

  - **`review`**

    `object`

  - **`scheduled_comments`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`delay_minutes` (required)**

      `integer`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`post_id` (required)**

      `integer`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

  - **`type`**

    `object`

- **`links` (required)**

  `object`

  - **`first` (required)**

    `string | null`

  - **`last` (required)**

    `string | null`

  - **`next` (required)**

    `string | null`

  - **`prev` (required)**

    `string | null`

- **`meta` (required)**

  `object`

  - **`current_page` (required)**

    `integer`

  - **`from` (required)**

    `integer | null`

  - **`last_page` (required)**

    `integer`

  - **`links` (required)**

    `array` — Generated paginator links.

    **Items:**

    - **`active` (required)**

      `boolean`

    - **`label` (required)**

      `string`

    - **`url` (required)**

      `string | null`

  - **`path` (required)**

    `string | null` — Base path for paginator generated URLs.

  - **`per_page` (required)**

    `integer` — Number of items shown per page.

  - **`to` (required)**

    `integer | null` — Number of the last item in the slice.

  - **`total` (required)**

    `integer` — Total number of items being paginated.

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "content": "",
      "created_with": null,
      "status": null,
      "order": 1,
      "scheduled_at": null,
      "published_at": null,
      "metadata": [],
      "type": "",
      "cluster_id": "",
      "parent_id": null,
      "user_id": 1,
      "account_id": 1,
      "created_at": null,
      "updated_at": null,
      "analytics": [],
      "analytics_metrics": [],
      "account": null,
      "children": [],
      "scheduled_comments": [],
      "media": [],
      "review": null
    }
  ],
  "links": {
    "first": null,
    "last": null,
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": null,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "",
        "active": true
      }
    ],
    "path": null,
    "per_page": 0,
    "to": null,
    "total": 0
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Create posts

- **Method:** `POST`
- **Path:** `/spaces/{space}/posts`
- **Tags:** Post

Creates one or more posts as a cluster. Supports draft, scheduled, or immediate publishing.

#### Parameters

##### `space` required

- **In:** `path`

`string`

#### Request Body

##### Content-Type: application/json

- **`items` (required)**

  `array`

  **Items:**

  - **`account_id` (required)**

    `integer`

  - **`social` (required)**

    `string`

  - **`children`**

    `array | null`

  - **`main`**

    `object`

    - **`content`**

      `string | null` — Required everywhere but YouTube, where the body is the video description and an empty one is ordinary — a Short is usually posted with a title and nothing else. The driver already handles it (\`$payload\['content'] ?? ''\`) and \`description\` is optional on \`videos.insert\`, so \`required\` was the only thing refusing it. Written as \`required\_unless\` because Laravel resolves the sibling wildcard index for a rule's parameters; it is the rule \*object\* on another key that cannot see one.

    - **`media`**

      `array | null`

  - **`metadata`**

    `object | null`

    - **`allow_comments`**

      `boolean | null`

    - **`allow_duet`**

      `boolean | null`

    - **`allow_stitch`**

      `boolean | null`

    - **`board_id`**

      `string | null`

    - **`brand_organic`**

      `boolean | null`

    - **`branded_content`**

      `boolean | null`

    - **`category_id`**

      `string | null`

    - **`cover_image_url`**

      `string | null`, format: `uri`

    - **`link`**

      `string | null`, format: `uri`

    - **`made_for_kids`**

      `boolean | null`

    - **`post_type`**

      `string | null`

    - **`privacy_level`**

      `string | null`, possible values: `"PUBLIC_TO_EVERYONE", "MUTUAL_FOLLOW_FRIENDS", "FOLLOWER_OF_CREATOR", "SELF_ONLY"`

    - **`privacy_status`**

      `string | null`, possible values: `"public", "unlisted", "private"`

    - **`title`**

      `string | null`

    - **`topic_tag`**

      `string | null`

- **`space_id` (required)**

  `integer`

- **`at`**

  `integer | null`

- **`comment`**

  `object`

  - **`content`**

    `string`

  - **`delay_minutes`**

    `integer`

- **`is_draft`**

  `boolean`

**Example:**

```json
{
  "space_id": 1,
  "at": null,
  "is_draft": true,
  "comment": {
    "content": "",
    "delay_minutes": 1
  },
  "items": [
    {
      "account_id": 1,
      "social": "",
      "children": [
        {
          "content": "",
          "media": [
            {
              "url": "",
              "type": "image"
            }
          ]
        }
      ],
      "metadata": {
        "topic_tag": null,
        "post_type": null,
        "link": null,
        "privacy_level": "PUBLIC_TO_EVERYONE",
        "allow_comments": null,
        "allow_duet": null,
        "allow_stitch": null,
        "branded_content": null,
        "brand_organic": null,
        "board_id": null,
        "title": null,
        "cover_image_url": null,
        "privacy_status": "public",
        "made_for_kids": null,
        "category_id": null
      },
      "main": {
        "content": null,
        "media": [
          {
            "url": "",
            "type": "image"
          }
        ]
      }
    }
  ]
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Get a post

- **Method:** `GET`
- **Path:** `/spaces/{space}/posts/{post}`
- **Tags:** Post

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `post` required

- **In:** `path`

The post ID

`integer`

#### Responses

##### Status: 200 \`PostResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`account_id` (required)**

    `integer`

  - **`analytics` (required)**

    `array | null`

  - **`cluster_id` (required)**

    `string`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`created_with` (required)**

    `object`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`order` (required)**

    `integer`

  - **`parent_id` (required)**

    `integer | null`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`user_id` (required)**

    `integer`

  - **`account`**

    `object`

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string`

    - **`id` (required)**

      `integer`

    - **`is_active` (required)**

      `boolean`

    - **`profile_url` (required)**

      `string`

    - **`quota_parked_at` (required)**

      `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

    - **`social` (required)**

      `string`

    - **`unavailable_capabilities` (required)**

      `array` — Features unavailable on this connection until it is reconnected.

      **Items:**

  - **`analytics_metrics`**

    `array`

    **Items:**

  - **`children`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`analytics` (required)**

      `array | null`

    - **`cluster_id` (required)**

      `string`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`created_with` (required)**

      `object`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`order` (required)**

      `integer`

    - **`parent_id` (required)**

      `integer | null`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5`

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

    - **`user_id` (required)**

      `integer`

    - **`account`**

      `object`

      - **`avatar` (required)**

        `string | null`

      - **`disconnected_at` (required)**

        `string`

      - **`display_name` (required)**

        `string`

      - **`handler` (required)**

        `string`

      - **`id` (required)**

        `integer`

      - **`is_active` (required)**

        `boolean`

      - **`profile_url` (required)**

        `string`

      - **`quota_parked_at` (required)**

        `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

      - **`social` (required)**

        `string`

      - **`unavailable_capabilities` (required)**

        `array` — Features unavailable on this connection until it is reconnected.

        **Items:**

    - **`analytics_metrics`**

      `array`

      **Items:**

    - **`children`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`analytics` (required)**

        `array | null`

      - **`cluster_id` (required)**

        `string`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`created_with` (required)**

        `object`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`order` (required)**

        `integer`

      - **`parent_id` (required)**

        `integer | null`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5`

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

      - **`user_id` (required)**

        `integer`

      - **`account`**

        `object`

        - **`avatar` (required)**

          `string | null`

        - **`disconnected_at` (required)**

          `string`

        - **`display_name` (required)**

          `string`

        - **`handler` (required)**

          `string`

        - **`id` (required)**

          `integer`

        - **`is_active` (required)**

          `boolean`

        - **`profile_url` (required)**

          `string`

        - **`quota_parked_at` (required)**

          `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

        - **`social` (required)**

          `string`

        - **`unavailable_capabilities` (required)**

          `array` — Features unavailable on this connection until it is reconnected.

          **Items:**

      - **`analytics_metrics`**

        `array`

        **Items:**

      - **`children`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`analytics` (required)**

          `array | null`

        - **`cluster_id` (required)**

          `string`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`created_with` (required)**

          `object`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`order` (required)**

          `integer`

        - **`parent_id` (required)**

          `integer | null`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5`

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

        - **`user_id` (required)**

          `integer`

        - **`account`**

          `object`

          - **`avatar` (required)**

            `string | null`

          - **`disconnected_at` (required)**

            `string`

          - **`display_name` (required)**

            `string`

          - **`handler` (required)**

            `string`

          - **`id` (required)**

            `integer`

          - **`is_active` (required)**

            `boolean`

          - **`profile_url` (required)**

            `string`

          - **`quota_parked_at` (required)**

            `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

          - **`social` (required)**

            `string`

          - **`unavailable_capabilities` (required)**

            `array` — Features unavailable on this connection until it is reconnected.

            **Items:**

        - **`analytics_metrics`**

          `array`

          **Items:**

        - **`children`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`analytics` (required)**

            `array | null`

          - **`cluster_id` (required)**

            `string`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`created_with` (required)**

            `object`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`order` (required)**

            `integer`

          - **`parent_id` (required)**

            `integer | null`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5`

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

          - **`user_id` (required)**

            `integer`

          - **`account`**

            `object`

            - **`avatar` (required)**

              `string | null`

            - **`disconnected_at` (required)**

              `string`

            - **`display_name` (required)**

              `string`

            - **`handler` (required)**

              `string`

            - **`id` (required)**

              `integer`

            - **`is_active` (required)**

              `boolean`

            - **`profile_url` (required)**

              `string`

            - **`quota_parked_at` (required)**

              `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

            - **`social` (required)**

              `string`

            - **`unavailable_capabilities` (required)**

              `array` — Features unavailable on this connection until it is reconnected.

              **Items:**

          - **`analytics_metrics`**

            `array`

            **Items:**

          - **`children`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`analytics` (required)**

              `array | null`

            - **`cluster_id` (required)**

              `string`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`created_with` (required)**

              `object`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`order` (required)**

              `integer`

            - **`parent_id` (required)**

              `integer | null`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5`

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

            - **`user_id` (required)**

              `integer`

            - **`account`**

              `object`

              - **`avatar` (required)**

                `string | null`

              - **`disconnected_at` (required)**

                `string`

              - **`display_name` (required)**

                `string`

              - **`handler` (required)**

                `string`

              - **`id` (required)**

                `integer`

              - **`is_active` (required)**

                `boolean`

              - **`profile_url` (required)**

                `string`

              - **`quota_parked_at` (required)**

                `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

              - **`social` (required)**

                `string`

              - **`unavailable_capabilities` (required)**

                `array` — Features unavailable on this connection until it is reconnected.

                **Items:**

            - **`analytics_metrics`**

              `array`

              **Items:**

            - **`children`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`analytics` (required)**

                `array | null`

              - **`cluster_id` (required)**

                `string`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`created_with` (required)**

                `object`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`order` (required)**

                `integer`

              - **`parent_id` (required)**

                `integer | null`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5`

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

              - **`user_id` (required)**

                `integer`

              - **`account`**

                `object`

                - **`avatar` (required)**

                  `string | null`

                - **`disconnected_at` (required)**

                  `string`

                - **`display_name` (required)**

                  `string`

                - **`handler` (required)**

                  `string`

                - **`id` (required)**

                  `integer`

                - **`is_active` (required)**

                  `boolean`

                - **`profile_url` (required)**

                  `string`

                - **`quota_parked_at` (required)**

                  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                - **`social` (required)**

                  `string`

                - **`unavailable_capabilities` (required)**

                  `array` — Features unavailable on this connection until it is reconnected.

                  **Items:**

              - **`analytics_metrics`**

                `array`

                **Items:**

              - **`children`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`analytics` (required)**

                  `array | null`

                - **`cluster_id` (required)**

                  `string`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`created_with` (required)**

                  `object`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`order` (required)**

                  `integer`

                - **`parent_id` (required)**

                  `integer | null`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5`

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

                - **`user_id` (required)**

                  `integer`

                - **`account`**

                  `object`

                  - **`avatar` (required)**

                    `string | null`

                  - **`disconnected_at` (required)**

                    `string`

                  - **`display_name` (required)**

                    `string`

                  - **`handler` (required)**

                    `string`

                  - **`id` (required)**

                    `integer`

                  - **`is_active` (required)**

                    `boolean`

                  - **`profile_url` (required)**

                    `string`

                  - **`quota_parked_at` (required)**

                    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                  - **`social` (required)**

                    `string`

                  - **`unavailable_capabilities` (required)**

                    `array` — Features unavailable on this connection until it is reconnected.

                    **Items:**

                    *\[Circular Reference]*

                - **`analytics_metrics`**

                  `array`

                  **Items:**

                - **`children`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`analytics` (required)**

                    `array | null`

                  - **`cluster_id` (required)**

                    `string`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`created_with` (required)**

                    `object`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`order` (required)**

                    `integer`

                  - **`parent_id` (required)**

                    `integer | null`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5`

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                  - **`user_id` (required)**

                    `integer`

                  - **`account`**

                    `object`

                    *\[Circular Reference]*

                  - **`analytics_metrics`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`children`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`media`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`review`**

                    `object`

                  - **`scheduled_comments`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`type`**

                    `object`

                - **`media`**

                  `array`

                  **Items:**

                  - **`alt` (required)**

                    `string`

                  - **`duration` (required)**

                    `string | null` — Seconds, for video we could measure; null for everything else.

                  - **`height` (required)**

                    `string`

                  - **`id` (required)**

                    `string`

                  - **`mime` (required)**

                    `string`

                  - **`name` (required)**

                    `string`

                  - **`order` (required)**

                    `string`

                  - **`size` (required)**

                    `string`

                  - **`type` (required)**

                    `string`

                  - **`url` (required)**

                    `string`

                  - **`width` (required)**

                    `string`

                - **`review`**

                  `object`

                - **`scheduled_comments`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`delay_minutes` (required)**

                    `integer`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`post_id` (required)**

                    `integer`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                - **`type`**

                  `object`

              - **`media`**

                `array`

                **Items:**

                - **`alt` (required)**

                  `string`

                - **`duration` (required)**

                  `string | null` — Seconds, for video we could measure; null for everything else.

                - **`height` (required)**

                  `string`

                - **`id` (required)**

                  `string`

                - **`mime` (required)**

                  `string`

                - **`name` (required)**

                  `string`

                - **`order` (required)**

                  `string`

                - **`size` (required)**

                  `string`

                - **`type` (required)**

                  `string`

                - **`url` (required)**

                  `string`

                - **`width` (required)**

                  `string`

              - **`review`**

                `object`

              - **`scheduled_comments`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`delay_minutes` (required)**

                  `integer`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`post_id` (required)**

                  `integer`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

              - **`type`**

                `object`

            - **`media`**

              `array`

              **Items:**

              - **`alt` (required)**

                `string`

              - **`duration` (required)**

                `string | null` — Seconds, for video we could measure; null for everything else.

              - **`height` (required)**

                `string`

              - **`id` (required)**

                `string`

              - **`mime` (required)**

                `string`

              - **`name` (required)**

                `string`

              - **`order` (required)**

                `string`

              - **`size` (required)**

                `string`

              - **`type` (required)**

                `string`

              - **`url` (required)**

                `string`

              - **`width` (required)**

                `string`

            - **`review`**

              `object`

            - **`scheduled_comments`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`delay_minutes` (required)**

                `integer`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`post_id` (required)**

                `integer`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

            - **`type`**

              `object`

          - **`media`**

            `array`

            **Items:**

            - **`alt` (required)**

              `string`

            - **`duration` (required)**

              `string | null` — Seconds, for video we could measure; null for everything else.

            - **`height` (required)**

              `string`

            - **`id` (required)**

              `string`

            - **`mime` (required)**

              `string`

            - **`name` (required)**

              `string`

            - **`order` (required)**

              `string`

            - **`size` (required)**

              `string`

            - **`type` (required)**

              `string`

            - **`url` (required)**

              `string`

            - **`width` (required)**

              `string`

          - **`review`**

            `object`

          - **`scheduled_comments`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`delay_minutes` (required)**

              `integer`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`post_id` (required)**

              `integer`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

          - **`type`**

            `object`

        - **`media`**

          `array`

          **Items:**

          - **`alt` (required)**

            `string`

          - **`duration` (required)**

            `string | null` — Seconds, for video we could measure; null for everything else.

          - **`height` (required)**

            `string`

          - **`id` (required)**

            `string`

          - **`mime` (required)**

            `string`

          - **`name` (required)**

            `string`

          - **`order` (required)**

            `string`

          - **`size` (required)**

            `string`

          - **`type` (required)**

            `string`

          - **`url` (required)**

            `string`

          - **`width` (required)**

            `string`

        - **`review`**

          `object`

        - **`scheduled_comments`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`delay_minutes` (required)**

            `integer`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`post_id` (required)**

            `integer`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

        - **`type`**

          `object`

      - **`media`**

        `array`

        **Items:**

        - **`alt` (required)**

          `string`

        - **`duration` (required)**

          `string | null` — Seconds, for video we could measure; null for everything else.

        - **`height` (required)**

          `string`

        - **`id` (required)**

          `string`

        - **`mime` (required)**

          `string`

        - **`name` (required)**

          `string`

        - **`order` (required)**

          `string`

        - **`size` (required)**

          `string`

        - **`type` (required)**

          `string`

        - **`url` (required)**

          `string`

        - **`width` (required)**

          `string`

      - **`review`**

        `object`

      - **`scheduled_comments`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`delay_minutes` (required)**

          `integer`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`post_id` (required)**

          `integer`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

      - **`type`**

        `object`

    - **`media`**

      `array`

      **Items:**

      - **`alt` (required)**

        `string`

      - **`duration` (required)**

        `string | null` — Seconds, for video we could measure; null for everything else.

      - **`height` (required)**

        `string`

      - **`id` (required)**

        `string`

      - **`mime` (required)**

        `string`

      - **`name` (required)**

        `string`

      - **`order` (required)**

        `string`

      - **`size` (required)**

        `string`

      - **`type` (required)**

        `string`

      - **`url` (required)**

        `string`

      - **`width` (required)**

        `string`

    - **`review`**

      `object`

    - **`scheduled_comments`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`delay_minutes` (required)**

        `integer`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`post_id` (required)**

        `integer`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

    - **`type`**

      `object`

  - **`media`**

    `array`

    **Items:**

    - **`alt` (required)**

      `string`

    - **`duration` (required)**

      `string | null` — Seconds, for video we could measure; null for everything else.

    - **`height` (required)**

      `string`

    - **`id` (required)**

      `string`

    - **`mime` (required)**

      `string`

    - **`name` (required)**

      `string`

    - **`order` (required)**

      `string`

    - **`size` (required)**

      `string`

    - **`type` (required)**

      `string`

    - **`url` (required)**

      `string`

    - **`width` (required)**

      `string`

  - **`review`**

    `object`

  - **`scheduled_comments`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`delay_minutes` (required)**

      `integer`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`post_id` (required)**

      `integer`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

  - **`type`**

    `object`

**Example:**

```json
{
  "data": {
    "id": 1,
    "content": "",
    "created_with": null,
    "status": null,
    "order": 1,
    "scheduled_at": null,
    "published_at": null,
    "metadata": [],
    "type": "",
    "cluster_id": "",
    "parent_id": null,
    "user_id": 1,
    "account_id": 1,
    "created_at": null,
    "updated_at": null,
    "analytics": [],
    "analytics_metrics": [],
    "account": null,
    "children": [],
    "scheduled_comments": [],
    "media": [],
    "review": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Update a post

- **Method:** `PUT`
- **Path:** `/spaces/{space}/posts/{post}`
- **Tags:** Post

Updates content, media, thread replies, schedule, status, and metadata for a single post.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `post` required

- **In:** `path`

The post ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`at`**

  `integer | null`

- **`children`**

  `array | null`

- **`content`**

  `string`

- **`is_draft`**

  `boolean`

- **`media`**

  `array | null`

- **`metadata`**

  `object`

  - **`allow_comments`**

    `boolean | null`

  - **`allow_duet`**

    `boolean | null`

  - **`allow_stitch`**

    `boolean | null`

  - **`board_id`**

    `string | null`

  - **`brand_organic`**

    `boolean | null`

  - **`branded_content`**

    `boolean | null`

  - **`category_id`**

    `string | null`

  - **`cover_image_url`**

    `string | null`, format: `uri`

  - **`link`**

    `string | null`, format: `uri`

  - **`made_for_kids`**

    `boolean | null`

  - **`post_type`**

    `string | null`

  - **`privacy_level`**

    `string | null`, possible values: `"PUBLIC_TO_EVERYONE", "MUTUAL_FOLLOW_FRIENDS", "FOLLOWER_OF_CREATOR", "SELF_ONLY"`

  - **`privacy_status`**

    `string | null`, possible values: `"public", "unlisted", "private"`

  - **`title`**

    `string | null`

  - **`topic_tag`**

    `string | null`

**Example:**

```json
{
  "at": null,
  "is_draft": true,
  "content": "",
  "metadata": {
    "topic_tag": null,
    "post_type": null,
    "link": null,
    "privacy_level": "PUBLIC_TO_EVERYONE",
    "allow_comments": null,
    "allow_duet": null,
    "allow_stitch": null,
    "branded_content": null,
    "brand_organic": null,
    "board_id": null,
    "title": null,
    "cover_image_url": null,
    "privacy_status": "public",
    "made_for_kids": null,
    "category_id": null
  },
  "media": [
    {
      "url": "",
      "type": "image"
    }
  ],
  "children": [
    {
      "content": "",
      "media": [
        {
          "url": "",
          "type": "image"
        }
      ]
    }
  ]
}
```

#### Responses

##### Status: 200 \`PostResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`account_id` (required)**

    `integer`

  - **`analytics` (required)**

    `array | null`

  - **`cluster_id` (required)**

    `string`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`created_with` (required)**

    `object`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`order` (required)**

    `integer`

  - **`parent_id` (required)**

    `integer | null`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`user_id` (required)**

    `integer`

  - **`account`**

    `object`

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string`

    - **`id` (required)**

      `integer`

    - **`is_active` (required)**

      `boolean`

    - **`profile_url` (required)**

      `string`

    - **`quota_parked_at` (required)**

      `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

    - **`social` (required)**

      `string`

    - **`unavailable_capabilities` (required)**

      `array` — Features unavailable on this connection until it is reconnected.

      **Items:**

  - **`analytics_metrics`**

    `array`

    **Items:**

  - **`children`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`analytics` (required)**

      `array | null`

    - **`cluster_id` (required)**

      `string`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`created_with` (required)**

      `object`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`order` (required)**

      `integer`

    - **`parent_id` (required)**

      `integer | null`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5`

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

    - **`user_id` (required)**

      `integer`

    - **`account`**

      `object`

      - **`avatar` (required)**

        `string | null`

      - **`disconnected_at` (required)**

        `string`

      - **`display_name` (required)**

        `string`

      - **`handler` (required)**

        `string`

      - **`id` (required)**

        `integer`

      - **`is_active` (required)**

        `boolean`

      - **`profile_url` (required)**

        `string`

      - **`quota_parked_at` (required)**

        `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

      - **`social` (required)**

        `string`

      - **`unavailable_capabilities` (required)**

        `array` — Features unavailable on this connection until it is reconnected.

        **Items:**

    - **`analytics_metrics`**

      `array`

      **Items:**

    - **`children`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`analytics` (required)**

        `array | null`

      - **`cluster_id` (required)**

        `string`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`created_with` (required)**

        `object`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`order` (required)**

        `integer`

      - **`parent_id` (required)**

        `integer | null`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5`

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

      - **`user_id` (required)**

        `integer`

      - **`account`**

        `object`

        - **`avatar` (required)**

          `string | null`

        - **`disconnected_at` (required)**

          `string`

        - **`display_name` (required)**

          `string`

        - **`handler` (required)**

          `string`

        - **`id` (required)**

          `integer`

        - **`is_active` (required)**

          `boolean`

        - **`profile_url` (required)**

          `string`

        - **`quota_parked_at` (required)**

          `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

        - **`social` (required)**

          `string`

        - **`unavailable_capabilities` (required)**

          `array` — Features unavailable on this connection until it is reconnected.

          **Items:**

      - **`analytics_metrics`**

        `array`

        **Items:**

      - **`children`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`analytics` (required)**

          `array | null`

        - **`cluster_id` (required)**

          `string`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`created_with` (required)**

          `object`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`order` (required)**

          `integer`

        - **`parent_id` (required)**

          `integer | null`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5`

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

        - **`user_id` (required)**

          `integer`

        - **`account`**

          `object`

          - **`avatar` (required)**

            `string | null`

          - **`disconnected_at` (required)**

            `string`

          - **`display_name` (required)**

            `string`

          - **`handler` (required)**

            `string`

          - **`id` (required)**

            `integer`

          - **`is_active` (required)**

            `boolean`

          - **`profile_url` (required)**

            `string`

          - **`quota_parked_at` (required)**

            `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

          - **`social` (required)**

            `string`

          - **`unavailable_capabilities` (required)**

            `array` — Features unavailable on this connection until it is reconnected.

            **Items:**

        - **`analytics_metrics`**

          `array`

          **Items:**

        - **`children`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`analytics` (required)**

            `array | null`

          - **`cluster_id` (required)**

            `string`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`created_with` (required)**

            `object`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`order` (required)**

            `integer`

          - **`parent_id` (required)**

            `integer | null`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5`

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

          - **`user_id` (required)**

            `integer`

          - **`account`**

            `object`

            - **`avatar` (required)**

              `string | null`

            - **`disconnected_at` (required)**

              `string`

            - **`display_name` (required)**

              `string`

            - **`handler` (required)**

              `string`

            - **`id` (required)**

              `integer`

            - **`is_active` (required)**

              `boolean`

            - **`profile_url` (required)**

              `string`

            - **`quota_parked_at` (required)**

              `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

            - **`social` (required)**

              `string`

            - **`unavailable_capabilities` (required)**

              `array` — Features unavailable on this connection until it is reconnected.

              **Items:**

          - **`analytics_metrics`**

            `array`

            **Items:**

          - **`children`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`analytics` (required)**

              `array | null`

            - **`cluster_id` (required)**

              `string`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`created_with` (required)**

              `object`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`order` (required)**

              `integer`

            - **`parent_id` (required)**

              `integer | null`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5`

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

            - **`user_id` (required)**

              `integer`

            - **`account`**

              `object`

              - **`avatar` (required)**

                `string | null`

              - **`disconnected_at` (required)**

                `string`

              - **`display_name` (required)**

                `string`

              - **`handler` (required)**

                `string`

              - **`id` (required)**

                `integer`

              - **`is_active` (required)**

                `boolean`

              - **`profile_url` (required)**

                `string`

              - **`quota_parked_at` (required)**

                `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

              - **`social` (required)**

                `string`

              - **`unavailable_capabilities` (required)**

                `array` — Features unavailable on this connection until it is reconnected.

                **Items:**

            - **`analytics_metrics`**

              `array`

              **Items:**

            - **`children`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`analytics` (required)**

                `array | null`

              - **`cluster_id` (required)**

                `string`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`created_with` (required)**

                `object`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`order` (required)**

                `integer`

              - **`parent_id` (required)**

                `integer | null`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5`

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

              - **`user_id` (required)**

                `integer`

              - **`account`**

                `object`

                - **`avatar` (required)**

                  `string | null`

                - **`disconnected_at` (required)**

                  `string`

                - **`display_name` (required)**

                  `string`

                - **`handler` (required)**

                  `string`

                - **`id` (required)**

                  `integer`

                - **`is_active` (required)**

                  `boolean`

                - **`profile_url` (required)**

                  `string`

                - **`quota_parked_at` (required)**

                  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                - **`social` (required)**

                  `string`

                - **`unavailable_capabilities` (required)**

                  `array` — Features unavailable on this connection until it is reconnected.

                  **Items:**

                  *\[Circular Reference]*

              - **`analytics_metrics`**

                `array`

                **Items:**

              - **`children`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`analytics` (required)**

                  `array | null`

                - **`cluster_id` (required)**

                  `string`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`created_with` (required)**

                  `object`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`order` (required)**

                  `integer`

                - **`parent_id` (required)**

                  `integer | null`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5`

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

                - **`user_id` (required)**

                  `integer`

                - **`account`**

                  `object`

                  *\[Circular Reference]*

                - **`analytics_metrics`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`children`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`media`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`review`**

                  `object`

                - **`scheduled_comments`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`type`**

                  `object`

              - **`media`**

                `array`

                **Items:**

                - **`alt` (required)**

                  `string`

                - **`duration` (required)**

                  `string | null` — Seconds, for video we could measure; null for everything else.

                - **`height` (required)**

                  `string`

                - **`id` (required)**

                  `string`

                - **`mime` (required)**

                  `string`

                - **`name` (required)**

                  `string`

                - **`order` (required)**

                  `string`

                - **`size` (required)**

                  `string`

                - **`type` (required)**

                  `string`

                - **`url` (required)**

                  `string`

                - **`width` (required)**

                  `string`

              - **`review`**

                `object`

              - **`scheduled_comments`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`delay_minutes` (required)**

                  `integer`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`post_id` (required)**

                  `integer`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

              - **`type`**

                `object`

            - **`media`**

              `array`

              **Items:**

              - **`alt` (required)**

                `string`

              - **`duration` (required)**

                `string | null` — Seconds, for video we could measure; null for everything else.

              - **`height` (required)**

                `string`

              - **`id` (required)**

                `string`

              - **`mime` (required)**

                `string`

              - **`name` (required)**

                `string`

              - **`order` (required)**

                `string`

              - **`size` (required)**

                `string`

              - **`type` (required)**

                `string`

              - **`url` (required)**

                `string`

              - **`width` (required)**

                `string`

            - **`review`**

              `object`

            - **`scheduled_comments`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`delay_minutes` (required)**

                `integer`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`post_id` (required)**

                `integer`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

            - **`type`**

              `object`

          - **`media`**

            `array`

            **Items:**

            - **`alt` (required)**

              `string`

            - **`duration` (required)**

              `string | null` — Seconds, for video we could measure; null for everything else.

            - **`height` (required)**

              `string`

            - **`id` (required)**

              `string`

            - **`mime` (required)**

              `string`

            - **`name` (required)**

              `string`

            - **`order` (required)**

              `string`

            - **`size` (required)**

              `string`

            - **`type` (required)**

              `string`

            - **`url` (required)**

              `string`

            - **`width` (required)**

              `string`

          - **`review`**

            `object`

          - **`scheduled_comments`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`delay_minutes` (required)**

              `integer`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`post_id` (required)**

              `integer`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

          - **`type`**

            `object`

        - **`media`**

          `array`

          **Items:**

          - **`alt` (required)**

            `string`

          - **`duration` (required)**

            `string | null` — Seconds, for video we could measure; null for everything else.

          - **`height` (required)**

            `string`

          - **`id` (required)**

            `string`

          - **`mime` (required)**

            `string`

          - **`name` (required)**

            `string`

          - **`order` (required)**

            `string`

          - **`size` (required)**

            `string`

          - **`type` (required)**

            `string`

          - **`url` (required)**

            `string`

          - **`width` (required)**

            `string`

        - **`review`**

          `object`

        - **`scheduled_comments`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`delay_minutes` (required)**

            `integer`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`post_id` (required)**

            `integer`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

        - **`type`**

          `object`

      - **`media`**

        `array`

        **Items:**

        - **`alt` (required)**

          `string`

        - **`duration` (required)**

          `string | null` — Seconds, for video we could measure; null for everything else.

        - **`height` (required)**

          `string`

        - **`id` (required)**

          `string`

        - **`mime` (required)**

          `string`

        - **`name` (required)**

          `string`

        - **`order` (required)**

          `string`

        - **`size` (required)**

          `string`

        - **`type` (required)**

          `string`

        - **`url` (required)**

          `string`

        - **`width` (required)**

          `string`

      - **`review`**

        `object`

      - **`scheduled_comments`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`delay_minutes` (required)**

          `integer`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`post_id` (required)**

          `integer`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

      - **`type`**

        `object`

    - **`media`**

      `array`

      **Items:**

      - **`alt` (required)**

        `string`

      - **`duration` (required)**

        `string | null` — Seconds, for video we could measure; null for everything else.

      - **`height` (required)**

        `string`

      - **`id` (required)**

        `string`

      - **`mime` (required)**

        `string`

      - **`name` (required)**

        `string`

      - **`order` (required)**

        `string`

      - **`size` (required)**

        `string`

      - **`type` (required)**

        `string`

      - **`url` (required)**

        `string`

      - **`width` (required)**

        `string`

    - **`review`**

      `object`

    - **`scheduled_comments`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`delay_minutes` (required)**

        `integer`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`post_id` (required)**

        `integer`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

    - **`type`**

      `object`

  - **`media`**

    `array`

    **Items:**

    - **`alt` (required)**

      `string`

    - **`duration` (required)**

      `string | null` — Seconds, for video we could measure; null for everything else.

    - **`height` (required)**

      `string`

    - **`id` (required)**

      `string`

    - **`mime` (required)**

      `string`

    - **`name` (required)**

      `string`

    - **`order` (required)**

      `string`

    - **`size` (required)**

      `string`

    - **`type` (required)**

      `string`

    - **`url` (required)**

      `string`

    - **`width` (required)**

      `string`

  - **`review`**

    `object`

  - **`scheduled_comments`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`delay_minutes` (required)**

      `integer`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`post_id` (required)**

      `integer`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

  - **`type`**

    `object`

**Example:**

```json
{
  "data": {
    "id": 1,
    "content": "",
    "created_with": null,
    "status": null,
    "order": 1,
    "scheduled_at": null,
    "published_at": null,
    "metadata": [],
    "type": "",
    "cluster_id": "",
    "parent_id": null,
    "user_id": 1,
    "account_id": 1,
    "created_at": null,
    "updated_at": null,
    "analytics": [],
    "analytics_metrics": [],
    "account": null,
    "children": [],
    "scheduled_comments": [],
    "media": [],
    "review": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Delete a post

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/posts/{post}`
- **Tags:** Post

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `post` required

- **In:** `path`

The post ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Retry publishing a failed post

- **Method:** `POST`
- **Path:** `/spaces/{space}/posts/{post}/retry`
- **Tags:** Post

Resets the post (and any non-published children) from Error to Scheduled, clears the stored error metadata, and re-dispatches the publish job. For threads, already-published children are skipped on retry.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `post` required

- **In:** `path`

The post ID

`integer`

#### Responses

##### Status: 200 \`PostResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`account_id` (required)**

    `integer`

  - **`analytics` (required)**

    `array | null`

  - **`cluster_id` (required)**

    `string`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`created_with` (required)**

    `object`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`order` (required)**

    `integer`

  - **`parent_id` (required)**

    `integer | null`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`user_id` (required)**

    `integer`

  - **`account`**

    `object`

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string`

    - **`id` (required)**

      `integer`

    - **`is_active` (required)**

      `boolean`

    - **`profile_url` (required)**

      `string`

    - **`quota_parked_at` (required)**

      `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

    - **`social` (required)**

      `string`

    - **`unavailable_capabilities` (required)**

      `array` — Features unavailable on this connection until it is reconnected.

      **Items:**

  - **`analytics_metrics`**

    `array`

    **Items:**

  - **`children`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`analytics` (required)**

      `array | null`

    - **`cluster_id` (required)**

      `string`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`created_with` (required)**

      `object`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`order` (required)**

      `integer`

    - **`parent_id` (required)**

      `integer | null`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5`

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

    - **`user_id` (required)**

      `integer`

    - **`account`**

      `object`

      - **`avatar` (required)**

        `string | null`

      - **`disconnected_at` (required)**

        `string`

      - **`display_name` (required)**

        `string`

      - **`handler` (required)**

        `string`

      - **`id` (required)**

        `integer`

      - **`is_active` (required)**

        `boolean`

      - **`profile_url` (required)**

        `string`

      - **`quota_parked_at` (required)**

        `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

      - **`social` (required)**

        `string`

      - **`unavailable_capabilities` (required)**

        `array` — Features unavailable on this connection until it is reconnected.

        **Items:**

    - **`analytics_metrics`**

      `array`

      **Items:**

    - **`children`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`analytics` (required)**

        `array | null`

      - **`cluster_id` (required)**

        `string`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`created_with` (required)**

        `object`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`order` (required)**

        `integer`

      - **`parent_id` (required)**

        `integer | null`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5`

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

      - **`user_id` (required)**

        `integer`

      - **`account`**

        `object`

        - **`avatar` (required)**

          `string | null`

        - **`disconnected_at` (required)**

          `string`

        - **`display_name` (required)**

          `string`

        - **`handler` (required)**

          `string`

        - **`id` (required)**

          `integer`

        - **`is_active` (required)**

          `boolean`

        - **`profile_url` (required)**

          `string`

        - **`quota_parked_at` (required)**

          `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

        - **`social` (required)**

          `string`

        - **`unavailable_capabilities` (required)**

          `array` — Features unavailable on this connection until it is reconnected.

          **Items:**

      - **`analytics_metrics`**

        `array`

        **Items:**

      - **`children`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`analytics` (required)**

          `array | null`

        - **`cluster_id` (required)**

          `string`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`created_with` (required)**

          `object`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`order` (required)**

          `integer`

        - **`parent_id` (required)**

          `integer | null`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5`

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

        - **`user_id` (required)**

          `integer`

        - **`account`**

          `object`

          - **`avatar` (required)**

            `string | null`

          - **`disconnected_at` (required)**

            `string`

          - **`display_name` (required)**

            `string`

          - **`handler` (required)**

            `string`

          - **`id` (required)**

            `integer`

          - **`is_active` (required)**

            `boolean`

          - **`profile_url` (required)**

            `string`

          - **`quota_parked_at` (required)**

            `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

          - **`social` (required)**

            `string`

          - **`unavailable_capabilities` (required)**

            `array` — Features unavailable on this connection until it is reconnected.

            **Items:**

        - **`analytics_metrics`**

          `array`

          **Items:**

        - **`children`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`analytics` (required)**

            `array | null`

          - **`cluster_id` (required)**

            `string`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`created_with` (required)**

            `object`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`order` (required)**

            `integer`

          - **`parent_id` (required)**

            `integer | null`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5`

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

          - **`user_id` (required)**

            `integer`

          - **`account`**

            `object`

            - **`avatar` (required)**

              `string | null`

            - **`disconnected_at` (required)**

              `string`

            - **`display_name` (required)**

              `string`

            - **`handler` (required)**

              `string`

            - **`id` (required)**

              `integer`

            - **`is_active` (required)**

              `boolean`

            - **`profile_url` (required)**

              `string`

            - **`quota_parked_at` (required)**

              `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

            - **`social` (required)**

              `string`

            - **`unavailable_capabilities` (required)**

              `array` — Features unavailable on this connection until it is reconnected.

              **Items:**

          - **`analytics_metrics`**

            `array`

            **Items:**

          - **`children`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`analytics` (required)**

              `array | null`

            - **`cluster_id` (required)**

              `string`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`created_with` (required)**

              `object`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`order` (required)**

              `integer`

            - **`parent_id` (required)**

              `integer | null`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5`

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

            - **`user_id` (required)**

              `integer`

            - **`account`**

              `object`

              - **`avatar` (required)**

                `string | null`

              - **`disconnected_at` (required)**

                `string`

              - **`display_name` (required)**

                `string`

              - **`handler` (required)**

                `string`

              - **`id` (required)**

                `integer`

              - **`is_active` (required)**

                `boolean`

              - **`profile_url` (required)**

                `string`

              - **`quota_parked_at` (required)**

                `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

              - **`social` (required)**

                `string`

              - **`unavailable_capabilities` (required)**

                `array` — Features unavailable on this connection until it is reconnected.

                **Items:**

            - **`analytics_metrics`**

              `array`

              **Items:**

            - **`children`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`analytics` (required)**

                `array | null`

              - **`cluster_id` (required)**

                `string`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`created_with` (required)**

                `object`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`order` (required)**

                `integer`

              - **`parent_id` (required)**

                `integer | null`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5`

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

              - **`user_id` (required)**

                `integer`

              - **`account`**

                `object`

                - **`avatar` (required)**

                  `string | null`

                - **`disconnected_at` (required)**

                  `string`

                - **`display_name` (required)**

                  `string`

                - **`handler` (required)**

                  `string`

                - **`id` (required)**

                  `integer`

                - **`is_active` (required)**

                  `boolean`

                - **`profile_url` (required)**

                  `string`

                - **`quota_parked_at` (required)**

                  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                - **`social` (required)**

                  `string`

                - **`unavailable_capabilities` (required)**

                  `array` — Features unavailable on this connection until it is reconnected.

                  **Items:**

                  *\[Circular Reference]*

              - **`analytics_metrics`**

                `array`

                **Items:**

              - **`children`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`analytics` (required)**

                  `array | null`

                - **`cluster_id` (required)**

                  `string`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`created_with` (required)**

                  `object`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`order` (required)**

                  `integer`

                - **`parent_id` (required)**

                  `integer | null`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5`

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

                - **`user_id` (required)**

                  `integer`

                - **`account`**

                  `object`

                  *\[Circular Reference]*

                - **`analytics_metrics`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`children`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`media`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`review`**

                  `object`

                - **`scheduled_comments`**

                  `array`

                  **Items:**

                  *\[Circular Reference]*

                - **`type`**

                  `object`

              - **`media`**

                `array`

                **Items:**

                - **`alt` (required)**

                  `string`

                - **`duration` (required)**

                  `string | null` — Seconds, for video we could measure; null for everything else.

                - **`height` (required)**

                  `string`

                - **`id` (required)**

                  `string`

                - **`mime` (required)**

                  `string`

                - **`name` (required)**

                  `string`

                - **`order` (required)**

                  `string`

                - **`size` (required)**

                  `string`

                - **`type` (required)**

                  `string`

                - **`url` (required)**

                  `string`

                - **`width` (required)**

                  `string`

              - **`review`**

                `object`

              - **`scheduled_comments`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`delay_minutes` (required)**

                  `integer`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`post_id` (required)**

                  `integer`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

              - **`type`**

                `object`

            - **`media`**

              `array`

              **Items:**

              - **`alt` (required)**

                `string`

              - **`duration` (required)**

                `string | null` — Seconds, for video we could measure; null for everything else.

              - **`height` (required)**

                `string`

              - **`id` (required)**

                `string`

              - **`mime` (required)**

                `string`

              - **`name` (required)**

                `string`

              - **`order` (required)**

                `string`

              - **`size` (required)**

                `string`

              - **`type` (required)**

                `string`

              - **`url` (required)**

                `string`

              - **`width` (required)**

                `string`

            - **`review`**

              `object`

            - **`scheduled_comments`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`delay_minutes` (required)**

                `integer`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`post_id` (required)**

                `integer`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

            - **`type`**

              `object`

          - **`media`**

            `array`

            **Items:**

            - **`alt` (required)**

              `string`

            - **`duration` (required)**

              `string | null` — Seconds, for video we could measure; null for everything else.

            - **`height` (required)**

              `string`

            - **`id` (required)**

              `string`

            - **`mime` (required)**

              `string`

            - **`name` (required)**

              `string`

            - **`order` (required)**

              `string`

            - **`size` (required)**

              `string`

            - **`type` (required)**

              `string`

            - **`url` (required)**

              `string`

            - **`width` (required)**

              `string`

          - **`review`**

            `object`

          - **`scheduled_comments`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`delay_minutes` (required)**

              `integer`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`post_id` (required)**

              `integer`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

          - **`type`**

            `object`

        - **`media`**

          `array`

          **Items:**

          - **`alt` (required)**

            `string`

          - **`duration` (required)**

            `string | null` — Seconds, for video we could measure; null for everything else.

          - **`height` (required)**

            `string`

          - **`id` (required)**

            `string`

          - **`mime` (required)**

            `string`

          - **`name` (required)**

            `string`

          - **`order` (required)**

            `string`

          - **`size` (required)**

            `string`

          - **`type` (required)**

            `string`

          - **`url` (required)**

            `string`

          - **`width` (required)**

            `string`

        - **`review`**

          `object`

        - **`scheduled_comments`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`delay_minutes` (required)**

            `integer`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`post_id` (required)**

            `integer`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

        - **`type`**

          `object`

      - **`media`**

        `array`

        **Items:**

        - **`alt` (required)**

          `string`

        - **`duration` (required)**

          `string | null` — Seconds, for video we could measure; null for everything else.

        - **`height` (required)**

          `string`

        - **`id` (required)**

          `string`

        - **`mime` (required)**

          `string`

        - **`name` (required)**

          `string`

        - **`order` (required)**

          `string`

        - **`size` (required)**

          `string`

        - **`type` (required)**

          `string`

        - **`url` (required)**

          `string`

        - **`width` (required)**

          `string`

      - **`review`**

        `object`

      - **`scheduled_comments`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`delay_minutes` (required)**

          `integer`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`post_id` (required)**

          `integer`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

      - **`type`**

        `object`

    - **`media`**

      `array`

      **Items:**

      - **`alt` (required)**

        `string`

      - **`duration` (required)**

        `string | null` — Seconds, for video we could measure; null for everything else.

      - **`height` (required)**

        `string`

      - **`id` (required)**

        `string`

      - **`mime` (required)**

        `string`

      - **`name` (required)**

        `string`

      - **`order` (required)**

        `string`

      - **`size` (required)**

        `string`

      - **`type` (required)**

        `string`

      - **`url` (required)**

        `string`

      - **`width` (required)**

        `string`

    - **`review`**

      `object`

    - **`scheduled_comments`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`delay_minutes` (required)**

        `integer`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`post_id` (required)**

        `integer`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

    - **`type`**

      `object`

  - **`media`**

    `array`

    **Items:**

    - **`alt` (required)**

      `string`

    - **`duration` (required)**

      `string | null` — Seconds, for video we could measure; null for everything else.

    - **`height` (required)**

      `string`

    - **`id` (required)**

      `string`

    - **`mime` (required)**

      `string`

    - **`name` (required)**

      `string`

    - **`order` (required)**

      `string`

    - **`size` (required)**

      `string`

    - **`type` (required)**

      `string`

    - **`url` (required)**

      `string`

    - **`width` (required)**

      `string`

  - **`review`**

    `object`

  - **`scheduled_comments`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`delay_minutes` (required)**

      `integer`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`post_id` (required)**

      `integer`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

  - **`type`**

    `object`

**Example:**

```json
{
  "data": {
    "id": 1,
    "content": "",
    "created_with": null,
    "status": null,
    "order": 1,
    "scheduled_at": null,
    "published_at": null,
    "metadata": [],
    "type": "",
    "cluster_id": "",
    "parent_id": null,
    "user_id": 1,
    "account_id": 1,
    "created_at": null,
    "updated_at": null,
    "analytics": [],
    "analytics_metrics": [],
    "account": null,
    "children": [],
    "scheduled_comments": [],
    "media": [],
    "review": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### List available queue slots

- **Method:** `GET`
- **Path:** `/spaces/{space}/queue`
- **Tags:** Queue

Returns up to 9 upcoming free slots from the space's schedule.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `array`

  **Items:**

  - **`datetime` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`timestamp_ms` (required)**

    `string`

* **`data` (required)**

  `array`

  **Items:**

  `string`

**Example:**

```json
{
  "data": [
    {
      "datetime": "",
      "timestamp_ms": "",
      "label": ""
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Attach a follow-up comment to an existing post. If the post has already published, the comment is armed immediately against its remote id

- **Method:** `POST`
- **Path:** `/spaces/{space}/posts/{post}/comment`
- **Tags:** ScheduledComment

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `post` required

- **In:** `path`

The post ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`content` (required)**

  `string`

- **`delay_minutes` (required)**

  `integer`

**Example:**

```json
{
  "content": "",
  "delay_minutes": 1
}
```

#### Responses

##### Status: 200 \`ScheduledCommentResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`account_id` (required)**

    `integer`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`delay_minutes` (required)**

    `integer`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`post_id` (required)**

    `integer`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "content": "",
    "status": null,
    "delay_minutes": 1,
    "scheduled_at": null,
    "published_at": null,
    "metadata": [],
    "post_id": 1,
    "account_id": 1,
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Edit a pending or armed follow-up comment

- **Method:** `PUT`
- **Path:** `/spaces/{space}/comments/{scheduledComment}`
- **Tags:** ScheduledComment

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `scheduledComment` required

- **In:** `path`

The scheduled comment ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`content`**

  `string`

- **`delay_minutes`**

  `integer`

**Example:**

```json
{
  "content": "",
  "delay_minutes": 1
}
```

#### Responses

##### Status: 200 \`ScheduledCommentResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`account_id` (required)**

    `integer`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`delay_minutes` (required)**

    `integer`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`post_id` (required)**

    `integer`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "content": "",
    "status": null,
    "delay_minutes": 1,
    "scheduled_at": null,
    "published_at": null,
    "metadata": [],
    "post_id": 1,
    "account_id": 1,
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Cancel a follow-up comment before it publishes

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/comments/{scheduledComment}`
- **Tags:** ScheduledComment

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `scheduledComment` required

- **In:** `path`

The scheduled comment ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 An error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": "This comment can no longer be cancelled."
}
```

### Get the authenticated session's user

- **Method:** `GET`
- **Path:** `/session`
- **Tags:** Session

#### Responses

##### Status: 200 \`SessionResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`email` (required)**

    `string`

  - **`id` (required)**

    `string`

  - **`name` (required)**

    `string`

**Example:**

```json
{
  "data": {
    "id": "",
    "name": "",
    "email": ""
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List slots

- **Method:** `GET`
- **Path:** `/spaces/{space}/slots`
- **Tags:** Slot

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 Array of \`SlotResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`day_of_week` (required)**

    `integer`

  - **`id` (required)**

    `integer`

  - **`time` (required)**

    `string`

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "day_of_week": 1,
      "time": ""
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Create slots

- **Method:** `POST`
- **Path:** `/spaces/{space}/slots`
- **Tags:** Slot

Creates a slot at the given time for each day of the week.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`days_of_week` (required)**

  `array`

  **Items:**

  `integer`

- **`time` (required)**

  `string`

**Example:**

```json
{
  "time": "",
  "days_of_week": [
    1
  ]
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Delete a slot

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/slots/{slot}`
- **Tags:** Slot

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `slot` required

- **In:** `path`

The slot ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List spaces accessible to the authenticated user (owned and member-of)

- **Method:** `GET`
- **Path:** `/spaces`
- **Tags:** Space

#### Responses

##### Status: 200 Array of \`SpaceResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`id` (required)**

    `integer`

  - **`name` (required)**

    `string`

  - **`organization_id` (required)**

    `integer` — The organization holding this space, and with it the team that can reach it.

  - **`timezone` (required)**

    `string | null` — The organization's timezone, inherited by every space. Read-only here.

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "name": "",
      "timezone": null,
      "organization_id": 1,
      "created_at": null,
      "updated_at": null
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Create a space

- **Method:** `POST`
- **Path:** `/spaces`
- **Tags:** Space

#### Request Body

##### Content-Type: application/json

- **`name` (required)**

  `string`

**Example:**

```json
{
  "name": ""
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Get a space

- **Method:** `GET`
- **Path:** `/spaces/{space}`
- **Tags:** Space

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 \`SpaceResource\`

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`id` (required)**

    `integer`

  - **`name` (required)**

    `string`

  - **`organization_id` (required)**

    `integer` — The organization holding this space, and with it the team that can reach it.

  - **`timezone` (required)**

    `string | null` — The organization's timezone, inherited by every space. Read-only here.

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "name": "",
    "timezone": null,
    "organization_id": 1,
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Update a space

- **Method:** `PUT`
- **Path:** `/spaces/{space}`
- **Tags:** Space

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`name`**

  `string`

**Example:**

```json
{
  "name": ""
}
```

#### Responses

##### Status: 200 \`SpaceResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`id` (required)**

    `integer`

  - **`name` (required)**

    `string`

  - **`organization_id` (required)**

    `integer` — The organization holding this space, and with it the team that can reach it.

  - **`timezone` (required)**

    `string | null` — The organization's timezone, inherited by every space. Read-only here.

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

**Example:**

```json
{
  "data": {
    "id": 1,
    "name": "",
    "timezone": null,
    "organization_id": 1,
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Delete a space

- **Method:** `DELETE`
- **Path:** `/spaces/{space}`
- **Tags:** Space

Cascades to all accounts, posts, slots, and other associated data.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Get subscription details

- **Method:** `GET`
- **Path:** `/subscription`
- **Tags:** Subscription

Returns the user's current plan, account usage, plan catalog, billing state and trial status.

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`accounts_used` (required)**

  `integer`

- **`ends_at` (required)**

  `string`

- **`is_gifted` (required)**

  `boolean`

- **`max_connectable_accounts` (required)**

  `integer | null`

- **`monthly_post_limit` (required)**

  `integer | null`

- **`on_grace_period` (required)**

  `object`

- **`on_trial` (required)**

  `object`

- **`past_due` (required)**

  `object`

- **`plan` (required)**

  `string`

- **`plans` (required)**

  `array`

  **Items:**

- **`posts_used_this_month` (required)**

  `integer`

- **`subscribed` (required)**

  `boolean`

- **`trial_days` (required)**

  `integer`

- **`trial_eligible` (required)**

  `boolean`

- **`trial_ends_at` (required)**

  `string`

**Example:**

```json
{
  "subscribed": true,
  "is_gifted": true,
  "plan": "",
  "plans": [],
  "on_grace_period": "",
  "ends_at": "",
  "accounts_used": 0,
  "max_connectable_accounts": null,
  "posts_used_this_month": 0,
  "monthly_post_limit": null,
  "on_trial": "",
  "trial_ends_at": "",
  "trial_eligible": true,
  "trial_days": 1,
  "past_due": ""
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### List webhooks

- **Method:** `GET`
- **Path:** `/spaces/{space}/webhooks`
- **Tags:** Webhook

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Responses

##### Status: 200 Array of \`WebhookResource\`

###### Content-Type: application/json

- **`data` (required)**

  `array`

  **Items:**

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`events` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`url` (required)**

    `string`

**Example:**

```json
{
  "data": [
    {
      "id": 1,
      "url": "",
      "events": [],
      "is_active": true,
      "created_at": null,
      "updated_at": null
    }
  ]
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Create a webhook

- **Method:** `POST`
- **Path:** `/spaces/{space}/webhooks`
- **Tags:** Webhook

The response carries the generated signing secret alongside the webhook, as a sibling of `data`. It is shown once and never returned by any other endpoint — store it, or use the rotate endpoint to mint a replacement.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`events` (required)**

  `array`

  **Items:**

  `string`, possible values: `"post.published", "post.failed", "post.scheduled", "comment.published", "comment.failed", "comment.received", "account.connected", "account.disconnected"`

- **`url` (required)**

  `string`, format: `uri`

**Example:**

```json
{
  "url": "",
  "events": [
    "post.published"
  ]
}
```

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`events` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`url` (required)**

    `string`

- **`secret` (required)**

  `string`

**Example:**

```json
{
  "data": {
    "id": 1,
    "url": "",
    "events": [],
    "is_active": true,
    "created_at": null,
    "updated_at": null
  },
  "secret": ""
}
```

##### Status: 201

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`events` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`url` (required)**

    `string`

- **`secret` (required)**

  `string`

**Example:**

```json
{
  "data": {
    "id": 1,
    "url": "",
    "events": [],
    "is_active": true,
    "created_at": null,
    "updated_at": null
  },
  "secret": ""
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Update a webhook

- **Method:** `PUT`
- **Path:** `/spaces/{space}/webhooks/{webhook}`
- **Tags:** Webhook

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `webhook` required

- **In:** `path`

The webhook ID

`integer`

#### Request Body

##### Content-Type: application/json

- **`events`**

  `array`

  **Items:**

  `string`, possible values: `"post.published", "post.failed", "post.scheduled", "comment.published", "comment.failed", "comment.received", "account.connected", "account.disconnected"`

- **`is_active`**

  `boolean`

- **`url`**

  `string`, format: `uri`

**Example:**

```json
{
  "url": "",
  "is_active": true,
  "events": [
    "post.published"
  ]
}
```

#### Responses

##### Status: 200 \`WebhookResource\`

###### Content-Type: application/json

**Any of:**

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`events` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`url` (required)**

    `string`

**Example:**

```json
{
  "data": {
    "id": 1,
    "url": "",
    "events": [],
    "is_active": true,
    "created_at": null,
    "updated_at": null
  }
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 422 Validation error

###### Content-Type: application/json

- **`errors` (required)**

  `object` — A detailed description of each field that failed validation.

- **`message` (required)**

  `string` — Errors overview.

**Example:**

```json
{
  "message": "",
  "errors": {
    "additionalProperty": [
      ""
    ]
  }
}
```

### Delete a webhook

- **Method:** `DELETE`
- **Path:** `/spaces/{space}/webhooks/{webhook}`
- **Tags:** Webhook

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `webhook` required

- **In:** `path`

The webhook ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

**Example:**

```json
{}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

### Rotate a webhook's signing secret

- **Method:** `POST`
- **Path:** `/spaces/{space}/webhooks/{webhook}/rotate`
- **Tags:** Webhook

The only way back from a lost secret, since it is revealed once at creation. Deliveries are signed with the new secret from the next event onward, so a subscriber that verifies signatures should be updated first — there is no grace period where both secrets are accepted.

#### Parameters

##### `space` required

- **In:** `path`

The space ID

`integer`

##### `webhook` required

- **In:** `path`

The webhook ID

`integer`

#### Responses

##### Status: 200

###### Content-Type: application/json

- **`data` (required)**

  `object`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`events` (required)**

    `array`

    **Items:**

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`url` (required)**

    `string`

- **`secret` (required)**

  `string`

**Example:**

```json
{
  "data": {
    "id": 1,
    "url": "",
    "events": [],
    "is_active": true,
    "created_at": null,
    "updated_at": null
  },
  "secret": ""
}
```

##### Status: 401 Unauthenticated

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 403 Authorization error

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

##### Status: 404 Not found

###### Content-Type: application/json

- **`message` (required)**

  `string` — Error overview.

**Example:**

```json
{
  "message": ""
}
```

## Schemas

### AccountPostsResource

- **Type:**`object`

* **`account` (required)**

  `object` — The account whose posts these are.

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string | null`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`social` (required)**

    `string`

* **`collection` (required)**

  `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

  - **`cadence_hours` (required)**

    `integer`

  - **`last_collected_at` (required)**

    `string | null`

  - **`polling_window_days` (required)**

    `integer`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`state` (required)**

    `string`

* **`columns` (required)**

  `array` — The metric columns this platform declares, in catalogue order, each with its own health.

  **Items:**

  - **`definition` (required)**

    `string`

  - **`headline` (required)**

    `boolean`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`reason` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`unit` (required)**

    `string`

* **`contract` (required)**

  `string` — The payload contract version, e.g. \`analytics.v2\`. Shared with the report; the URL is never versioned.

* **`data` (required)**

  `array` — One row per post on this page.

  **Items:**

  - **`excerpt` (required)**

    `string`

  - **`imported` (required)**

    `boolean`

  - **`interactions` (required)**

    `object`

    - **`components` (required)**

      `object | null`

    - **`reason` (required)**

      `string | null`

    - **`source` (required)**

      `string`

    - **`status` (required)**

      `string`

    - **`total` (required)**

      `integer | null`

  - **`metrics` (required)**

    `object`

  - **`permalink` (required)**

    `string | null`

  - **`post_id` (required)**

    `integer`

  - **`published_at` (required)**

    `string | null`

  - **`thumbnail` (required)**

    `string | null`

* **`meta` (required)**

  `object` — Where this page sits in the range's posts.

  - **`current_page` (required)**

    `integer`

  - **`last_page` (required)**

    `integer`

  - **`per_page` (required)**

    `integer`

  - **`total` (required)**

    `integer`

* **`range` (required)**

  `object` — The window the posts were published in, and its timezone.

  - **`days` (required)**

    `integer`

  - **`from` (required)**

    `string`

  - **`previous_from` (required)**

    `string`

  - **`previous_to` (required)**

    `string`

  - **`timezone` (required)**

    `string`

  - **`to` (required)**

    `string`

* **`sort` (required)**

  `object` — The ordering that was applied, and every key this account can be ordered by.

  - **`direction` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`options` (required)**

    `array`

    **Items:**

    - **`key` (required)**

      `string`

    - **`label` (required)**

      `string`

    - **`reason` (required)**

      `string | null`

    - **`sortable` (required)**

      `boolean`

**Example:**

```json
{
  "contract": "",
  "account": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": null,
    "avatar": null,
    "disconnected_at": null
  },
  "range": {
    "from": "",
    "to": "",
    "timezone": "",
    "days": 1,
    "previous_from": "",
    "previous_to": ""
  },
  "collection": {
    "state": "",
    "reason": null,
    "remedy": null,
    "last_collected_at": null,
    "cadence_hours": 1,
    "polling_window_days": 1
  },
  "sort": {
    "key": "",
    "direction": "",
    "options": [
      {
        "key": "",
        "label": "",
        "sortable": true,
        "reason": null
      }
    ]
  },
  "columns": [
    {
      "key": "",
      "label": "",
      "definition": "",
      "unit": "",
      "headline": true,
      "status": "",
      "reason": null
    }
  ],
  "data": [
    {
      "post_id": 1,
      "published_at": null,
      "permalink": null,
      "imported": true,
      "excerpt": "",
      "thumbnail": null,
      "metrics": {
        "additionalProperty": {
          "value": null,
          "status": "",
          "reason": null
        }
      },
      "interactions": {
        "total": null,
        "source": "",
        "components": null,
        "status": "",
        "reason": null
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 1,
    "total": 1
  }
}
```

### AccountReportResource

- **Type:**`object`

* **`account` (required)**

  `object` — The account the report describes.

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string | null`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`social` (required)**

    `string`

* **`audience` (required)**

  `object` — Account-level history — followers and every other declared account metric.

  - **`metrics` (required)**

    `array`

    **Items:**

    `string`

  - **`points` (required)**

    `array`

    **Items:**

    - **`date` (required)**

      `string`

    - **`values` (required)**

      `object`

  - **`supported` (required)**

    `boolean`

  - **`change`**

    `object`

  - **`labels`**

    `object`

  - **`latest`**

    `object | null`

    - **`date` (required)**

      `string`

    - **`values` (required)**

      `object`

* **`basis` (required)**

  `object | null` — What the numbers are counted on, and whether the comparison cohort has had time to mature.

  - **`comparison_immature` (required)**

    `boolean`

  - **`note` (required)**

    `string`

  - **`series` (required)**

    `string`

  - **`values` (required)**

    `string`

* **`collection` (required)**

  `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

  - **`cadence_hours` (required)**

    `integer`

  - **`last_collected_at` (required)**

    `string | null`

  - **`polling_window_days` (required)**

    `integer`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`state` (required)**

    `string`

* **`contract` (required)**

  `string` — The payload contract version, e.g. \`analytics.v2\`. The URL is never versioned.

* **`coverage` (required)**

  `object | null` — How many posts and days the range actually rests on.

  - **`days_in_range` (required)**

    `integer`

  - **`days_with_posts` (required)**

    `integer`

  - **`posts_imported` (required)**

    `integer`

  - **`posts_in_range` (required)**

    `integer`

* **`headline_metric` (required)**

  `string | null` — The key of the metric this platform leads with, if any.

* **`interactions` (required)**

  `object | null` — The account's interaction score, whether the platform reports one natively, and what this range's score was built from.

  - **`change_pct` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`components` (required)**

    `array`

    **Items:**

    `string`

  - **`definition` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`native` (required)**

    `boolean`

  - **`previous` (required)**

    `integer | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`source` (required)**

    `string`

  - **`status` (required)**

    `string`

  - **`value` (required)**

    `integer | null`

* **`metrics` (required)**

  `array` — Every metric this platform declares, with its definition, unit and current health.

  **Items:**

  - **`accumulation` (required)**

    `string`

  - **`chartable` (required)**

    `boolean`

  - **`definition` (required)**

    `string`

  - **`headline` (required)**

    `boolean`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`role` (required)**

    `string`

  - **`scope` (required)**

    `string`

  - **`status` (required)**

    `string`

  - **`unit` (required)**

    `string`

  - **`window_days` (required)**

    `integer | null`

* **`range` (required)**

  `object` — The reporting window, its timezone and the preceding comparison window.

  - **`days` (required)**

    `integer`

  - **`from` (required)**

    `string`

  - **`previous_from` (required)**

    `string`

  - **`previous_to` (required)**

    `string`

  - **`timezone` (required)**

    `string`

  - **`to` (required)**

    `string`

* **`rates` (required)**

  `array` — Declared rates, each naming what it divided by.

  **Items:**

  - **`basis` (required)**

    `string`

  - **`change_pp` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`definition` (required)**

    `string`

  - **`denominator_key` (required)**

    `string`

  - **`denominator_label` (required)**

    `string | null`

  - **`denominator_unit` (required)**

    `string | null`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`numerator_key` (required)**

    `string`

  - **`per_post_mean` (required)**

    `number | null`

  - **`previous` (required)**

    `number | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`value` (required)**

    `number | null`

* **`series` (required)**

  `object | null` — The daily publish-date cohort series.

  - **`basis` (required)**

    `string`

  - **`interval` (required)**

    `string`

  - **`metrics` (required)**

    `array`

    **Items:**

    `string`

  - **`note` (required)**

    `string`

  - **`points` (required)**

    `array`

    **Items:**

    - **`date` (required)**

      `string`

    - **`posts` (required)**

      `integer`

    - **`values` (required)**

      `object | null`

  - **`timezone` (required)**

    `string`

  - **`values` (required)**

    `string`

* **`totals` (required)**

  `array` — Summed post metrics for the range, each against the previous window.

  **Items:**

  - **`change_pct` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`previous` (required)**

    `integer | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`unit` (required)**

    `string`

  - **`value` (required)**

    `integer | null`

**Example:**

```json
{
  "contract": "",
  "account": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": null,
    "avatar": null,
    "disconnected_at": null
  },
  "range": {
    "from": "",
    "to": "",
    "timezone": "",
    "days": 1,
    "previous_from": "",
    "previous_to": ""
  },
  "basis": {
    "series": "",
    "values": "",
    "note": "",
    "comparison_immature": true
  },
  "collection": {
    "state": "",
    "reason": null,
    "remedy": null,
    "last_collected_at": null,
    "cadence_hours": 1,
    "polling_window_days": 1
  },
  "coverage": {
    "posts_in_range": 1,
    "posts_imported": 1,
    "days_in_range": 1,
    "days_with_posts": 1
  },
  "metrics": [
    {
      "key": "",
      "label": "",
      "definition": "",
      "unit": "",
      "accumulation": "",
      "scope": "",
      "role": "",
      "window_days": null,
      "headline": true,
      "chartable": true,
      "status": "",
      "reason": null,
      "remedy": null
    }
  ],
  "headline_metric": null,
  "totals": [
    {
      "key": "",
      "label": "",
      "unit": "",
      "value": null,
      "previous": null,
      "change_pct": null,
      "change_unit": "",
      "status": "",
      "reason": null,
      "remedy": null
    }
  ],
  "interactions": {
    "key": "",
    "label": "",
    "definition": "",
    "native": true,
    "source": "",
    "components": [
      ""
    ],
    "value": null,
    "previous": null,
    "change_pct": null,
    "change_unit": "",
    "status": "",
    "reason": null,
    "remedy": null
  },
  "rates": [
    {
      "key": "",
      "label": "",
      "definition": "",
      "numerator_key": "",
      "denominator_key": "",
      "denominator_label": null,
      "denominator_unit": null,
      "basis": "",
      "value": null,
      "per_post_mean": null,
      "previous": null,
      "change_pp": null,
      "change_unit": "",
      "status": "",
      "reason": null,
      "remedy": null
    }
  ],
  "series": {
    "basis": "",
    "values": "",
    "note": "",
    "interval": "",
    "timezone": "",
    "metrics": [
      ""
    ],
    "points": [
      {
        "date": "",
        "posts": 1,
        "values": null
      }
    ]
  },
  "audience": {
    "supported": true,
    "metrics": [
      ""
    ],
    "points": [
      {
        "date": "",
        "values": {
          "additionalProperty": 1
        }
      }
    ],
    "labels": {
      "additionalProperty": ""
    },
    "latest": {
      "date": "",
      "values": {
        "additionalProperty": 1
      }
    },
    "change": {
      "additionalProperty": 1
    }
  }
}
```

### AccountReportSummaryResource

- **Type:**`object`

* **`account` (required)**

  `object` — The account this row describes.

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string | null`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`social` (required)**

    `string`

* **`collection` (required)**

  `object` — Whether collection is ok, partial, paused, disconnected, unsupported or has never run.

  - **`cadence_hours` (required)**

    `integer`

  - **`last_collected_at` (required)**

    `string | null`

  - **`polling_window_days` (required)**

    `integer`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`state` (required)**

    `string`

* **`coverage` (required)**

  `object | null` — How many posts and days the range actually rests on.

  - **`days_in_range` (required)**

    `integer`

  - **`days_with_posts` (required)**

    `integer`

  - **`posts_imported` (required)**

    `integer`

  - **`posts_in_range` (required)**

    `integer`

* **`headline_metric` (required)**

  `string | null` — The key of the metric this platform leads with, if any.

* **`interactions` (required)**

  `object | null` — The account's interaction score, whether the platform reports one natively, and what this range's score was built from.

  - **`change_pct` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`components` (required)**

    `array`

    **Items:**

    `string`

  - **`definition` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`native` (required)**

    `boolean`

  - **`previous` (required)**

    `integer | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`source` (required)**

    `string`

  - **`status` (required)**

    `string`

  - **`value` (required)**

    `integer | null`

* **`rates` (required)**

  `array` — Declared rates, each naming what it divided by.

  **Items:**

  - **`basis` (required)**

    `string`

  - **`change_pp` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`definition` (required)**

    `string`

  - **`denominator_key` (required)**

    `string`

  - **`denominator_label` (required)**

    `string | null`

  - **`denominator_unit` (required)**

    `string | null`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`numerator_key` (required)**

    `string`

  - **`per_post_mean` (required)**

    `number | null`

  - **`previous` (required)**

    `number | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`value` (required)**

    `number | null`

* **`totals` (required)**

  `array` — Summed post metrics for the range, each against the previous window.

  **Items:**

  - **`change_pct` (required)**

    `number | null`

  - **`change_unit` (required)**

    `string`

  - **`key` (required)**

    `string`

  - **`label` (required)**

    `string`

  - **`previous` (required)**

    `integer | null`

  - **`reason` (required)**

    `string | null`

  - **`remedy` (required)**

    `string | null`

  - **`status` (required)**

    `string`

  - **`unit` (required)**

    `string`

  - **`value` (required)**

    `integer | null`

**Example:**

```json
{
  "account": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": null,
    "avatar": null,
    "disconnected_at": null
  },
  "collection": {
    "state": "",
    "reason": null,
    "remedy": null,
    "last_collected_at": null,
    "cadence_hours": 1,
    "polling_window_days": 1
  },
  "headline_metric": null,
  "totals": [
    {
      "key": "",
      "label": "",
      "unit": "",
      "value": null,
      "previous": null,
      "change_pct": null,
      "change_unit": "",
      "status": "",
      "reason": null,
      "remedy": null
    }
  ],
  "interactions": {
    "key": "",
    "label": "",
    "definition": "",
    "native": true,
    "source": "",
    "components": [
      ""
    ],
    "value": null,
    "previous": null,
    "change_pct": null,
    "change_unit": "",
    "status": "",
    "reason": null,
    "remedy": null
  },
  "rates": [
    {
      "key": "",
      "label": "",
      "definition": "",
      "numerator_key": "",
      "denominator_key": "",
      "denominator_label": null,
      "denominator_unit": null,
      "basis": "",
      "value": null,
      "per_post_mean": null,
      "previous": null,
      "change_pp": null,
      "change_unit": "",
      "status": "",
      "reason": null,
      "remedy": null
    }
  ],
  "coverage": {
    "posts_in_range": 1,
    "posts_imported": 1,
    "days_in_range": 1,
    "days_with_posts": 1
  }
}
```

### AccountResource

- **Type:**`object`

* **`avatar` (required)**

  `string | null`

* **`disconnected_at` (required)**

  `string`

* **`display_name` (required)**

  `string`

* **`handler` (required)**

  `string`

* **`id` (required)**

  `integer`

* **`is_active` (required)**

  `boolean`

* **`profile_url` (required)**

  `string`

* **`quota_parked_at` (required)**

  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

* **`social` (required)**

  `string`

* **`unavailable_capabilities` (required)**

  `array` — Features unavailable on this connection until it is reconnected.

  **Items:**

**Example:**

```json
{
  "id": 1,
  "social": "",
  "display_name": "",
  "handler": "",
  "profile_url": "",
  "avatar": null,
  "is_active": true,
  "quota_parked_at": "",
  "disconnected_at": "",
  "unavailable_capabilities": []
}
```

### BioBlockResource

- **Type:**`object`

* **`content` (required)**

  `array`

  **Items:**

* **`id` (required)**

  `integer`

* **`is_visible` (required)**

  `boolean`

* **`sort_order` (required)**

  `integer`

* **`type` (required)**

  `string`

* **`embed`**

  `string`

* **`image_url`**

  `string`

**Example:**

```json
{
  "id": 1,
  "type": "",
  "content": [],
  "sort_order": 1,
  "is_visible": true,
  "image_url": "",
  "embed": ""
}
```

### BioPageResource

- **Type:**`object`

* **`avatar` (required)**

  `string`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`description` (required)**

  `string | null`

* **`id` (required)**

  `integer`

* **`is_enabled` (required)**

  `boolean`

* **`public_url` (required)**

  `string`

* **`settings` (required)**

  `object`

  - **`btn_radius` (required)**

    `string`

  - **`colors` (required)**

    `array`

    **Items:**

  - **`font` (required)**

    `string`

* **`slug` (required)**

  `string`

* **`theme` (required)**

  `string`

* **`title` (required)**

  `string | null`

* **`updated_at` (required)**

  `string | null`, format: `date-time`

**Example:**

```json
{
  "id": 1,
  "slug": "",
  "title": null,
  "description": null,
  "theme": "",
  "settings": {
    "colors": [],
    "btn_radius": "",
    "font": ""
  },
  "avatar": "",
  "is_enabled": true,
  "public_url": "",
  "created_at": null,
  "updated_at": null
}
```

### IngestMediaRequest

- **Type:**`object`

* **`url` (required)**

  `string`

* **`mime`**

  `string | null`

* **`name`**

  `string | null`

* **`type`**

  `string | null`

**Example:**

```json
{
  "url": "",
  "type": null,
  "mime": null,
  "name": null
}
```

### MediaResource

- **Type:**`object`

* **`alt` (required)**

  `string`

* **`duration` (required)**

  `string | null` — Seconds, for video we could measure; null for everything else.

* **`height` (required)**

  `string`

* **`id` (required)**

  `string`

* **`mime` (required)**

  `string`

* **`name` (required)**

  `string`

* **`order` (required)**

  `string`

* **`size` (required)**

  `string`

* **`type` (required)**

  `string`

* **`url` (required)**

  `string`

* **`width` (required)**

  `string`

**Example:**

```json
{
  "id": "",
  "type": "",
  "url": "",
  "name": "",
  "mime": "",
  "width": "",
  "height": "",
  "size": "",
  "duration": null,
  "alt": "",
  "order": ""
}
```

### OrganizationInvitationResource

- **Type:**`object`

* **`accepted_at` (required)**

  `string | null`, format: `date-time`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`email` (required)**

  `string`

* **`expires_at` (required)**

  `string`, format: `date-time`

* **`id` (required)**

  `integer`

* **`is_expired` (required)**

  `boolean`

* **`permissions` (required)**

  `object`

* **`role` (required)**

  `string`

**Example:**

```json
{
  "id": 1,
  "email": "",
  "role": "",
  "permissions": "",
  "expires_at": "",
  "accepted_at": null,
  "created_at": null,
  "is_expired": true
}
```

### OrganizationMemberResource

- **Type:**`object`

* **`email` (required)**

  `string`

* **`id` (required)**

  `integer`

* **`name` (required)**

  `string`

* **`is_suspended`**

  `boolean`

* **`joined_at`**

  `string`

* **`permissions`**

  `object`

* **`role`**

  `string`

**Example:**

```json
{
  "id": 1,
  "name": "",
  "email": "",
  "role": "",
  "permissions": "",
  "joined_at": "",
  "is_suspended": true
}
```

### PostCreatedWith

- **Type:**`string`

**Example:**

### PostResource

- **Type:**`object`

* **`account_id` (required)**

  `integer`

* **`analytics` (required)**

  `array | null`

* **`cluster_id` (required)**

  `string`

* **`content` (required)**

  `string`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`created_with` (required)**

  `object`

* **`id` (required)**

  `integer`

* **`metadata` (required)**

  `array | null`

* **`order` (required)**

  `integer`

* **`parent_id` (required)**

  `integer | null`

* **`published_at` (required)**

  `string | null`, format: `date-time`

* **`scheduled_at` (required)**

  `string | null`, format: `date-time`

* **`status` (required)**

  `integer`, possible values: `0, 1, 2, 3, 4, 5`

* **`updated_at` (required)**

  `string | null`, format: `date-time`

* **`user_id` (required)**

  `integer`

* **`account`**

  `object`

  - **`avatar` (required)**

    `string | null`

  - **`disconnected_at` (required)**

    `string`

  - **`display_name` (required)**

    `string`

  - **`handler` (required)**

    `string`

  - **`id` (required)**

    `integer`

  - **`is_active` (required)**

    `boolean`

  - **`profile_url` (required)**

    `string`

  - **`quota_parked_at` (required)**

    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

  - **`social` (required)**

    `string`

  - **`unavailable_capabilities` (required)**

    `array` — Features unavailable on this connection until it is reconnected.

    **Items:**

* **`analytics_metrics`**

  `array`

  **Items:**

* **`children`**

  `array`

  **Items:**

  - **`account_id` (required)**

    `integer`

  - **`analytics` (required)**

    `array | null`

  - **`cluster_id` (required)**

    `string`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`created_with` (required)**

    `object`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`order` (required)**

    `integer`

  - **`parent_id` (required)**

    `integer | null`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5`

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

  - **`user_id` (required)**

    `integer`

  - **`account`**

    `object`

    - **`avatar` (required)**

      `string | null`

    - **`disconnected_at` (required)**

      `string`

    - **`display_name` (required)**

      `string`

    - **`handler` (required)**

      `string`

    - **`id` (required)**

      `integer`

    - **`is_active` (required)**

      `boolean`

    - **`profile_url` (required)**

      `string`

    - **`quota_parked_at` (required)**

      `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

    - **`social` (required)**

      `string`

    - **`unavailable_capabilities` (required)**

      `array` — Features unavailable on this connection until it is reconnected.

      **Items:**

  - **`analytics_metrics`**

    `array`

    **Items:**

  - **`children`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`analytics` (required)**

      `array | null`

    - **`cluster_id` (required)**

      `string`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`created_with` (required)**

      `object`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`order` (required)**

      `integer`

    - **`parent_id` (required)**

      `integer | null`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5`

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

    - **`user_id` (required)**

      `integer`

    - **`account`**

      `object`

      - **`avatar` (required)**

        `string | null`

      - **`disconnected_at` (required)**

        `string`

      - **`display_name` (required)**

        `string`

      - **`handler` (required)**

        `string`

      - **`id` (required)**

        `integer`

      - **`is_active` (required)**

        `boolean`

      - **`profile_url` (required)**

        `string`

      - **`quota_parked_at` (required)**

        `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

      - **`social` (required)**

        `string`

      - **`unavailable_capabilities` (required)**

        `array` — Features unavailable on this connection until it is reconnected.

        **Items:**

    - **`analytics_metrics`**

      `array`

      **Items:**

    - **`children`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`analytics` (required)**

        `array | null`

      - **`cluster_id` (required)**

        `string`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`created_with` (required)**

        `object`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`order` (required)**

        `integer`

      - **`parent_id` (required)**

        `integer | null`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5`

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

      - **`user_id` (required)**

        `integer`

      - **`account`**

        `object`

        - **`avatar` (required)**

          `string | null`

        - **`disconnected_at` (required)**

          `string`

        - **`display_name` (required)**

          `string`

        - **`handler` (required)**

          `string`

        - **`id` (required)**

          `integer`

        - **`is_active` (required)**

          `boolean`

        - **`profile_url` (required)**

          `string`

        - **`quota_parked_at` (required)**

          `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

        - **`social` (required)**

          `string`

        - **`unavailable_capabilities` (required)**

          `array` — Features unavailable on this connection until it is reconnected.

          **Items:**

      - **`analytics_metrics`**

        `array`

        **Items:**

      - **`children`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`analytics` (required)**

          `array | null`

        - **`cluster_id` (required)**

          `string`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`created_with` (required)**

          `object`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`order` (required)**

          `integer`

        - **`parent_id` (required)**

          `integer | null`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5`

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

        - **`user_id` (required)**

          `integer`

        - **`account`**

          `object`

          - **`avatar` (required)**

            `string | null`

          - **`disconnected_at` (required)**

            `string`

          - **`display_name` (required)**

            `string`

          - **`handler` (required)**

            `string`

          - **`id` (required)**

            `integer`

          - **`is_active` (required)**

            `boolean`

          - **`profile_url` (required)**

            `string`

          - **`quota_parked_at` (required)**

            `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

          - **`social` (required)**

            `string`

          - **`unavailable_capabilities` (required)**

            `array` — Features unavailable on this connection until it is reconnected.

            **Items:**

        - **`analytics_metrics`**

          `array`

          **Items:**

        - **`children`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`analytics` (required)**

            `array | null`

          - **`cluster_id` (required)**

            `string`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`created_with` (required)**

            `object`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`order` (required)**

            `integer`

          - **`parent_id` (required)**

            `integer | null`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5`

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

          - **`user_id` (required)**

            `integer`

          - **`account`**

            `object`

            - **`avatar` (required)**

              `string | null`

            - **`disconnected_at` (required)**

              `string`

            - **`display_name` (required)**

              `string`

            - **`handler` (required)**

              `string`

            - **`id` (required)**

              `integer`

            - **`is_active` (required)**

              `boolean`

            - **`profile_url` (required)**

              `string`

            - **`quota_parked_at` (required)**

              `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

            - **`social` (required)**

              `string`

            - **`unavailable_capabilities` (required)**

              `array` — Features unavailable on this connection until it is reconnected.

              **Items:**

          - **`analytics_metrics`**

            `array`

            **Items:**

          - **`children`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`analytics` (required)**

              `array | null`

            - **`cluster_id` (required)**

              `string`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`created_with` (required)**

              `object`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`order` (required)**

              `integer`

            - **`parent_id` (required)**

              `integer | null`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5`

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

            - **`user_id` (required)**

              `integer`

            - **`account`**

              `object`

              - **`avatar` (required)**

                `string | null`

              - **`disconnected_at` (required)**

                `string`

              - **`display_name` (required)**

                `string`

              - **`handler` (required)**

                `string`

              - **`id` (required)**

                `integer`

              - **`is_active` (required)**

                `boolean`

              - **`profile_url` (required)**

                `string`

              - **`quota_parked_at` (required)**

                `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

              - **`social` (required)**

                `string`

              - **`unavailable_capabilities` (required)**

                `array` — Features unavailable on this connection until it is reconnected.

                **Items:**

            - **`analytics_metrics`**

              `array`

              **Items:**

            - **`children`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`analytics` (required)**

                `array | null`

              - **`cluster_id` (required)**

                `string`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`created_with` (required)**

                `object`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`order` (required)**

                `integer`

              - **`parent_id` (required)**

                `integer | null`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5`

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

              - **`user_id` (required)**

                `integer`

              - **`account`**

                `object`

                - **`avatar` (required)**

                  `string | null`

                - **`disconnected_at` (required)**

                  `string`

                - **`display_name` (required)**

                  `string`

                - **`handler` (required)**

                  `string`

                - **`id` (required)**

                  `integer`

                - **`is_active` (required)**

                  `boolean`

                - **`profile_url` (required)**

                  `string`

                - **`quota_parked_at` (required)**

                  `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                - **`social` (required)**

                  `string`

                - **`unavailable_capabilities` (required)**

                  `array` — Features unavailable on this connection until it is reconnected.

                  **Items:**

              - **`analytics_metrics`**

                `array`

                **Items:**

              - **`children`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`analytics` (required)**

                  `array | null`

                - **`cluster_id` (required)**

                  `string`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`created_with` (required)**

                  `object`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`order` (required)**

                  `integer`

                - **`parent_id` (required)**

                  `integer | null`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5`

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

                - **`user_id` (required)**

                  `integer`

                - **`account`**

                  `object`

                  - **`avatar` (required)**

                    `string | null`

                  - **`disconnected_at` (required)**

                    `string`

                  - **`display_name` (required)**

                    `string`

                  - **`handler` (required)**

                    `string`

                  - **`id` (required)**

                    `integer`

                  - **`is_active` (required)**

                    `boolean`

                  - **`profile_url` (required)**

                    `string`

                  - **`quota_parked_at` (required)**

                    `string` — When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves.

                  - **`social` (required)**

                    `string`

                  - **`unavailable_capabilities` (required)**

                    `array` — Features unavailable on this connection until it is reconnected.

                    **Items:**

                    *\[Circular Reference]*

                - **`analytics_metrics`**

                  `array`

                  **Items:**

                - **`children`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`analytics` (required)**

                    `array | null`

                  - **`cluster_id` (required)**

                    `string`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`created_with` (required)**

                    `object`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`order` (required)**

                    `integer`

                  - **`parent_id` (required)**

                    `integer | null`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5`

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                  - **`user_id` (required)**

                    `integer`

                  - **`account`**

                    `object`

                    *\[Circular Reference]*

                  - **`analytics_metrics`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`children`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`media`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`review`**

                    `object`

                  - **`scheduled_comments`**

                    `array`

                    **Items:**

                    *\[Circular Reference]*

                  - **`type`**

                    `object`

                - **`media`**

                  `array`

                  **Items:**

                  - **`alt` (required)**

                    `string`

                  - **`duration` (required)**

                    `string | null` — Seconds, for video we could measure; null for everything else.

                  - **`height` (required)**

                    `string`

                  - **`id` (required)**

                    `string`

                  - **`mime` (required)**

                    `string`

                  - **`name` (required)**

                    `string`

                  - **`order` (required)**

                    `string`

                  - **`size` (required)**

                    `string`

                  - **`type` (required)**

                    `string`

                  - **`url` (required)**

                    `string`

                  - **`width` (required)**

                    `string`

                - **`review`**

                  `object`

                - **`scheduled_comments`**

                  `array`

                  **Items:**

                  - **`account_id` (required)**

                    `integer`

                  - **`content` (required)**

                    `string`

                  - **`created_at` (required)**

                    `string | null`, format: `date-time`

                  - **`delay_minutes` (required)**

                    `integer`

                  - **`id` (required)**

                    `integer`

                  - **`metadata` (required)**

                    `array | null`

                  - **`post_id` (required)**

                    `integer`

                  - **`published_at` (required)**

                    `string | null`, format: `date-time`

                  - **`scheduled_at` (required)**

                    `string | null`, format: `date-time`

                  - **`status` (required)**

                    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                  - **`updated_at` (required)**

                    `string | null`, format: `date-time`

                - **`type`**

                  `object`

              - **`media`**

                `array`

                **Items:**

                - **`alt` (required)**

                  `string`

                - **`duration` (required)**

                  `string | null` — Seconds, for video we could measure; null for everything else.

                - **`height` (required)**

                  `string`

                - **`id` (required)**

                  `string`

                - **`mime` (required)**

                  `string`

                - **`name` (required)**

                  `string`

                - **`order` (required)**

                  `string`

                - **`size` (required)**

                  `string`

                - **`type` (required)**

                  `string`

                - **`url` (required)**

                  `string`

                - **`width` (required)**

                  `string`

              - **`review`**

                `object`

              - **`scheduled_comments`**

                `array`

                **Items:**

                - **`account_id` (required)**

                  `integer`

                - **`content` (required)**

                  `string`

                - **`created_at` (required)**

                  `string | null`, format: `date-time`

                - **`delay_minutes` (required)**

                  `integer`

                - **`id` (required)**

                  `integer`

                - **`metadata` (required)**

                  `array | null`

                - **`post_id` (required)**

                  `integer`

                - **`published_at` (required)**

                  `string | null`, format: `date-time`

                - **`scheduled_at` (required)**

                  `string | null`, format: `date-time`

                - **`status` (required)**

                  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

                - **`updated_at` (required)**

                  `string | null`, format: `date-time`

              - **`type`**

                `object`

            - **`media`**

              `array`

              **Items:**

              - **`alt` (required)**

                `string`

              - **`duration` (required)**

                `string | null` — Seconds, for video we could measure; null for everything else.

              - **`height` (required)**

                `string`

              - **`id` (required)**

                `string`

              - **`mime` (required)**

                `string`

              - **`name` (required)**

                `string`

              - **`order` (required)**

                `string`

              - **`size` (required)**

                `string`

              - **`type` (required)**

                `string`

              - **`url` (required)**

                `string`

              - **`width` (required)**

                `string`

            - **`review`**

              `object`

            - **`scheduled_comments`**

              `array`

              **Items:**

              - **`account_id` (required)**

                `integer`

              - **`content` (required)**

                `string`

              - **`created_at` (required)**

                `string | null`, format: `date-time`

              - **`delay_minutes` (required)**

                `integer`

              - **`id` (required)**

                `integer`

              - **`metadata` (required)**

                `array | null`

              - **`post_id` (required)**

                `integer`

              - **`published_at` (required)**

                `string | null`, format: `date-time`

              - **`scheduled_at` (required)**

                `string | null`, format: `date-time`

              - **`status` (required)**

                `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

              - **`updated_at` (required)**

                `string | null`, format: `date-time`

            - **`type`**

              `object`

          - **`media`**

            `array`

            **Items:**

            - **`alt` (required)**

              `string`

            - **`duration` (required)**

              `string | null` — Seconds, for video we could measure; null for everything else.

            - **`height` (required)**

              `string`

            - **`id` (required)**

              `string`

            - **`mime` (required)**

              `string`

            - **`name` (required)**

              `string`

            - **`order` (required)**

              `string`

            - **`size` (required)**

              `string`

            - **`type` (required)**

              `string`

            - **`url` (required)**

              `string`

            - **`width` (required)**

              `string`

          - **`review`**

            `object`

          - **`scheduled_comments`**

            `array`

            **Items:**

            - **`account_id` (required)**

              `integer`

            - **`content` (required)**

              `string`

            - **`created_at` (required)**

              `string | null`, format: `date-time`

            - **`delay_minutes` (required)**

              `integer`

            - **`id` (required)**

              `integer`

            - **`metadata` (required)**

              `array | null`

            - **`post_id` (required)**

              `integer`

            - **`published_at` (required)**

              `string | null`, format: `date-time`

            - **`scheduled_at` (required)**

              `string | null`, format: `date-time`

            - **`status` (required)**

              `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

            - **`updated_at` (required)**

              `string | null`, format: `date-time`

          - **`type`**

            `object`

        - **`media`**

          `array`

          **Items:**

          - **`alt` (required)**

            `string`

          - **`duration` (required)**

            `string | null` — Seconds, for video we could measure; null for everything else.

          - **`height` (required)**

            `string`

          - **`id` (required)**

            `string`

          - **`mime` (required)**

            `string`

          - **`name` (required)**

            `string`

          - **`order` (required)**

            `string`

          - **`size` (required)**

            `string`

          - **`type` (required)**

            `string`

          - **`url` (required)**

            `string`

          - **`width` (required)**

            `string`

        - **`review`**

          `object`

        - **`scheduled_comments`**

          `array`

          **Items:**

          - **`account_id` (required)**

            `integer`

          - **`content` (required)**

            `string`

          - **`created_at` (required)**

            `string | null`, format: `date-time`

          - **`delay_minutes` (required)**

            `integer`

          - **`id` (required)**

            `integer`

          - **`metadata` (required)**

            `array | null`

          - **`post_id` (required)**

            `integer`

          - **`published_at` (required)**

            `string | null`, format: `date-time`

          - **`scheduled_at` (required)**

            `string | null`, format: `date-time`

          - **`status` (required)**

            `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

          - **`updated_at` (required)**

            `string | null`, format: `date-time`

        - **`type`**

          `object`

      - **`media`**

        `array`

        **Items:**

        - **`alt` (required)**

          `string`

        - **`duration` (required)**

          `string | null` — Seconds, for video we could measure; null for everything else.

        - **`height` (required)**

          `string`

        - **`id` (required)**

          `string`

        - **`mime` (required)**

          `string`

        - **`name` (required)**

          `string`

        - **`order` (required)**

          `string`

        - **`size` (required)**

          `string`

        - **`type` (required)**

          `string`

        - **`url` (required)**

          `string`

        - **`width` (required)**

          `string`

      - **`review`**

        `object`

      - **`scheduled_comments`**

        `array`

        **Items:**

        - **`account_id` (required)**

          `integer`

        - **`content` (required)**

          `string`

        - **`created_at` (required)**

          `string | null`, format: `date-time`

        - **`delay_minutes` (required)**

          `integer`

        - **`id` (required)**

          `integer`

        - **`metadata` (required)**

          `array | null`

        - **`post_id` (required)**

          `integer`

        - **`published_at` (required)**

          `string | null`, format: `date-time`

        - **`scheduled_at` (required)**

          `string | null`, format: `date-time`

        - **`status` (required)**

          `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

        - **`updated_at` (required)**

          `string | null`, format: `date-time`

      - **`type`**

        `object`

    - **`media`**

      `array`

      **Items:**

      - **`alt` (required)**

        `string`

      - **`duration` (required)**

        `string | null` — Seconds, for video we could measure; null for everything else.

      - **`height` (required)**

        `string`

      - **`id` (required)**

        `string`

      - **`mime` (required)**

        `string`

      - **`name` (required)**

        `string`

      - **`order` (required)**

        `string`

      - **`size` (required)**

        `string`

      - **`type` (required)**

        `string`

      - **`url` (required)**

        `string`

      - **`width` (required)**

        `string`

    - **`review`**

      `object`

    - **`scheduled_comments`**

      `array`

      **Items:**

      - **`account_id` (required)**

        `integer`

      - **`content` (required)**

        `string`

      - **`created_at` (required)**

        `string | null`, format: `date-time`

      - **`delay_minutes` (required)**

        `integer`

      - **`id` (required)**

        `integer`

      - **`metadata` (required)**

        `array | null`

      - **`post_id` (required)**

        `integer`

      - **`published_at` (required)**

        `string | null`, format: `date-time`

      - **`scheduled_at` (required)**

        `string | null`, format: `date-time`

      - **`status` (required)**

        `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

      - **`updated_at` (required)**

        `string | null`, format: `date-time`

    - **`type`**

      `object`

  - **`media`**

    `array`

    **Items:**

    - **`alt` (required)**

      `string`

    - **`duration` (required)**

      `string | null` — Seconds, for video we could measure; null for everything else.

    - **`height` (required)**

      `string`

    - **`id` (required)**

      `string`

    - **`mime` (required)**

      `string`

    - **`name` (required)**

      `string`

    - **`order` (required)**

      `string`

    - **`size` (required)**

      `string`

    - **`type` (required)**

      `string`

    - **`url` (required)**

      `string`

    - **`width` (required)**

      `string`

  - **`review`**

    `object`

  - **`scheduled_comments`**

    `array`

    **Items:**

    - **`account_id` (required)**

      `integer`

    - **`content` (required)**

      `string`

    - **`created_at` (required)**

      `string | null`, format: `date-time`

    - **`delay_minutes` (required)**

      `integer`

    - **`id` (required)**

      `integer`

    - **`metadata` (required)**

      `array | null`

    - **`post_id` (required)**

      `integer`

    - **`published_at` (required)**

      `string | null`, format: `date-time`

    - **`scheduled_at` (required)**

      `string | null`, format: `date-time`

    - **`status` (required)**

      `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

    - **`updated_at` (required)**

      `string | null`, format: `date-time`

  - **`type`**

    `object`

* **`media`**

  `array`

  **Items:**

  - **`alt` (required)**

    `string`

  - **`duration` (required)**

    `string | null` — Seconds, for video we could measure; null for everything else.

  - **`height` (required)**

    `string`

  - **`id` (required)**

    `string`

  - **`mime` (required)**

    `string`

  - **`name` (required)**

    `string`

  - **`order` (required)**

    `string`

  - **`size` (required)**

    `string`

  - **`type` (required)**

    `string`

  - **`url` (required)**

    `string`

  - **`width` (required)**

    `string`

* **`review`**

  `object`

* **`scheduled_comments`**

  `array`

  **Items:**

  - **`account_id` (required)**

    `integer`

  - **`content` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`delay_minutes` (required)**

    `integer`

  - **`id` (required)**

    `integer`

  - **`metadata` (required)**

    `array | null`

  - **`post_id` (required)**

    `integer`

  - **`published_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`status` (required)**

    `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

  - **`updated_at` (required)**

    `string | null`, format: `date-time`

* **`type`**

  `object`

**Example:**

```json
{
  "id": 1,
  "content": "",
  "created_with": "web",
  "status": 0,
  "order": 1,
  "scheduled_at": null,
  "published_at": null,
  "metadata": [],
  "type": "",
  "cluster_id": "",
  "parent_id": null,
  "user_id": 1,
  "account_id": 1,
  "created_at": null,
  "updated_at": null,
  "analytics": [],
  "analytics_metrics": [],
  "account": {
    "id": 1,
    "social": "",
    "display_name": "",
    "handler": "",
    "profile_url": "",
    "avatar": null,
    "is_active": true,
    "quota_parked_at": "",
    "disconnected_at": "",
    "unavailable_capabilities": []
  },
  "children": [
    {
      "id": 1,
      "content": "",
      "created_with": null,
      "status": null,
      "order": 1,
      "scheduled_at": null,
      "published_at": null,
      "metadata": [],
      "type": "",
      "cluster_id": "",
      "parent_id": null,
      "user_id": 1,
      "account_id": 1,
      "created_at": null,
      "updated_at": null,
      "analytics": [],
      "analytics_metrics": [],
      "account": null,
      "scheduled_comments": [],
      "media": [],
      "review": null
    }
  ],
  "scheduled_comments": [
    {
      "id": 1,
      "content": "",
      "status": null,
      "delay_minutes": 1,
      "scheduled_at": null,
      "published_at": null,
      "metadata": [],
      "post_id": 1,
      "account_id": 1,
      "created_at": null,
      "updated_at": null
    }
  ],
  "media": [
    {
      "id": "",
      "type": "",
      "url": "",
      "name": "",
      "mime": "",
      "width": "",
      "height": "",
      "size": "",
      "duration": null,
      "alt": "",
      "order": ""
    }
  ],
  "review": {
    "id": 1,
    "post_id": 1,
    "decision": null,
    "publish_now": true,
    "requested_at": null,
    "decided_at": null,
    "scheduled_at": null,
    "requested_by": {
      "id": "",
      "name": ""
    },
    "decided_by": {
      "type": "member",
      "name": ""
    },
    "comments": [],
    "rounds": [],
    "post": []
  }
}
```

### PostReviewResource

- **Type:**`object`

* **`decided_at` (required)**

  `string | null`, format: `date-time`

* **`decided_by` (required)**

  `object | null`

  - **`name` (required)**

    `string`

  - **`type` (required)**

    `string`

* **`decision` (required)**

  `string | null`

* **`id` (required)**

  `integer`

* **`post_id` (required)**

  `integer`

* **`publish_now` (required)**

  `boolean`

* **`requested_at` (required)**

  `string | null`, format: `date-time`

* **`scheduled_at` (required)**

  `string | null`, format: `date-time`

* **`comments`**

  `array`

  **Items:**

  - **`author` (required)**

    `object`

    - **`name` (required)**

      `object`

    - **`type` (required)**

      `string`

  - **`body` (required)**

    `string`

  - **`created_at` (required)**

    `string | null`, format: `date-time`

  - **`id` (required)**

    `integer`

* **`post`**

  `array | null`

* **`requested_by`**

  `object`

  - **`id` (required)**

    `string`

  - **`name` (required)**

    `string`

* **`rounds`**

  `array`

  **Items:**

  - **`decided_at` (required)**

    `string | null`, format: `date-time`

  - **`decision` (required)**

    `string | null`

  - **`id` (required)**

    `integer`

  - **`publish_now` (required)**

    `boolean`

  - **`requested_at` (required)**

    `string | null`, format: `date-time`

  - **`scheduled_at` (required)**

    `string | null`, format: `date-time`

  - **`decided_by`**

    `object`

    - **`id` (required)**

      `string`

    - **`name` (required)**

      `string`

  - **`requested_by`**

    `object`

    - **`id` (required)**

      `string`

    - **`name` (required)**

      `string`

**Example:**

```json
{
  "id": 1,
  "post_id": 1,
  "decision": null,
  "publish_now": true,
  "requested_at": null,
  "decided_at": null,
  "scheduled_at": null,
  "requested_by": {
    "id": "",
    "name": ""
  },
  "decided_by": {
    "type": "member",
    "name": ""
  },
  "comments": [
    {
      "id": 1,
      "body": "",
      "author": {
        "type": "member",
        "name": ""
      },
      "created_at": null
    }
  ],
  "rounds": [
    {
      "id": 1,
      "decision": null,
      "publish_now": true,
      "requested_at": null,
      "decided_at": null,
      "scheduled_at": null,
      "requested_by": {
        "id": "",
        "name": ""
      },
      "decided_by": {
        "id": "",
        "name": ""
      }
    }
  ],
  "post": []
}
```

### PostStatus

- **Type:**`integer`

**Example:**

### ReviewCommentResource

- **Type:**`object`

* **`author` (required)**

  `object`

  - **`name` (required)**

    `object`

  - **`type` (required)**

    `string`

* **`body` (required)**

  `string`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`id` (required)**

  `integer`

**Example:**

```json
{
  "id": 1,
  "body": "",
  "author": {
    "type": "member",
    "name": ""
  },
  "created_at": null
}
```

### ReviewRoundResource

- **Type:**`object`

* **`decided_at` (required)**

  `string | null`, format: `date-time`

* **`decision` (required)**

  `string | null`

* **`id` (required)**

  `integer`

* **`publish_now` (required)**

  `boolean`

* **`requested_at` (required)**

  `string | null`, format: `date-time`

* **`scheduled_at` (required)**

  `string | null`, format: `date-time`

* **`decided_by`**

  `object`

  - **`id` (required)**

    `string`

  - **`name` (required)**

    `string`

* **`requested_by`**

  `object`

  - **`id` (required)**

    `string`

  - **`name` (required)**

    `string`

**Example:**

```json
{
  "id": 1,
  "decision": null,
  "publish_now": true,
  "requested_at": null,
  "decided_at": null,
  "scheduled_at": null,
  "requested_by": {
    "id": "",
    "name": ""
  },
  "decided_by": {
    "id": "",
    "name": ""
  }
}
```

### ScheduledCommentResource

- **Type:**`object`

* **`account_id` (required)**

  `integer`

* **`content` (required)**

  `string`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`delay_minutes` (required)**

  `integer`

* **`id` (required)**

  `integer`

* **`metadata` (required)**

  `array | null`

* **`post_id` (required)**

  `integer`

* **`published_at` (required)**

  `string | null`, format: `date-time`

* **`scheduled_at` (required)**

  `string | null`, format: `date-time`

* **`status` (required)**

  `integer`, possible values: `0, 1, 2, 3, 4, 5, 6` — | | |---| | \`0\` \<br/> Created, waiting for the parent post to publish before it can be armed. | | \`1\` \<br/> Armed with the parent's remote id and an absolute fire time. | | \`2\` \<br/> | | \`3\` \<br/> | | \`4\` \<br/> | | \`5\` \<br/> Parent post failed, so the comment never armed. | | \`6\` \<br/> Cancelled by the user before publishing. |

* **`updated_at` (required)**

  `string | null`, format: `date-time`

**Example:**

```json
{
  "id": 1,
  "content": "",
  "status": 0,
  "delay_minutes": 1,
  "scheduled_at": null,
  "published_at": null,
  "metadata": [],
  "post_id": 1,
  "account_id": 1,
  "created_at": null,
  "updated_at": null
}
```

### ScheduledCommentStatus

- **Type:**`integer`

|                                                                             |
| --------------------------------------------------------------------------- |
| `0` Created, waiting for the parent post to publish before it can be armed. |
| `1` Armed with the parent's remote id and an absolute fire time.            |
| `2`                                                                         |
| `3`                                                                         |
| `4`                                                                         |
| `5` Parent post failed, so the comment never armed.                         |
| `6` Cancelled by the user before publishing.                                |

**Example:**

### SessionResource

- **Type:**`object`

* **`email` (required)**

  `string`

* **`id` (required)**

  `string`

* **`name` (required)**

  `string`

**Example:**

```json
{
  "id": "",
  "name": "",
  "email": ""
}
```

### SignMediaRequest

- **Type:**`object`

* **`mime` (required)**

  `string`, possible values: `"image/jpeg", "image/png", "image/webp", "video/mp4", "video/quicktime"`

* **`size`**

  `integer | null` — The size of the file about to be uploaded. Optional, and taken on trust — the object is measured again once it lands. Sending it buys an immediate refusal instead of discovering the file was too large after transferring it.

**Example:**

```json
{
  "mime": "image/jpeg",
  "size": null
}
```

### SlotResource

- **Type:**`object`

* **`day_of_week` (required)**

  `integer`

* **`id` (required)**

  `integer`

* **`time` (required)**

  `string`

**Example:**

```json
{
  "id": 1,
  "day_of_week": 1,
  "time": ""
}
```

### SpaceResource

- **Type:**`object`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`id` (required)**

  `integer`

* **`name` (required)**

  `string`

* **`organization_id` (required)**

  `integer` — The organization holding this space, and with it the team that can reach it.

* **`timezone` (required)**

  `string | null` — The organization's timezone, inherited by every space. Read-only here.

* **`updated_at` (required)**

  `string | null`, format: `date-time`

**Example:**

```json
{
  "id": 1,
  "name": "",
  "timezone": null,
  "organization_id": 1,
  "created_at": null,
  "updated_at": null
}
```

### StoreBioBlockRequest

- **Type:**`object`

* **`content` (required)**

  `array`

  **Items:**

  `string`

* **`type` (required)**

  `string`, possible values: `"link", "header", "social_icons", "text", "image", "embed"`

* **`is_visible`**

  `boolean`

**Example:**

```json
{
  "type": "link",
  "content": [
    ""
  ],
  "is_visible": true
}
```

### StoreBioPageRequest

- **Type:**`object`

* **`slug` (required)**

  `string`

* **`theme` (required)**

  `string`, possible values: `"minimal", "bold", "neon", "soft", "classic"`

* **`description`**

  `string | null`

* **`title`**

  `string | null`

**Example:**

```json
{
  "slug": "",
  "title": null,
  "description": null,
  "theme": "minimal"
}
```

### StoreOrganizationInvitationRequest

- **Type:**`object`

* **`email` (required)**

  `string`, format: `email`

* **`role` (required)**

  `string`, possible values: `"creator", "publisher", "approver", "manager"`

**Example:**

```json
{
  "email": "",
  "role": "creator"
}
```

### StorePostRequest

- **Type:**`object`

* **`items` (required)**

  `array`

  **Items:**

  - **`account_id` (required)**

    `integer`

  - **`social` (required)**

    `string`

  - **`children`**

    `array | null`

  - **`main`**

    `object`

    - **`content`**

      `string | null` — Required everywhere but YouTube, where the body is the video description and an empty one is ordinary — a Short is usually posted with a title and nothing else. The driver already handles it (\`$payload\['content'] ?? ''\`) and \`description\` is optional on \`videos.insert\`, so \`required\` was the only thing refusing it. Written as \`required\_unless\` because Laravel resolves the sibling wildcard index for a rule's parameters; it is the rule \*object\* on another key that cannot see one.

    - **`media`**

      `array | null`

  - **`metadata`**

    `object | null`

    - **`allow_comments`**

      `boolean | null`

    - **`allow_duet`**

      `boolean | null`

    - **`allow_stitch`**

      `boolean | null`

    - **`board_id`**

      `string | null`

    - **`brand_organic`**

      `boolean | null`

    - **`branded_content`**

      `boolean | null`

    - **`category_id`**

      `string | null`

    - **`cover_image_url`**

      `string | null`, format: `uri`

    - **`link`**

      `string | null`, format: `uri`

    - **`made_for_kids`**

      `boolean | null`

    - **`post_type`**

      `string | null`

    - **`privacy_level`**

      `string | null`, possible values: `"PUBLIC_TO_EVERYONE", "MUTUAL_FOLLOW_FRIENDS", "FOLLOWER_OF_CREATOR", "SELF_ONLY"`

    - **`privacy_status`**

      `string | null`, possible values: `"public", "unlisted", "private"`

    - **`title`**

      `string | null`

    - **`topic_tag`**

      `string | null`

* **`space_id` (required)**

  `integer`

* **`at`**

  `integer | null`

* **`comment`**

  `object`

  - **`content`**

    `string`

  - **`delay_minutes`**

    `integer`

* **`is_draft`**

  `boolean`

**Example:**

```json
{
  "space_id": 1,
  "at": null,
  "is_draft": true,
  "comment": {
    "content": "",
    "delay_minutes": 1
  },
  "items": [
    {
      "account_id": 1,
      "social": "",
      "children": [
        {
          "content": "",
          "media": [
            {
              "url": "",
              "type": "image"
            }
          ]
        }
      ],
      "metadata": {
        "topic_tag": null,
        "post_type": null,
        "link": null,
        "privacy_level": "PUBLIC_TO_EVERYONE",
        "allow_comments": null,
        "allow_duet": null,
        "allow_stitch": null,
        "branded_content": null,
        "brand_organic": null,
        "board_id": null,
        "title": null,
        "cover_image_url": null,
        "privacy_status": "public",
        "made_for_kids": null,
        "category_id": null
      },
      "main": {
        "content": null,
        "media": [
          {
            "url": "",
            "type": "image"
          }
        ]
      }
    }
  ]
}
```

### StoreScheduledCommentRequest

- **Type:**`object`

* **`content` (required)**

  `string`

* **`delay_minutes` (required)**

  `integer`

**Example:**

```json
{
  "content": "",
  "delay_minutes": 1
}
```

### StoreSlotRequest

- **Type:**`object`

* **`days_of_week` (required)**

  `array`

  **Items:**

  `integer`

* **`time` (required)**

  `string`

**Example:**

```json
{
  "time": "",
  "days_of_week": [
    1
  ]
}
```

### StoreSpaceRequest

- **Type:**`object`

* **`name` (required)**

  `string`

**Example:**

```json
{
  "name": ""
}
```

### StoreWebhookRequest

- **Type:**`object`

* **`events` (required)**

  `array`

  **Items:**

  `string`, possible values: `"post.published", "post.failed", "post.scheduled", "comment.published", "comment.failed", "comment.received", "account.connected", "account.disconnected"`

* **`url` (required)**

  `string`, format: `uri`

**Example:**

```json
{
  "url": "",
  "events": [
    "post.published"
  ]
}
```

### UpdateAccountRequest

- **Type:**`object`

* **`is_active` (required)**

  `boolean` — Whether the account is active. An inactive account is parked, not disconnected: it publishes nothing and disappears from the composer and the bio page, while its connection, posts and analytics survive untouched.

**Example:**

```json
{
  "is_active": true
}
```

### UpdateBioBlockRequest

- **Type:**`object`

* **`content`**

  `array`

  **Items:**

  `string`

* **`is_visible`**

  `boolean`

**Example:**

```json
{
  "content": [
    ""
  ],
  "is_visible": true
}
```

### UpdateOrganizationMemberRequest

- **Type:**`object`

* **`role` (required)**

  `string`, possible values: `"creator", "publisher", "approver", "manager"`

**Example:**

```json
{
  "role": "creator"
}
```

### UpdatePostRequest

- **Type:**`object`

* **`at`**

  `integer | null`

* **`children`**

  `array | null`

* **`content`**

  `string`

* **`is_draft`**

  `boolean`

* **`media`**

  `array | null`

* **`metadata`**

  `object`

  - **`allow_comments`**

    `boolean | null`

  - **`allow_duet`**

    `boolean | null`

  - **`allow_stitch`**

    `boolean | null`

  - **`board_id`**

    `string | null`

  - **`brand_organic`**

    `boolean | null`

  - **`branded_content`**

    `boolean | null`

  - **`category_id`**

    `string | null`

  - **`cover_image_url`**

    `string | null`, format: `uri`

  - **`link`**

    `string | null`, format: `uri`

  - **`made_for_kids`**

    `boolean | null`

  - **`post_type`**

    `string | null`

  - **`privacy_level`**

    `string | null`, possible values: `"PUBLIC_TO_EVERYONE", "MUTUAL_FOLLOW_FRIENDS", "FOLLOWER_OF_CREATOR", "SELF_ONLY"`

  - **`privacy_status`**

    `string | null`, possible values: `"public", "unlisted", "private"`

  - **`title`**

    `string | null`

  - **`topic_tag`**

    `string | null`

**Example:**

```json
{
  "at": null,
  "is_draft": true,
  "content": "",
  "metadata": {
    "topic_tag": null,
    "post_type": null,
    "link": null,
    "privacy_level": "PUBLIC_TO_EVERYONE",
    "allow_comments": null,
    "allow_duet": null,
    "allow_stitch": null,
    "branded_content": null,
    "brand_organic": null,
    "board_id": null,
    "title": null,
    "cover_image_url": null,
    "privacy_status": "public",
    "made_for_kids": null,
    "category_id": null
  },
  "media": [
    {
      "url": "",
      "type": "image"
    }
  ],
  "children": [
    {
      "content": "",
      "media": [
        {
          "url": "",
          "type": "image"
        }
      ]
    }
  ]
}
```

### UpdateScheduledCommentRequest

- **Type:**`object`

* **`content`**

  `string`

* **`delay_minutes`**

  `integer`

**Example:**

```json
{
  "content": "",
  "delay_minutes": 1
}
```

### UpdateSpaceRequest

- **Type:**`object`

* **`name`**

  `string`

**Example:**

```json
{
  "name": ""
}
```

### UpdateWebhookRequest

- **Type:**`object`

* **`events`**

  `array`

  **Items:**

  `string`, possible values: `"post.published", "post.failed", "post.scheduled", "comment.published", "comment.failed", "comment.received", "account.connected", "account.disconnected"`

* **`is_active`**

  `boolean`

* **`url`**

  `string`, format: `uri`

**Example:**

```json
{
  "url": "",
  "is_active": true,
  "events": [
    "post.published"
  ]
}
```

### WebhookResource

- **Type:**`object`

* **`created_at` (required)**

  `string | null`, format: `date-time`

* **`events` (required)**

  `array`

  **Items:**

* **`id` (required)**

  `integer`

* **`is_active` (required)**

  `boolean`

* **`updated_at` (required)**

  `string | null`, format: `date-time`

* **`url` (required)**

  `string`

**Example:**

```json
{
  "id": 1,
  "url": "",
  "events": [],
  "is_active": true,
  "created_at": null,
  "updated_at": null
}
```
