FeatureJet API

FeatureJet API as documented publicly: 27 operations. Contract generated from the documentation by API Evangelist (2026-11-07); not the provider's own document.

GitHub OpenAPI

Operations 27

GET /api/v1/boards List boards #
PATCH /api/v1/boards PATCH /api/v1/boards #
POST /api/v1/boards Create a board #
GET /api/v1/boards/acme/posts/{postId}/evidence Attach implementation evidence #
GET /api/v1/boards/acme/posts/{postId}/propose-status Propose a status change for a human to confirm #
POST /api/v1/boards/acme/queue POST /api/v1/boards/acme/queue #
GET /api/v1/boards/{slug} Get board #
GET /api/v1/boards/{slug}/analytics Get board analytics #
GET /api/v1/boards/{slug}/changelog List shipped posts (changelog) #
GET /api/v1/boards/{slug}/posts List posts in a board #
POST /api/v1/boards/{slug}/posts Create a post #
DELETE /api/v1/boards/{slug}/posts/{id} Delete a post #
GET /api/v1/boards/{slug}/posts/{id} Get a post #
PATCH /api/v1/boards/{slug}/posts/{id} Update a post #
DELETE /api/v1/boards/{slug}/posts/{id}/claim Release a claim #
POST /api/v1/boards/{slug}/posts/{id}/claim Claim a post #
GET /api/v1/boards/{slug}/posts/{id}/comments List comments on a post #
POST /api/v1/boards/{slug}/posts/{id}/comments Create a comment (posted as the board team) #
POST /api/v1/boards/{slug}/posts/{id}/evidence Attach implementation evidence #
POST /api/v1/boards/{slug}/posts/{id}/propose-status Propose a status change for human confirmation #
GET /api/v1/boards/{slug}/posts/{id}/votes Get votes for a post #
POST /api/v1/boards/{slug}/publish Publish a board #
GET /api/v1/boards/{slug}/queue Get board queue #
GET /api/v1/boards/{slug}/roadmap List roadmap posts (open, planned, in_progress, shipped) #
GET /api/v1/boards/{slug}/ship-stats Get ship statistics #
POST /api/v1/boards/{slug}/unpublish Unpublish a board #
GET /api/v1/webhooks List webhooks (read‑only) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/featurejet-com:featurejet-com-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

featurejet-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: FeatureJet API
  version: '2026-11-07'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-07: 27 operation(s) read from 1 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; FeatureJet has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 6
    documentation: 21
    pages-with-code: 1
    pages-read: 1
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-07'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://featurejet.com/docs/api
servers:
- url: https://api.featurejet.com
paths:
  /api/v1/boards:
    get:
      operationId: get_api_v1_boards
      tags:
      - Api
      summary: List boards
      x-source: https://featurejet.com/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsResponse'
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_api_v1_boards
      tags:
      - Api
      summary: PATCH /api/v1/boards
      x-source: https://featurejet.com/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV1BoardsRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchApiV1BoardsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://api.featurejet.com/api/v1/boards  -H \"Authorization: Bearer fj_live_REPLACE_ME\" Board list response {\n \"boards\"\
          : [{\n \"id\": 1,\n \"slug\": \"acme\",\n \"name\": \"Acme Feedback\",\n \"description\": \"Feature requests from customers\",\n \"\
          welcome_message\": \"Tell us what we should ship next\",\n \"published\": true,\n \"created_at\": \"2026-07-09T14:00:00Z\",\n \"logo_url\"\
          : null\n }]\n} Board response {\n \"id\": 1,\n "
    post:
      operationId: post_api_v1_boards
      tags:
      - Api
      summary: Create a board
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: query
        required: false
        schema:
          type: string
        description: Board slug
      - name: name
        in: query
        required: false
        schema:
          type: string
        description: Board name
      - name: description
        in: query
        required: false
        schema:
          type: string
        description: Board description
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/acme/posts/{postId}/evidence:
    get:
      operationId: get_api_v1_boards_acme_posts_postId_evidence
      tags:
      - Api
      summary: Attach implementation evidence
      description: 'Returns: PostPublic, 201 — evidence renders on the public post page'
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: postId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsAcmePostsPostidEvidenceResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/acme/posts/{postId}/propose-status:
    get:
      operationId: get_api_v1_boards_acme_posts_postId_propose_status
      tags:
      - Api
      summary: Propose a status change for a human to confirm
      description: 'Returns: PostPublic — records a PENDING proposal only; nothing changes and no voter is emailed until a human confirms'
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: postId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsAcmePostsPostidProposeStatusResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/acme/queue:
    post:
      operationId: post_api_v1_boards_acme_queue
      tags:
      - Api
      summary: POST /api/v1/boards/acme/queue
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsAcmeQueueRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsAcmeQueueResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://api.featurejet.com/api/v1/boards/acme/queue?limit=1\"  -H \"Authorization: Bearer fj_live_REPLACE_ME\"\n{\n \"\
          posts\": [{\n \"id\": 42,\n \"title\": \"Dark mode\",\n \"status\": \"planned\",\n \"queue_rank\": 1,\n \"vote_count\": 12,\n \"claim\"\
          : null\n }],\n \"total\": 6\n} Claim a post (atomic, with TTL) curl https://api.featurejet.com/api/v1/boards/acme/posts/42/claim  -H\
          \ \"Authorization: Bearer fj_live_REPLACE_ME\""
  /api/v1/boards/{slug}:
    get:
      operationId: get_api_v1_boards_slug
      tags:
      - Api
      summary: Get board
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/analytics:
    get:
      operationId: get_api_v1_boards_slug_analytics
      tags:
      - Api
      summary: Get board analytics
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: period
        in: query
        required: false
        schema:
          type: string
        description: 30d|90d
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugAnalyticsResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/changelog:
    get:
      operationId: get_api_v1_boards_slug_changelog
      tags:
      - Api
      summary: List shipped posts (changelog)
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugChangelogResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts:
    get:
      operationId: get_api_v1_boards_slug_posts
      tags:
      - Api
      summary: List posts in a board
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: status
        in: query
        required: false
        schema:
          type: string
        description: Filter by status
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Search query
      - name: tag
        in: query
        required: false
        schema:
          type: string
        description: Filter by tag
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: Sort order (top|new)
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: Limit 1..500
      - name: offset
        in: query
        required: false
        schema:
          type: string
        description: Offset >=0
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugPostsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_boards_slug_posts
      tags:
      - Api
      summary: Create a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsSlugPostsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPostsResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}:
    delete:
      operationId: delete_api_v1_boards_slug_posts_id
      tags:
      - Api
      summary: Delete a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteApiV1BoardsSlugPostsIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_api_v1_boards_slug_posts_id
      tags:
      - Api
      summary: Get a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugPostsIdResponse'
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_api_v1_boards_slug_posts_id
      tags:
      - Api
      summary: Update a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV1BoardsSlugPostsIdRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchApiV1BoardsSlugPostsIdResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}/claim:
    delete:
      operationId: delete_api_v1_boards_slug_posts_id_claim
      tags:
      - Api
      summary: Release a claim
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteApiV1BoardsSlugPostsIdClaimResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_boards_slug_posts_id_claim
      tags:
      - Api
      summary: Claim a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdClaimRequest'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdClaimResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}/comments:
    get:
      operationId: get_api_v1_boards_slug_posts_id_comments
      tags:
      - Api
      summary: List comments on a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugPostsIdCommentsResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_boards_slug_posts_id_comments
      tags:
      - Api
      summary: Create a comment (posted as the board team)
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdCommentsRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdCommentsResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}/evidence:
    post:
      operationId: post_api_v1_boards_slug_posts_id_evidence
      tags:
      - Api
      summary: Attach implementation evidence
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdEvidenceRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdEvidenceResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}/propose-status:
    post:
      operationId: post_api_v1_boards_slug_posts_id_propose_status
      tags:
      - Api
      summary: Propose a status change for human confirmation
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdProposeStatusRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPostsIdProposeStatusResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/posts/{id}/votes:
    get:
      operationId: get_api_v1_boards_slug_posts_id_votes
      tags:
      - Api
      summary: Get votes for a post
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugPostsIdVotesResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/publish:
    post:
      operationId: post_api_v1_boards_slug_publish
      tags:
      - Api
      summary: Publish a board
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugPublishResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/queue:
    get:
      operationId: get_api_v1_boards_slug_queue
      tags:
      - Api
      summary: Get board queue
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: Limit 1..500 (default 10)
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugQueueResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/roadmap:
    get:
      operationId: get_api_v1_boards_slug_roadmap
      tags:
      - Api
      summary: List roadmap posts (open, planned, in_progress, shipped)
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugRoadmapResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/ship-stats:
    get:
      operationId: get_api_v1_boards_slug_ship_stats
      tags:
      - Api
      summary: Get ship statistics
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      - name: period
        in: query
        required: false
        schema:
          type: string
        description: month|week
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1BoardsSlugShipStatsResponse'
      x-evidence:
        kind: documentation
  /api/v1/boards/{slug}/unpublish:
    post:
      operationId: post_api_v1_boards_slug_unpublish
      tags:
      - Api
      summary: Unpublish a board
      x-source: https://featurejet.com/docs/api
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1BoardsSlugUnpublishResponse'
      x-evidence:
        kind: documentation
  /api/v1/webhooks:
    get:
      operationId: get_api_v1_webhooks
      tags:
      - Api
      summary: List webhooks (read‑only)
      x-source: https://featurejet.com/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1WebhooksResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiV1BoardsResponse:
      type: object
      properties:
        ApiBoardListResponse:
          type: string
          description: Response containing a list of boards
    PatchApiV1BoardsRequest:
      type: object
      properties:
        title:
          type: string
        body:
          type: string
        status:
          type: string
        tags:
          type: array
          items:
            type: string
        pinned:
          type: boolean
    PatchApiV1BoardsResponse:
      type: object
      properties:
        boards:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              slug:
                type: string
              name:
                type: string
              description:
                type: string
              welcome_message:
                type: string
              published:
                type: boolean
              created_at:
                type: string
                format: date-time
              logo_url:
                type:
                - string
                - 'null'
    PostApiV1BoardsRequest:
      type: object
      properties:
        slug:
          type: string
        name:
          type: string
        description:
          type: string
    PostApiV1BoardsResponse:
      type: object
      properties:
        BoardAdmin:
          type: string
          description: Created board
    GetApiV1BoardsAcmePostsPostidEvidenceResponse:
      type: object
      properties:
        implementation_evidence:
          type: array
          description: list of evidence objects
    GetApiV1BoardsAcmePostsPostidProposeStatusResponse:
      type: object
      properties:
        id:
          type: integer
        status:
          type: string
        proposal:
          type: object
          description: pending proposal details
    PostApiV1BoardsAcmeQueueRequest:
      type: object
      properties:
        ttl_seconds:
          type: integer
        agent_label:
          type: string
    PostApiV1BoardsAcmeQueueResponse:
      type: object
      properties:
        post_id:
          type: integer
        agent_label:
          type: string
        claimed_at:
          type: string
          format: date-time
        expires_at:
          type: string
          format: date-time
    GetApiV1BoardsSlugResponse:
      type: object
      properties:
        BoardAdmin:
          type: string
          description: Board admin representation
    GetApiV1BoardsSlugAnalyticsResponse:
      type: object
      properties:
        BoardAnalyticsResponse:
          type: string
          description: analytics data for the board
    GetApiV1BoardsSlugChangelogResponse:
      type: object
      properties:
        PostListResponse:
          type: string
          description: shipped posts
    GetApiV1BoardsSlugPostsResponse:
      type: object
      properties:
        PostListResponse:
          type: string
          description: List of posts
    PostApiV1BoardsSlugPostsRequest:
      type: object
      properties:
        title:
          type: string
        body:
          type: string
        status:
          type: string
        tags:
          type: string
        pinned:
          type: string
      required:
      - title
      - body
      - status
    PostApiV1BoardsSlugPostsResponse:
      type: object
      properties:
        PostPublic:
          type: string
          description: Created post
    DeleteApiV1BoardsSlugPostsIdResponse:
      type: object
      properties:
        '204':
          type: string
          description: No Content
    GetApiV1BoardsSlugPostsIdResponse:
      type: object
      properties:
        PostPublic:
          type: string
          description: Post details
    PatchApiV1BoardsSlugPostsIdRequest:
      type: object
      properties:
        title:
          type: string
        body:
          type: string
        status:
          type: string
        tags:
          type: string
        pinned:
          type: string
        queue_rank:
          type: string
        implementation_evidence:
          type: string
        notify_voters:
          type: string
    PatchApiV1BoardsSlugPostsIdResponse:
      type: object
      properties:
        PostPublic:
          type: string
          description: Updated post
    DeleteApiV1BoardsSlugPostsIdClaimResponse:
      type: object
      properties:
        '204':
          type: string
          description: No Content
        '409':
          type: string
          description: if another key holds the claim
    PostApiV1BoardsSlugPostsIdClaimRequest:
      type: object
      properties:
        ttl_seconds:
          type: string
          description: 1..86400 (default 3600)
        agent_label:
          type: string
          description: Agent label
    PostApiV1BoardsSlugPostsIdClaimResponse:
      type: object
      properties:
        claim:
          type: string
          description: Object with post_id, agent_label, claimed_at, expires_at
    GetApiV1BoardsSlugPostsIdCommentsResponse:
      type: object
      properties:
        CommentListResponse:
          type: string
          description: includes reaction_counts and own_reactions
    PostApiV1BoardsSlugPostsIdCommentsRequest:
      type: object
      properties:
        body:
          type: string
        parent_comment_id:
          type: integer
      required:
      - body
    PostApiV1BoardsSlugPostsIdCommentsResponse:
      type: object
      properties:
        CommentPublic:
          type: string
          description: the created comment
        '201':
          type: string
          description: Created
    PostApiV1BoardsSlugPostsIdEvidenceRequest:
      type: object
      properties:
        kind:
          type: string
          description: branch|commit|pr|transcript|url
        ref:
          type: string
        label:
          type: string
      required:
      - kind
      - ref
      - label
    PostApiV1BoardsSlugPostsIdEvidenceResponse:
      type: object
      properties:
        PostPublic:
          type: string
          description: returns the post with evidence added
        '201':
          type: string
          description: Created
    PostApiV1BoardsSlugPostsIdProposeStatusRequest:
      type: object
      properties:
        status:
          type: string
          description: open|planned|in_progress|shipped|declined
        note:
          type: string
      required:
      - status
      - note
    PostApiV1BoardsSlugPostsIdProposeStatusResponse:
      type: object
      properties:
        PostPublic:
          type: string
          description: records a pending proposal only
        '200':
          type: string
          description: OK – nothing changed on public board
    GetApiV1BoardsSlugPostsIdVotesResponse:
      type: object
      properties:
        ApiVoteListResponse:
          type: string
          description: list of votes
    PostApiV1BoardsSlugPublishResponse:
      type: object
      properties:
        BoardAdmin:
          type: string
          description: Board after publishing
    GetApiV1BoardsSlugQueueResponse:
      type: object
      properties:
        PostListResponse:
          type: string
          description: Top unclaimed posts
    GetApiV1BoardsSlugRoadmapResponse:
      type: object
      properties:
        PostListResponse:
          type: string
          description: posts for roadmap
    GetApiV1BoardsSlugShipStatsResponse:
      type: object
      properties:
        ShipStatsResponse:
          type: string
          description: statistics about shipped posts
    PostApiV1BoardsSlugUnpublishResponse:
      type: object
      properties:
        BoardAdmin:
          type: string
          description: Board after unpublishing
    GetApiV1WebhooksResponse:
      type: object
      properties:
        WebhookListResponse:
          type: string
          description: list of webhook definitions
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api