Aptly Board API

The Board API from Aptly — 12 operation(s) for board.

Operations 12

POST /api/board/{boardId}/configuration/tabViews Add a tab view #
POST /api/board/{boardId}/tabView Add a tab view (legacy) #
POST /api/board/verify-user Verify a delegate token #
GET /api/board/{boardId}/configuration Get full board configuration #
GET /api/board/{boardId}/configuration/automations List board automations #
GET /api/board/{boardId}/configuration/options Get board options #
GET /api/board/{boardId}/configuration/fields List board fields #
GET /api/board/{boardId}/configuration/workflows List board workflows #
GET /api/board/{boardId}/configuration/groups List board field groups #
GET /api/board/{boardId}/configuration/shares Get board access settings #
GET /api/board/{boardId}/configuration/theme Get board identity fields #
GET /api/board/{boardId}/configuration/filters List board filters #

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/aptly-board-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

aptly-board-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aptly App Board API
  version: '1.0'
  description: 'The Aptly API lets you read and write cards on any Aptly board from external systems.


    All requests require an API key passed as the `x-token` header.

    API keys are scoped to your company and work across all boards.

    '
servers:
- url: https://core-api.getaptly.com
  description: Production
security:
- ApiKeyHeader: []
tags:
- name: Board
paths:
  /api/board/{boardId}/configuration/tabViews:
    post:
      summary: Add a tab view
      description: Adds an embedded tab view to the board's tab list.
      operationId: postTabView
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - DelegateToken: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - url
              properties:
                name:
                  type: string
                  description: Display name for the tab.
                url:
                  type: string
                  description: URL to embed in the tab.
                icon:
                  type: string
                  description: Font Awesome icon class (default `fa-regular fa-globe`).
                embedSource:
                  type: string
                  description: Embed source identifier (default `aptly-ai`).
                filter:
                  type: string
                  description: Filter preset (default `quickview_all-records`).
                userIds:
                  type: array
                  items:
                    type: string
                  description: User IDs that can see this tab. Empty = visible to all.
                createdBy:
                  type: string
                  description: Aptly user ID of the creator.
      responses:
        '200':
          description: Tab view created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/TabView'
        '400':
          description: Missing required fields.
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/tabView:
    post:
      summary: Add a tab view (legacy)
      description: 'Deprecated alias for `POST /api/board/{boardId}/configuration/tabViews`. Adds an

        embedded tab view to the board''s tab list. Use the `/configuration/tabViews` path

        for new integrations.

        '
      operationId: postTabViewLegacy
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - DelegateToken: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - url
              properties:
                name:
                  type: string
                  description: Display name for the tab.
                url:
                  type: string
                  description: URL to embed in the tab.
                icon:
                  type: string
                  description: Font Awesome icon class (default `fa-regular fa-globe`).
                embedSource:
                  type: string
                  description: Embed source identifier (default `aptly-ai`).
                filter:
                  type: string
                  description: Filter preset (default `quickview_all-records`).
                userIds:
                  type: array
                  items:
                    type: string
                  description: User IDs that can see this tab. Empty = visible to all.
                createdBy:
                  type: string
                  description: Aptly user ID of the creator.
      responses:
        '200':
          description: Tab view created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/TabView'
        '400':
          description: Missing required fields.
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/verify-user:
    post:
      summary: Verify a delegate token
      description: 'Validates a short-lived delegate token issued by `POST /api/platform/user-token`.

        Checks the JWT signature, expiry, and confirms the token was issued for the same

        company as the API key. Use this to confirm the identity of an authenticated Aptly

        user inside an embedded plugin or iframe.

        '
      operationId: verifyAppUser
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - token
              properties:
                token:
                  type: string
                  description: Delegate token returned by `POST /api/platform/user-token`.
      responses:
        '200':
          description: Token is valid. Returns the user identity.
          content:
            application/json:
              schema:
                type: object
                properties:
                  userId:
                    type: string
                  email:
                    type:
                    - string
                    - 'null'
                  firstName:
                    type:
                    - string
                    - 'null'
                  lastName:
                    type:
                    - string
                    - 'null'
                  companyId:
                    type: string
        '400':
          description: token field is missing.
        '401':
          description: Invalid or missing API key, or delegate token is invalid/expired/wrong company.
  /api/board/{boardId}/configuration:
    get:
      summary: Get full board configuration
      description: 'Returns all configuration sections for the board in a single response:

        fields, automations, options, tabViews, workflows, groups, shares, theme, and filters.

        '
      operationId: getBoardConfiguration
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
        description: The board's UUID.
      responses:
        '200':
          description: Full board configuration.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      fields:
                        type: array
                        items:
                          $ref: '#/components/schemas/BoardField'
                      automations:
                        type: array
                        items:
                          $ref: '#/components/schemas/Automation'
                      options:
                        $ref: '#/components/schemas/BoardOptions'
                      tabViews:
                        type: array
                        items:
                          $ref: '#/components/schemas/TabView'
                      workflows:
                        type: array
                        description: Board workflows (sequences).
                        items:
                          type: object
                      groups:
                        type: array
                        description: Field groups (sections) configured on the board.
                        items:
                          type: object
                      shares:
                        type: object
                        description: Board access settings.
                        properties:
                          accessType:
                            type: string
                            enum:
                            - public
                            - private
                          acl:
                            type: array
                            items:
                              type: object
                      theme:
                        type: object
                        description: Board identity fields.
                        properties:
                          name:
                            type: string
                          cardName:
                            type: string
                          color:
                            type: string
                            description: Hex color for the board gradient.
                          icon:
                            type: string
                          description:
                            type: string
                          shortCode:
                            type: string
                      filters:
                        type: array
                        description: Saved filters visible to the caller.
                        items:
                          type: object
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/automations:
    get:
      summary: List board automations
      description: Returns the automations configured on a board.
      operationId: listAutomations
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
        description: The board's UUID.
      responses:
        '200':
          description: Array of automations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Automation'
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/options:
    get:
      summary: Get board options
      description: Returns the current configuration options for the board.
      operationId: getBoardOptions
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Board options.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BoardOptions'
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/fields:
    get:
      summary: List board fields
      description: Returns all fields defined on the board, including archived ones.
      operationId: listBoardFields
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Array of board fields.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/BoardField'
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/workflows:
    get:
      summary: List board workflows
      description: Returns the workflows (sequences) configured on a board.
      operationId: listWorkflows
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
        description: The board's UUID.
      responses:
        '200':
          description: Array of workflows.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/groups:
    get:
      summary: List board field groups
      description: Returns the field groups (sections) configured on the board.
      operationId: listGroups
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Array of groups.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/shares:
    get:
      summary: Get board access settings
      description: Returns the board's access type and ACL (shares array).
      operationId: getBoardShares
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Board access settings.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      accessType:
                        type: string
                        enum:
                        - public
                        - private
                      acl:
                        type: array
                        items:
                          type: object
                          properties:
                            _id:
                              type: string
                            userId:
                              type: string
                            teamId:
                              type: string
                            permissions:
                              type: array
                              items:
                                type: string
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/theme:
    get:
      summary: Get board identity fields
      description: Returns the board's display name, color, icon, description, and short code.
      operationId: getBoardTheme
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Board identity fields.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                      cardName:
                        type: string
                      color:
                        type: string
                        description: Hex color for the board gradient.
                      icon:
                        type: string
                      description:
                        type: string
                      shortCode:
                        type: string
                        description: Up to 5-character uppercase alphanumeric code.
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
  /api/board/{boardId}/configuration/filters:
    get:
      summary: List board filters
      description: 'Returns saved filters for this board visible to the caller.

        Company-scoped filters are always included; user-scoped (private) filters

        are included when authenticating with a delegate token that has a `userId`.

        Quick-view filters are excluded.

        '
      operationId: getBoardFilters
      tags:
      - Board
      security:
      - ApiKeyHeader: []
      - PartnerBearer: []
      parameters:
      - name: boardId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of filters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        _id:
                          type: string
                        name:
                          type: string
                        scope:
                          type: string
                          enum:
                          - company
                          - user
                        aptletUuid:
                          type: string
                        rules:
                          type: array
                          items:
                            type: object
                        archived:
                          type: boolean
        '401':
          description: Invalid or missing API key.
        '404':
          description: Board not found.
components:
  schemas:
    Automation:
      type: object
      properties:
        uuid:
          type: string
          description: Unique identifier for the automation.
        title:
          type: string
          description: Display name of the automation.
        automationType:
          type: string
          enum:
          - board
          - schedule
          description: '`board` automations move/copy cards based on board events; `schedule` automations run on a time-based schedule.'
        archived:
          type: boolean
        destinationBoardUuid:
          type: string
          description: UUID of the destination board. Defaults to the current board.
        sourceBoardUuid:
          type: string
          description: (board type only) UUID of the source board.
        runMode:
          type: string
          description: 'Board type: `continuously`, `onDate`, `onMonth`, `dateRange`, `onDayOfWeek`. Schedule type: `onDayOfWeek`, `onDate`, `onDayOfYear`.'
        segment:
          description: (board type only) Card segment/stage filter.
        moveMode:
          type: string
          enum:
          - Copy
          - Move
          description: (board type only) Whether to copy or move matching cards.
        timeOfDay:
          type: number
          description: (schedule type only) Hour of the day to run (0–23).
    BoardField:
      type: object
      properties:
        uuid:
          type: string
          description: Unique field identifier — use this as the key when reading/writing card data.
        name:
          type: string
          description: Display name of the field.
        type:
          type: string
          description: 'Field type. One of: `text`, `string`, `email`, `tel`, `number`, `money`, `date`, `datetime-local`, `boolean`, `singleselect`, `multiselect`, `checkboxlist`, `file`, `files`, `url`, `address`, `person`, `persons`, `relatedAptlets`, `mirror`, `mirror-contact`, `rich-text`, `calculation`, `percent`, `multiplier`, `board`, `heroImage`, `embedVideo`, `ai-computed`.'
        position:
          type: integer
          description: Display order (zero-based).
        optional:
          type: boolean
          description: Whether the field is optional on cards.
        archived:
          type: boolean
          description: Whether the field has been archived (hidden from the UI).
    TabView:
      type: object
      properties:
        uuid:
          type: string
        name:
          type: string
        url:
          type: string
        icon:
          type: string
        embedSource:
          type: string
        type:
          type: string
    BoardOptions:
      type: object
      description: Configurable board-level settings. All fields are optional — only include the ones you want to change on PATCH.
      properties:
        conversionFlair:
          type: string
          enum:
          - confetti
          - fireworks
        reassignDiscussions:
          type: string
          enum:
          - ''
          - prompt
          - auto
        minCallDuration:
          type: number
          description: Minimum call duration in seconds before the call is logged.
        boardEmailOnlyParsedCards:
          type: boolean
        displayFieldNames:
          type: boolean
        agingIndicator:
          type: boolean
        applicationFeatures:
          type: boolean
        applicationLinking:
          type: boolean
        defaultContactType:
          type: string
        updateBadgeField:
          type: string
          description: Field UUID to use as the card badge label.
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-token
    DelegateToken:
      type: apiKey
      in: header
      name: Authorization
      description: 'Delegate token issued by the platform. Format: `DelegateToken <token>`'
    PartnerBearer:
      type: http
      scheme: bearer
      description: 'Partner token. Format: `Authorization: Bearer <token>`'