I'mBoardDocs
Getting Started

Conventions

Standard patterns that apply across all API endpoints.

Standard patterns that apply across all API endpoints.

Base URL

https://app.imboard.ai/api/v1

The API uses path-based versioning. All V1 endpoints live under /api/v1. There is currently one version.

Request Format

  • All request bodies must be JSON with Content-Type: application/json
  • All requests must include an Authorization header (see Authentication)

Response Envelopes

Every successful response wraps its payload in a standard envelope.

Single Resource

{
  "data": {
    "object": "board",
    "id": "abc123",
    "name": "Q1 Board Meeting",
    "createdAt": "2025-06-01T09:00:00.000Z",
    "updatedAt": "2026-03-15T11:45:00.000Z"
  }
}

Collection

{
  "data": [
    {
      "object": "board",
      "id": "abc123",
      "name": "Q1 Board Meeting",
      "createdAt": "2025-06-01T09:00:00.000Z",
      "updatedAt": "2026-03-15T11:45:00.000Z"
    }
  ],
  "meta": {
    "nextCursor": "eyJ...",
    "hasMore": true
  }
}

Error

{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "The requested resource was not found.",
    "status": 404,
    "requestId": "req_a1b2c3d4e5f6a7b8",
    "details": null
  }
}

See Errors for the full list of error codes.

The object Field

Every resource includes an object field that identifies its type. This is the primary way to disambiguate resources in the API since V1 does not use prefixed IDs.

ValueResource
userAuthenticated user profile
boardBoard
board_memberBoard membership
meetingMeeting
documentDocument
reportReport
dashboardDashboard

Always check the object field rather than inferring type from context.

IDs

All IDs are opaque strings. Do not parse, construct, or make assumptions about their format or length. IDs are stable — the same resource always returns the same ID.

Timestamps

All timestamps are ISO-8601 strings in UTC:

"2026-03-15T11:45:00.000Z"

Fields named createdAt and updatedAt are present on every resource.

Field Naming

All field names use camelCase:

{
  "firstName": "Jane",
  "lastName": "Doe",
  "billingState": "PAID_ACTIVE",
  "inviteCodeEnabled": true
}

Null vs. Omitted

  • A field set to null means the value is explicitly empty (e.g., "description": null)
  • A field that is omitted from the response is not available for that resource or context
  • The API never returns undefined — all present fields have a value or are null

No include Parameter

V1 does not support sideloading related resources via an include query parameter. Each endpoint returns a fixed response shape. If you need related data, make a separate request.

Request IDs

Every response includes an X-Request-Id header (e.g., req_a1b2c3d4e5f6a7b8). Include this value when reporting issues to support — it allows us to trace your request through our systems.

Rate Limiting

  • 300 requests per 5 minutes per authenticated token; 60 requests per 5 minutes per IP for unauthenticated requests
  • Rate-limited responses return 429 with error code RATE_LIMITED
  • Response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After (on 429)
  • See Errors for full details

Pagination

Collections use cursor-based pagination. See Pagination, Filtering & Sorting for details.

HTTP Methods

MethodUsage
GETRead a resource or list a collection
POSTCreate a resource
PATCHPartially update a resource
DELETEDelete a resource

On this page