---
title: "Browse open recruitment posts"
method: GET
path: "/exchange/board/posts"
tags: ["Exchange board"]
---

# Browse open recruitment posts

`GET /exchange/board/posts`

## Request

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

Open posts, newest first, optionally in one `locale` and with one `tag`. The caller's own post is not listed (GET /exchange/board/me), nor any post whose poster the caller may not be in an exchange with. A page may hold fewer than `limit` items while `hasNext` is true. From the account's own session only (EXCHANGE_ACCOUNT_REQUIRED). Needs neither consent to the exchange terms nor a verified phone number: anybody signed in may read the board. 404 while EXCHANGE_BOARD_ENABLED is off.

## Query parameters

- `locale` 'ja' | 'en' | 'de' | 'zh' | 'ar' | 'es' | 'fr' | 'hi' | 'id' | 'it' | 'ko' | 'pt' | 'ru' | 'tr' | 'vi'
- `tag` string
- `limit` integer
- `cursor` string

## Response `200`

OK

- object
  - `data` ExchangeBoardPost[], 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
  - `pagination` object, required
    - `nextCursor` string, nullable, required
    - `hasNext` boolean, required
    - `limit` integer, required
    - `totalCount` integer
  - `meta` object, required
    - `requestId` string, required

## Changes

- **2026-10-20** `48dd8a54abea`: 2 info
  - added the required property `data/items/coverPreset` to the response with the `200` status
  - added the required property `data/items/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/get.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)
