trello · Capability

Trello REST API — Cards

Trello REST API — Cards. 16 operations. Lead operation: Create a Card. Self-contained Naftiko capability covering one Trello business surface.

Run with Naftiko TrelloCards

What You Can Do

POST
Createcard — Create a Card
/v1/cards
GET
Getcard — Get a Card
/v1/cards/{id}
PUT
Updatecard — Update a Card
/v1/cards/{id}
DELETE
Deletecard — Delete a Card
/v1/cards/{id}
GET
Getcardactions — Get Actions on a Card
/v1/cards/{id}/actions
POST
Createcardcomment — Add a Comment to a Card
/v1/cards/{id}/actions/comments
GET
Getcardattachments — Get Attachments on a Card
/v1/cards/{id}/attachments
POST
Createcardattachment — Create an Attachment on a Card
/v1/cards/{id}/attachments
GET
Getcardchecklists — Get Checklists on a Card
/v1/cards/{id}/checklists
POST
Createcardchecklist — Create a Checklist on a Card
/v1/cards/{id}/checklists
POST
Addcardlabel — Add a Label to a Card
/v1/cards/{id}/labels
DELETE
Removecardlabel — Remove a Label from a Card
/v1/cards/{id}/labels/{idlabel}
POST
Addcardmember — Add a Member to a Card
/v1/cards/{id}/members
DELETE
Removecardmember — Remove a Member from a Card
/v1/cards/{id}/members/{idmember}
GET
Getcardstickers — Get Stickers on a Card
/v1/cards/{id}/stickers
POST
Addcardsticker — Add a Sticker to a Card
/v1/cards/{id}/stickers

MCP Tools

create-card

Create a Card

get-card

Get a Card

read-only idempotent
update-card

Update a Card

idempotent
delete-card

Delete a Card

idempotent
get-actions-card

Get Actions on a Card

read-only idempotent
add-comment-card

Add a Comment to a Card

get-attachments-card

Get Attachments on a Card

read-only idempotent
create-attachment-card

Create an Attachment on a Card

get-checklists-card

Get Checklists on a Card

read-only idempotent
create-checklist-card

Create a Checklist on a Card

read-only
add-label-card

Add a Label to a Card

remove-label-card

Remove a Label from a Card

idempotent
add-member-card

Add a Member to a Card

remove-member-card

Remove a Member from a Card

idempotent
get-stickers-card

Get Stickers on a Card

read-only idempotent
add-sticker-card

Add a Sticker to a Card

Capability Spec

rest-cards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Trello REST API — Cards
  description: 'Trello REST API — Cards. 16 operations. Lead operation: Create a Card. Self-contained Naftiko capability covering
    one Trello business surface.'
  tags:
  - Trello
  - Cards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TRELLO_API_KEY: TRELLO_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-cards
    baseUri: https://api.trello.com/1
    description: Trello REST API — Cards business capability. Self-contained, no shared references.
    resources:
    - name: cards
      path: /cards
      operations:
      - name: createcard
        method: POST
        description: Create a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the card.
        - name: desc
          in: query
          type: string
          description: The description for the card.
        - name: pos
          in: query
          type: string
          description: The position of the card in the list.
        - name: due
          in: query
          type: string
          description: The due date for the card.
        - name: start
          in: query
          type: string
          description: The start date for the card.
        - name: dueComplete
          in: query
          type: boolean
          description: Whether the due date is complete.
        - name: idList
          in: query
          type: string
          description: The ID of the list the card should be created in.
          required: true
        - name: idMembers
          in: query
          type: string
          description: Comma-separated list of member IDs to add to the card.
        - name: idLabels
          in: query
          type: string
          description: Comma-separated list of label IDs to add to the card.
        - name: urlSource
          in: query
          type: string
          description: A URL to attach to the card.
        - name: idCardSource
          in: query
          type: string
          description: The ID of a card to copy into the new card.
    - name: cards-id
      path: /cards/{id}
      operations:
      - name: getcard
        method: GET
        description: Get a Card
        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: actions
          in: query
          type: string
          description: A comma-separated list of action types to include.
        - name: attachments
          in: query
          type: string
          description: Whether to include attachments.
        - name: members
          in: query
          type: boolean
          description: Whether to include members.
        - name: checkItemStates
          in: query
          type: boolean
          description: Whether to include check item states.
        - name: checklists
          in: query
          type: string
          description: Whether to include checklists.
      - name: updatecard
        method: PUT
        description: Update a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The new name for the card.
        - name: desc
          in: query
          type: string
          description: The new description for the card.
        - name: closed
          in: query
          type: boolean
          description: Whether the card is archived.
        - name: idMembers
          in: query
          type: string
          description: Comma-separated list of member IDs.
        - name: idLabels
          in: query
          type: string
          description: Comma-separated list of label IDs.
        - name: idList
          in: query
          type: string
          description: The ID of the list to move the card to.
        - name: idBoard
          in: query
          type: string
          description: The ID of the board to move the card to.
        - name: pos
          in: query
          type: string
          description: The new position of the card.
        - name: due
          in: query
          type: string
          description: The new due date for the card.
        - name: start
          in: query
          type: string
          description: The start date for the card.
        - name: dueComplete
          in: query
          type: boolean
          description: Whether the due date is complete.
        - name: subscribed
          in: query
          type: boolean
          description: Whether the authenticated member is subscribed to the card.
        - name: cover
          in: query
          type: string
          description: JSON string for the card cover.
      - name: deletecard
        method: DELETE
        description: Delete a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cards-id-actions
      path: /cards/{id}/actions
      operations:
      - name: getcardactions
        method: GET
        description: Get Actions on a Card
        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: cards-id-actions-comments
      path: /cards/{id}/actions/comments
      operations:
      - name: createcardcomment
        method: POST
        description: Add a Comment to a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: text
          in: query
          type: string
          description: The comment text.
          required: true
    - name: cards-id-attachments
      path: /cards/{id}/attachments
      operations:
      - name: getcardattachments
        method: GET
        description: Get Attachments on a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: A comma-separated list of attachment fields to return.
      - name: createcardattachment
        method: POST
        description: Create an Attachment on a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the attachment.
        - name: mimeType
          in: query
          type: string
          description: The MIME type of the attachment.
        - name: url
          in: query
          type: string
          description: A URL to attach to the card.
    - name: cards-id-checklists
      path: /cards/{id}/checklists
      operations:
      - name: getcardchecklists
        method: GET
        description: Get Checklists on a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcardchecklist
        method: POST
        description: Create a Checklist on a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: The name for the checklist.
        - name: idChecklistSource
          in: query
          type: string
          description: The ID of a checklist to copy into the new checklist.
        - name: pos
          in: query
          type: string
          description: The position of the checklist on the card.
    - name: cards-id-labels
      path: /cards/{id}/labels
      operations:
      - name: addcardlabel
        method: POST
        description: Add a Label to a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: value
          in: query
          type: string
          description: The ID of the label to add.
          required: true
    - name: cards-id-labels-idLabel
      path: /cards/{id}/labels/{idLabel}
      operations:
      - name: removecardlabel
        method: DELETE
        description: Remove a Label from a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: idLabel
          in: path
          type: string
          description: The ID of the label to remove.
          required: true
    - name: cards-id-members
      path: /cards/{id}/members
      operations:
      - name: addcardmember
        method: POST
        description: Add a Member to a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: value
          in: query
          type: string
          description: The ID of the member to add.
          required: true
    - name: cards-id-members-idMember
      path: /cards/{id}/members/{idMember}
      operations:
      - name: removecardmember
        method: DELETE
        description: Remove a Member from a Card
        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: cards-id-stickers
      path: /cards/{id}/stickers
      operations:
      - name: getcardstickers
        method: GET
        description: Get Stickers on a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addcardsticker
        method: POST
        description: Add a Sticker to a Card
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: image
          in: query
          type: string
          description: The sticker image identifier.
          required: true
        - name: top
          in: query
          type: number
          description: The top position of the sticker as a percentage.
          required: true
        - name: left
          in: query
          type: number
          description: The left position of the sticker as a percentage.
          required: true
        - name: zIndex
          in: query
          type: integer
          description: The z-index of the sticker.
          required: true
        - name: rotate
          in: query
          type: number
          description: The rotation of the sticker in degrees.
    authentication:
      type: apikey
      key: key
      value: '{{env.TRELLO_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: rest-cards-rest
    port: 8080
    description: REST adapter for Trello REST API — Cards. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/cards
      name: cards
      description: REST surface for cards.
      operations:
      - method: POST
        name: createcard
        description: Create a Card
        call: rest-cards.createcard
        with:
          name: rest.name
          desc: rest.desc
          pos: rest.pos
          due: rest.due
          start: rest.start
          dueComplete: rest.dueComplete
          idList: rest.idList
          idMembers: rest.idMembers
          idLabels: rest.idLabels
          urlSource: rest.urlSource
          idCardSource: rest.idCardSource
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}
      name: cards-id
      description: REST surface for cards-id.
      operations:
      - method: GET
        name: getcard
        description: Get a Card
        call: rest-cards.getcard
        with:
          fields: rest.fields
          actions: rest.actions
          attachments: rest.attachments
          members: rest.members
          checkItemStates: rest.checkItemStates
          checklists: rest.checklists
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatecard
        description: Update a Card
        call: rest-cards.updatecard
        with:
          name: rest.name
          desc: rest.desc
          closed: rest.closed
          idMembers: rest.idMembers
          idLabels: rest.idLabels
          idList: rest.idList
          idBoard: rest.idBoard
          pos: rest.pos
          due: rest.due
          start: rest.start
          dueComplete: rest.dueComplete
          subscribed: rest.subscribed
          cover: rest.cover
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecard
        description: Delete a Card
        call: rest-cards.deletecard
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/actions
      name: cards-id-actions
      description: REST surface for cards-id-actions.
      operations:
      - method: GET
        name: getcardactions
        description: Get Actions on a Card
        call: rest-cards.getcardactions
        with:
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/actions/comments
      name: cards-id-actions-comments
      description: REST surface for cards-id-actions-comments.
      operations:
      - method: POST
        name: createcardcomment
        description: Add a Comment to a Card
        call: rest-cards.createcardcomment
        with:
          text: rest.text
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/attachments
      name: cards-id-attachments
      description: REST surface for cards-id-attachments.
      operations:
      - method: GET
        name: getcardattachments
        description: Get Attachments on a Card
        call: rest-cards.getcardattachments
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcardattachment
        description: Create an Attachment on a Card
        call: rest-cards.createcardattachment
        with:
          name: rest.name
          mimeType: rest.mimeType
          url: rest.url
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/checklists
      name: cards-id-checklists
      description: REST surface for cards-id-checklists.
      operations:
      - method: GET
        name: getcardchecklists
        description: Get Checklists on a Card
        call: rest-cards.getcardchecklists
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcardchecklist
        description: Create a Checklist on a Card
        call: rest-cards.createcardchecklist
        with:
          name: rest.name
          idChecklistSource: rest.idChecklistSource
          pos: rest.pos
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/labels
      name: cards-id-labels
      description: REST surface for cards-id-labels.
      operations:
      - method: POST
        name: addcardlabel
        description: Add a Label to a Card
        call: rest-cards.addcardlabel
        with:
          value: rest.value
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/labels/{idlabel}
      name: cards-id-labels-idlabel
      description: REST surface for cards-id-labels-idLabel.
      operations:
      - method: DELETE
        name: removecardlabel
        description: Remove a Label from a Card
        call: rest-cards.removecardlabel
        with:
          idLabel: rest.idLabel
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/members
      name: cards-id-members
      description: REST surface for cards-id-members.
      operations:
      - method: POST
        name: addcardmember
        description: Add a Member to a Card
        call: rest-cards.addcardmember
        with:
          value: rest.value
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/members/{idmember}
      name: cards-id-members-idmember
      description: REST surface for cards-id-members-idMember.
      operations:
      - method: DELETE
        name: removecardmember
        description: Remove a Member from a Card
        call: rest-cards.removecardmember
        with:
          idMember: rest.idMember
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/cards/{id}/stickers
      name: cards-id-stickers
      description: REST surface for cards-id-stickers.
      operations:
      - method: GET
        name: getcardstickers
        description: Get Stickers on a Card
        call: rest-cards.getcardstickers
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addcardsticker
        description: Add a Sticker to a Card
        call: rest-cards.addcardsticker
        with:
          image: rest.image
          top: rest.top
          left: rest.left
          zIndex: rest.zIndex
          rotate: rest.rotate
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-cards-mcp
    port: 9090
    transport: http
    description: MCP adapter for Trello REST API — Cards. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: create-card
      description: Create a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.createcard
      with:
        name: tools.name
        desc: tools.desc
        pos: tools.pos
        due: tools.due
        start: tools.start
        dueComplete: tools.dueComplete
        idList: tools.idList
        idMembers: tools.idMembers
        idLabels: tools.idLabels
        urlSource: tools.urlSource
        idCardSource: tools.idCardSource
      outputParameters:
      - type: object
        mapping: $.
    - name: get-card
      description: Get a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cards.getcard
      with:
        fields: tools.fields
        actions: tools.actions
        attachments: tools.attachments
        members: tools.members
        checkItemStates: tools.checkItemStates
        checklists: tools.checklists
      outputParameters:
      - type: object
        mapping: $.
    - name: update-card
      description: Update a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-cards.updatecard
      with:
        name: tools.name
        desc: tools.desc
        closed: tools.closed
        idMembers: tools.idMembers
        idLabels: tools.idLabels
        idList: tools.idList
        idBoard: tools.idBoard
        pos: tools.pos
        due: tools.due
        start: tools.start
        dueComplete: tools.dueComplete
        subscribed: tools.subscribed
        cover: tools.cover
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-card
      description: Delete a Card
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-cards.deletecard
      outputParameters:
      - type: object
        mapping: $.
    - name: get-actions-card
      description: Get Actions on a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cards.getcardactions
      with:
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: add-comment-card
      description: Add a Comment to a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.createcardcomment
      with:
        text: tools.text
      outputParameters:
      - type: object
        mapping: $.
    - name: get-attachments-card
      description: Get Attachments on a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cards.getcardattachments
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.
    - name: create-attachment-card
      description: Create an Attachment on a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.createcardattachment
      with:
        name: tools.name
        mimeType: tools.mimeType
        url: tools.url
      outputParameters:
      - type: object
        mapping: $.
    - name: get-checklists-card
      description: Get Checklists on a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cards.getcardchecklists
      outputParameters:
      - type: object
        mapping: $.
    - name: create-checklist-card
      description: Create a Checklist on a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: rest-cards.createcardchecklist
      with:
        name: tools.name
        idChecklistSource: tools.idChecklistSource
        pos: tools.pos
      outputParameters:
      - type: object
        mapping: $.
    - name: add-label-card
      description: Add a Label to a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.addcardlabel
      with:
        value: tools.value
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-label-card
      description: Remove a Label from a Card
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-cards.removecardlabel
      with:
        idLabel: tools.idLabel
      outputParameters:
      - type: object
        mapping: $.
    - name: add-member-card
      description: Add a Member to a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.addcardmember
      with:
        value: tools.value
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-member-card
      description: Remove a Member from a Card
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-cards.removecardmember
      with:
        idMember: tools.idMember
      outputParameters:
      - type: object
        mapping: $.
    - name: get-stickers-card
      description: Get Stickers on a Card
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-cards.getcardstickers
      outputParameters:
      - type: object
        mapping: $.
    - name: add-sticker-card
      description: Add a Sticker to a Card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-cards.addcardsticker
      with:
        image: tools.image
        top: tools.top
        left: tools.left
        zIndex: tools.zIndex
        rotate: tools.rotate
      outputParameters:
      - type: object
        mapping: $.