trello · Capability

Trello REST API — Boards

Trello REST API — Boards. 17 operations. Lead operation: Create a Board. Self-contained Naftiko capability covering one Trello business surface.

Run with Naftiko TrelloBoards

What You Can Do

POST
Createboard — Create a Board
/v1/boards
GET
Getboard — Get a Board
/v1/boards/{id}
PUT
Updateboard — Update a Board
/v1/boards/{id}
DELETE
Deleteboard — Delete a Board
/v1/boards/{id}
GET
Getboardactions — Get Actions for a Board
/v1/boards/{id}/actions
GET
Getboardcards — Get Cards on a Board
/v1/boards/{id}/cards
GET
Getboardcardsfilter — Get Filtered Cards on a Board
/v1/boards/{id}/cards/{filter}
GET
Getboardchecklists — Get Checklists on a Board
/v1/boards/{id}/checklists
GET
Getboardlabels — Get Labels on a Board
/v1/boards/{id}/labels
POST
Createboardlabel — Create a Label on a Board
/v1/boards/{id}/labels
GET
Getboardlists — Get Lists on a Board
/v1/boards/{id}/lists
POST
Createboardlist — Create a List on a Board
/v1/boards/{id}/lists
GET
Getboardmembers — Get Members of a Board
/v1/boards/{id}/members
PUT
Inviteboardmember — Invite a Member to a Board
/v1/boards/{id}/members
PUT
Updateboardmember — Update a Board Member
/v1/boards/{id}/members/{idmember}
DELETE
Removeboardmember — Remove a Member from a Board
/v1/boards/{id}/members/{idmember}
GET
Getboardmemberships — Get Memberships of a Board
/v1/boards/{id}/memberships

MCP Tools

create-board

Create a Board

get-board

Get a Board

read-only idempotent
update-board

Update a Board

idempotent
delete-board

Delete a Board

idempotent
get-actions-board

Get Actions for a Board

read-only idempotent
get-cards-board

Get Cards on a Board

read-only idempotent
get-filtered-cards-board

Get Filtered Cards on a Board

read-only idempotent
get-checklists-board

Get Checklists on a Board

read-only idempotent
get-labels-board

Get Labels on a Board

read-only idempotent
create-label-board

Create a Label on a Board

get-lists-board

Get Lists on a Board

read-only idempotent
create-list-board

Create a List on a Board

read-only
get-members-board

Get Members of a Board

read-only idempotent
invite-member-board

Invite a Member to a Board

idempotent
update-board-member

Update a Board Member

idempotent
remove-member-board

Remove a Member from a Board

idempotent
get-memberships-board

Get Memberships of a Board

read-only idempotent

Capability Spec

rest-boards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Trello REST API — Boards
  description: 'Trello REST API — Boards. 17 operations. Lead operation: Create a Board. Self-contained Naftiko capability
    covering one Trello business surface.'
  tags:
  - Trello
  - Boards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TRELLO_API_KEY: TRELLO_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-boards
    baseUri: https://api.trello.com/1
    description: Trello REST API — Boards business capability. Self-contained, no shared references.
    resources:
    - name: boards
      path: /boards
      operations:
      - name: createboard
        method: POST
        description: Create a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the new board.
          required: true
        - name: defaultLabels
          in: query
          type: boolean
          description: Whether to apply the default set of labels to the board.
        - name: defaultLists
          in: query
          type: boolean
          description: Whether to add the default set of lists to the board.
        - name: desc
          in: query
          type: string
          description: A description for the board.
        - name: idOrganization
          in: query
          type: string
          description: The ID or name of the organization (workspace) the board should belong to.
        - name: idBoardSource
          in: query
          type: string
          description: The ID of a board to copy into the new board.
        - name: prefs_permissionLevel
          in: query
          type: string
          description: The permissions level of the board.
        - name: prefs_voting
          in: query
          type: string
          description: Who can vote on the board.
        - name: prefs_comments
          in: query
          type: string
          description: Who can comment on cards on the board.
        - name: prefs_background
          in: query
          type: string
          description: The background color or image for the board.
        - name: prefs_cardAging
          in: query
          type: string
          description: The style of card aging to apply to the board.
        - name: prefs_selfJoin
          in: query
          type: boolean
          description: Whether workspace members can join the board themselves.
    - name: boards-id
      path: /boards/{id}
      operations:
      - name: getboard
        method: GET
        description: Get a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actions
          in: query
          type: string
          description: A comma-separated list of action types to include.
        - name: boardStars
          in: query
          type: string
          description: Whether to include board stars.
        - name: cards
          in: query
          type: string
          description: Filter cards to include.
        - name: card_fields
          in: query
          type: string
          description: A comma-separated list of card fields to include.
        - name: checklists
          in: query
          type: string
          description: Whether to include checklists.
        - name: fields
          in: query
          type: string
          description: A comma-separated list of board fields to include.
        - name: labels
          in: query
          type: string
          description: Whether to include labels.
        - name: lists
          in: query
          type: string
          description: Filter lists to include.
        - name: members
          in: query
          type: string
          description: Whether to include members.
        - name: memberships
          in: query
          type: string
          description: Whether to include memberships.
        - name: organization
          in: query
          type: boolean
          description: Whether to include the organization.
      - name: updateboard
        method: PUT
        description: Update a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The new name for the board.
        - name: desc
          in: query
          type: string
          description: The new description for the board.
        - name: closed
          in: query
          type: boolean
          description: Whether the board is closed (archived).
        - name: subscribed
          in: query
          type: boolean
          description: Whether the authenticated member is subscribed to the board.
        - name: idOrganization
          in: query
          type: string
          description: The ID of the organization to move the board to.
        - name: prefs/permissionLevel
          in: query
          type: string
          description: The permission level for the board.
        - name: prefs/selfJoin
          in: query
          type: boolean
          description: Whether workspace members can join the board themselves.
        - name: prefs/cardCovers
          in: query
          type: boolean
          description: Whether card covers are enabled.
        - name: prefs/hideVotes
          in: query
          type: boolean
          description: Whether votes are hidden until voting is complete.
        - name: prefs/background
          in: query
          type: string
          description: The background for the board.
        - name: prefs/cardAging
          in: query
          type: string
          description: The card aging style.
        - name: labelNames/green
          in: query
          type: string
          description: Name for the green label.
        - name: labelNames/yellow
          in: query
          type: string
          description: Name for the yellow label.
        - name: labelNames/orange
          in: query
          type: string
          description: Name for the orange label.
        - name: labelNames/red
          in: query
          type: string
          description: Name for the red label.
        - name: labelNames/purple
          in: query
          type: string
          description: Name for the purple label.
        - name: labelNames/blue
          in: query
          type: string
          description: Name for the blue label.
      - name: deleteboard
        method: DELETE
        description: Delete a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: boards-id-actions
      path: /boards/{id}/actions
      operations:
      - name: getboardactions
        method: GET
        description: Get Actions for a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: A comma-separated list of action types to filter by.
        - name: limit
          in: query
          type: integer
          description: The maximum number of actions to return.
    - name: boards-id-cards
      path: /boards/{id}/cards
      operations:
      - name: getboardcards
        method: GET
        description: Get Cards on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: A comma-separated list of card fields to return.
    - name: boards-id-cards-filter
      path: /boards/{id}/cards/{filter}
      operations:
      - name: getboardcardsfilter
        method: GET
        description: Get Filtered Cards on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: path
          type: string
          description: The filter to apply to the cards.
          required: true
    - name: boards-id-checklists
      path: /boards/{id}/checklists
      operations:
      - name: getboardchecklists
        method: GET
        description: Get Checklists on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: boards-id-labels
      path: /boards/{id}/labels
      operations:
      - name: getboardlabels
        method: GET
        description: Get Labels on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: A comma-separated list of label fields to return.
        - name: limit
          in: query
          type: integer
          description: Maximum number of labels to return.
      - name: createboardlabel
        method: POST
        description: Create a Label on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the label.
          required: true
        - name: color
          in: query
          type: string
          description: The color for the label.
          required: true
    - name: boards-id-lists
      path: /boards/{id}/lists
      operations:
      - name: getboardlists
        method: GET
        description: Get Lists on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cards
          in: query
          type: string
          description: Filter cards within lists.
        - name: card_fields
          in: query
          type: string
          description: A comma-separated list of card fields to return.
        - name: filter
          in: query
          type: string
          description: Filter lists by status.
        - name: fields
          in: query
          type: string
          description: A comma-separated list of list fields to return.
      - name: createboardlist
        method: POST
        description: Create a List on a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the new list.
          required: true
        - name: pos
          in: query
          type: string
          description: The position of the list on the board.
    - name: boards-id-members
      path: /boards/{id}/members
      operations:
      - name: getboardmembers
        method: GET
        description: Get Members of a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: inviteboardmember
        method: PUT
        description: Invite a Member to a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email
          in: query
          type: string
          description: The email address of the member to invite.
          required: true
        - name: type
          in: query
          type: string
          description: The type of membership.
    - name: boards-id-members-idMember
      path: /boards/{id}/members/{idMember}
      operations:
      - name: updateboardmember
        method: PUT
        description: Update a Board Member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: idMember
          in: path
          type: string
          description: The ID of the member to update.
          required: true
        - name: type
          in: query
          type: string
          description: The new membership type.
          required: true
      - name: removeboardmember
        method: DELETE
        description: Remove a Member from a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: idMember
          in: path
          type: string
          description: The ID of the member to remove.
          required: true
    - name: boards-id-memberships
      path: /boards/{id}/memberships
      operations:
      - name: getboardmemberships
        method: GET
        description: Get Memberships of a Board
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: Filter memberships by type.
    authentication:
      type: apikey
      key: key
      value: '{{env.TRELLO_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: rest-boards-rest
    port: 8080
    description: REST adapter for Trello REST API — Boards. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/boards
      name: boards
      description: REST surface for boards.
      operations:
      - method: POST
        name: createboard
        description: Create a Board
        call: rest-boards.createboard
        with:
          name: rest.name
          defaultLabels: rest.defaultLabels
          defaultLists: rest.defaultLists
          desc: rest.desc
          idOrganization: rest.idOrganization
          idBoardSource: rest.idBoardSource
          prefs_permissionLevel: rest.prefs_permissionLevel
          prefs_voting: rest.prefs_voting
          prefs_comments: rest.prefs_comments
          prefs_background: rest.prefs_background
          prefs_cardAging: rest.prefs_cardAging
          prefs_selfJoin: rest.prefs_selfJoin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}
      name: boards-id
      description: REST surface for boards-id.
      operations:
      - method: GET
        name: getboard
        description: Get a Board
        call: rest-boards.getboard
        with:
          actions: rest.actions
          boardStars: rest.boardStars
          cards: rest.cards
          card_fields: rest.card_fields
          checklists: rest.checklists
          fields: rest.fields
          labels: rest.labels
          lists: rest.lists
          members: rest.members
          memberships: rest.memberships
          organization: rest.organization
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateboard
        description: Update a Board
        call: rest-boards.updateboard
        with:
          name: rest.name
          desc: rest.desc
          closed: rest.closed
          subscribed: rest.subscribed
          idOrganization: rest.idOrganization
          prefs/permissionLevel: rest.prefs/permissionLevel
          prefs/selfJoin: rest.prefs/selfJoin
          prefs/cardCovers: rest.prefs/cardCovers
          prefs/hideVotes: rest.prefs/hideVotes
          prefs/background: rest.prefs/background
          prefs/cardAging: rest.prefs/cardAging
          labelNames/green: rest.labelNames/green
          labelNames/yellow: rest.labelNames/yellow
          labelNames/orange: rest.labelNames/orange
          labelNames/red: rest.labelNames/red
          labelNames/purple: rest.labelNames/purple
          labelNames/blue: rest.labelNames/blue
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteboard
        description: Delete a Board
        call: rest-boards.deleteboard
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/actions
      name: boards-id-actions
      description: REST surface for boards-id-actions.
      operations:
      - method: GET
        name: getboardactions
        description: Get Actions for a Board
        call: rest-boards.getboardactions
        with:
          filter: rest.filter
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/cards
      name: boards-id-cards
      description: REST surface for boards-id-cards.
      operations:
      - method: GET
        name: getboardcards
        description: Get Cards on a Board
        call: rest-boards.getboardcards
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/cards/{filter}
      name: boards-id-cards-filter
      description: REST surface for boards-id-cards-filter.
      operations:
      - method: GET
        name: getboardcardsfilter
        description: Get Filtered Cards on a Board
        call: rest-boards.getboardcardsfilter
        with:
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/checklists
      name: boards-id-checklists
      description: REST surface for boards-id-checklists.
      operations:
      - method: GET
        name: getboardchecklists
        description: Get Checklists on a Board
        call: rest-boards.getboardchecklists
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/labels
      name: boards-id-labels
      description: REST surface for boards-id-labels.
      operations:
      - method: GET
        name: getboardlabels
        description: Get Labels on a Board
        call: rest-boards.getboardlabels
        with:
          fields: rest.fields
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createboardlabel
        description: Create a Label on a Board
        call: rest-boards.createboardlabel
        with:
          name: rest.name
          color: rest.color
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/lists
      name: boards-id-lists
      description: REST surface for boards-id-lists.
      operations:
      - method: GET
        name: getboardlists
        description: Get Lists on a Board
        call: rest-boards.getboardlists
        with:
          cards: rest.cards
          card_fields: rest.card_fields
          filter: rest.filter
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createboardlist
        description: Create a List on a Board
        call: rest-boards.createboardlist
        with:
          name: rest.name
          pos: rest.pos
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/members
      name: boards-id-members
      description: REST surface for boards-id-members.
      operations:
      - method: GET
        name: getboardmembers
        description: Get Members of a Board
        call: rest-boards.getboardmembers
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: inviteboardmember
        description: Invite a Member to a Board
        call: rest-boards.inviteboardmember
        with:
          email: rest.email
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/members/{idmember}
      name: boards-id-members-idmember
      description: REST surface for boards-id-members-idMember.
      operations:
      - method: PUT
        name: updateboardmember
        description: Update a Board Member
        call: rest-boards.updateboardmember
        with:
          idMember: rest.idMember
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: removeboardmember
        description: Remove a Member from a Board
        call: rest-boards.removeboardmember
        with:
          idMember: rest.idMember
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/boards/{id}/memberships
      name: boards-id-memberships
      description: REST surface for boards-id-memberships.
      operations:
      - method: GET
        name: getboardmemberships
        description: Get Memberships of a Board
        call: rest-boards.getboardmemberships
        with:
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-boards-mcp
    port: 9090
    transport: http
    description: MCP adapter for Trello REST API — Boards. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: create-board
      description: Create a Board
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-boards.createboard
      with:
        name: tools.name
        defaultLabels: tools.defaultLabels
        defaultLists: tools.defaultLists
        desc: tools.desc
        idOrganization: tools.idOrganization
        idBoardSource: tools.idBoardSource
        prefs_permissionLevel: tools.prefs_permissionLevel
        prefs_voting: tools.prefs_voting
        prefs_comments: tools.prefs_comments
        prefs_background: tools.prefs_background
        prefs_cardAging: tools.prefs_cardAging
        prefs_selfJoin: tools.prefs_selfJoin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-board
      description: Get a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboard
      with:
        actions: tools.actions
        boardStars: tools.boardStars
        cards: tools.cards
        card_fields: tools.card_fields
        checklists: tools.checklists
        fields: tools.fields
        labels: tools.labels
        lists: tools.lists
        members: tools.members
        memberships: tools.memberships
        organization: tools.organization
      outputParameters:
      - type: object
        mapping: $.
    - name: update-board
      description: Update a Board
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-boards.updateboard
      with:
        name: tools.name
        desc: tools.desc
        closed: tools.closed
        subscribed: tools.subscribed
        idOrganization: tools.idOrganization
        prefs/permissionLevel: tools.prefs/permissionLevel
        prefs/selfJoin: tools.prefs/selfJoin
        prefs/cardCovers: tools.prefs/cardCovers
        prefs/hideVotes: tools.prefs/hideVotes
        prefs/background: tools.prefs/background
        prefs/cardAging: tools.prefs/cardAging
        labelNames/green: tools.labelNames/green
        labelNames/yellow: tools.labelNames/yellow
        labelNames/orange: tools.labelNames/orange
        labelNames/red: tools.labelNames/red
        labelNames/purple: tools.labelNames/purple
        labelNames/blue: tools.labelNames/blue
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-board
      description: Delete a Board
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-boards.deleteboard
      outputParameters:
      - type: object
        mapping: $.
    - name: get-actions-board
      description: Get Actions for a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardactions
      with:
        filter: tools.filter
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-cards-board
      description: Get Cards on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardcards
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: get-filtered-cards-board
      description: Get Filtered Cards on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardcardsfilter
      with:
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: get-checklists-board
      description: Get Checklists on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardchecklists
      outputParameters:
      - type: object
        mapping: $.
    - name: get-labels-board
      description: Get Labels on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardlabels
      with:
        fields: tools.fields
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: create-label-board
      description: Create a Label on a Board
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-boards.createboardlabel
      with:
        name: tools.name
        color: tools.color
      outputParameters:
      - type: object
        mapping: $.
    - name: get-lists-board
      description: Get Lists on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardlists
      with:
        cards: tools.cards
        card_fields: tools.card_fields
        filter: tools.filter
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: create-list-board
      description: Create a List on a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: rest-boards.createboardlist
      with:
        name: tools.name
        pos: tools.pos
      outputParameters:
      - type: object
        mapping: $.
    - name: get-members-board
      description: Get Members of a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardmembers
      outputParameters:
      - type: object
        mapping: $.
    - name: invite-member-board
      description: Invite a Member to a Board
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-boards.inviteboardmember
      with:
        email: tools.email
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: update-board-member
      description: Update a Board Member
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-boards.updateboardmember
      with:
        idMember: tools.idMember
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-member-board
      description: Remove a Member from a Board
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-boards.removeboardmember
      with:
        idMember: tools.idMember
      outputParameters:
      - type: object
        mapping: $.
    - name: get-memberships-board
      description: Get Memberships of a Board
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-boards.getboardmemberships
      with:
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.