---
title: "Start the group exchange diary"
method: POST
path: "/exchange/board/posts/{postId}/start"
tags: ["Exchange board"]
---

# Start the group exchange diary

`POST /exchange/board/posts/{postId}/start`

## Request

- Base URL: `https://whatareyoudo.ing/api/v1`
- URL: `https://whatareyoudo.ing/api/v1/exchange/board/posts/{postId}/start`
- Auth: HTTP bearer

One exchange with the poster and every accepted applicant, each writing under the anonymous name they had on the board. Refused with EXCHANGE_PAIR_NOT_ALLOWED (`details.applicationIds`) when some of them can no longer take part. Pending applications are declined. From the account's own session only (EXCHANGE_ACCOUNT_REQUIRED) and with current consent to the exchange terms (EXCHANGE_CONSENT_REQUIRED). 404 while EXCHANGE_BOARD_ENABLED is off.

## Path parameters

- `postId` string, uuid, required

## Response `200`

OK

- object
  - `data` ExchangeBoardStartResult, required
    - `post` ExchangeBoardMyPost, required
      - `id` string, uuid, required
      - `aliasName` string, required
      - `title` string, required
      - `body` string, required
      - `tags` string[], required
      - `locale` string, required
      - `groupSize` integer, required
      - `acceptedCount` integer, required
      - `status` 'open' | 'started' | 'closed' | 'expired', required
      - `createdAt` string, required
      - `expiresAt` string, required
      - `mine` boolean, required
      - `myApplication` object, nullable, required
        - `id` string, uuid, required
        - `postId` string, uuid, required
        - `postTitle` string, required
        - `postAliasName` string, required
        - `aliasName` string, required
        - `message` string, required
        - `status` 'pending' | 'accepted' | 'declined' | 'withdrawn', required
        - `postStatus` 'open' | 'started' | 'closed' | 'expired', required
        - `createdAt` string, required
        - `exchangeId` string, uuid, nullable, required
      - `coverPreset` string, nullable, required
      - `coverUrl` string, required
      - `applications` ExchangeBoardApplication[], required
        - `id` string, uuid, required
        - `aliasName` string, required
        - `message` string, required
        - `status` 'pending' | 'accepted' | 'declined' | 'withdrawn', required
        - `createdAt` string, required
      - `exchangeId` string, uuid, nullable, required
    - `exchange` ExchangeSummary, required
      - `id` string, uuid, required
      - `status` 'active' | 'ended' | 'aborted', required
      - `endedReason` 'expired' | 'left' | 'blocked' | 'reported' | 'moderation' | 'ended_early', nullable, required
      - `startsAt` string, required
      - `endsAt` string, required
      - `writable` boolean, required
      - `groupId` string, uuid, required
      - `diaryId` string, uuid, required
      - `aliasProfileId` string, uuid, required
      - `aliasDisplayName` string, nullable, required
      - `partnerAliasDisplayName` string, nullable, required
      - `members` ExchangeMember[], required
        - `aliasDisplayName` string, nullable, required
        - `isMe` boolean, required
        - `left` boolean, required
      - `leftAt` string, nullable, required
  - `meta` object, required
    - `requestId` string, required

## Changes

- **2026-10-20** `48dd8a54abea`: 2 info
  - added the required property `data/post/allOf[#/components/schemas/ExchangeBoardPost]/coverPreset` to the response with the `200` status
  - added the required property `data/post/allOf[#/components/schemas/ExchangeBoardPost]/coverUrl` to the response with the `200` status
- **2026-10-20** `a36285d04daa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/whatareyoudo/apis/whatcha-api/changes/exchange/board/posts/:postId/start/post.md)

---

[API](https://skmtc.dev/whatareyoudo/apis/whatcha-api.md) · [All operations](https://skmtc.dev/whatareyoudo/apis/whatcha-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whatareyoudo/apis/whatcha-api/revisions/48dd8a54abea?raw)
