Trello Custom Fields API

Operations for creating, retrieving, updating, and deleting custom field definitions and their values on boards and cards.

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /customFields Create a custom field on a board · Create a Custom Field Definition #
Ask an LLM
“How do I add a new custom field, like a dropdown or number, to a board?”
“Can I show a custom field on the front of cards when I create it?”
Tell an agent
Create a {type} custom field called {name} on board {idModel} of model type {modelType} at position {pos}.
Add a dropdown field {name} with options {options} to board {idModel}, model type {modelType}, type {type}, position {pos}.
GET /customFields/{id} Get a custom field definition · Get a Custom Field Definition #
Ask an LLM
“How do I look up a custom field's type and name?”
“Can I fetch one custom field definition by id?”
Tell an agent
Get custom field {id}.
Show the definition of custom field {id}.
PUT /customFields/{id} Rename or reposition a custom field · Update a Custom Field Definition #
Ask an LLM
“Can I rename a custom field after it's been created?”
“How do I stop a custom field from showing on the card front?”
Tell an agent
Rename custom field {id} to {name}.
Move custom field {id} to position {pos}.
DELETE /customFields/{id} Delete a custom field and its values · Delete a Custom Field Definition #
Ask an LLM
“What happens to card values when I delete a custom field?”
“How do I remove a custom field from a board entirely?”
Tell an agent destructive · confirm first
Delete custom field {id} and clear its values from all cards.
Remove custom field definition {id}.
GET /cards/{id}/customFieldItems Get the custom field values on a card · Get Custom Field Items on a Card #
Ask an LLM
“Which custom field values are filled in on a card?”
“How do I read all custom field data for one card?”
Tell an agent
Get the custom field values on card {id}.
List custom field items set on card {id}.
PUT /cards/{idCard}/customField/{idCustomField}/item Set a custom field value on a card · Set a Custom Field Value on a Card #
Ask an LLM
“How do I fill in a custom field value on a specific card?”
“Can I pick a dropdown option for a card's custom field by option id?”
Tell an agent
Set custom field {idCustomField} on card {idCard} to {value}.
Choose dropdown option {idValue} for field {idCustomField} on card {idCard}.
POST /customFields/{id}/options Add an option to a dropdown custom field · Add Option to Custom Field dropdown #
Ask an LLM
“How do I add a new choice to an existing dropdown field?”
“Can I extend a dropdown custom field with another option?”
Tell an agent
Add a new option to dropdown custom field {id}.
Create another choice on dropdown field {id}.
GET /customFields/{id}/options List the options of a dropdown custom field · Get Options of Custom Field drop down #
Ask an LLM
“What choices are available in a dropdown custom field?”
“How do I list every option on a dropdown field?”
Tell an agent
List the options of dropdown custom field {id}.
Show all choices in dropdown field {id}.
GET /customFields/{id}/options/{idCustomFieldOption} Get one option of a dropdown custom field · Get Option of Custom Field dropdown #
Ask an LLM
“How do I look up a single dropdown option by its id?”
“Can I see the text and color of one dropdown choice?”
Tell an agent
Get option {idCustomFieldOption} of dropdown field {id}.
Show dropdown choice {idCustomFieldOption} on custom field {id}.
DELETE /customFields/{id}/options/{idCustomFieldOption} Delete an option from a dropdown custom field · Delete Option of Custom Field dropdown #
Ask an LLM
“How do I remove a choice from a dropdown custom field?”
“Can I delete a dropdown option nobody uses anymore?”
Tell an agent destructive · confirm first
Delete option {idCustomFieldOption} from dropdown field {id}.
Remove dropdown choice {idCustomFieldOption} on custom field {id}.

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/trello:trello-custom-fields-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

trello-custom-fields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Trello Custom Fields API
  version: '1.0'
  description: 'Operations tagged CustomFields across 2 of this provider''s published API definitions: trello-rest-api-openapi.yml, trello-rest-api-swagger-v3.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.trello.com/1
  description: Trello API v1 Production Server
tags:
- name: Custom Fields
  description: Operations for creating, retrieving, updating, and deleting custom field definitions and their values on boards and cards.
paths:
  /customFields:
    post:
      operationId: createCustomField
      summary: Create a Custom Field Definition
      description: Creates a new custom field definition on a board.
      tags:
      - Custom Fields
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - idModel
              - modelType
              - name
              - type
              - pos
              properties:
                idModel:
                  type: string
                  description: The ID of the board to create the custom field on.
                modelType:
                  type: string
                  description: The type of model. Should be 'board'.
                  enum:
                  - board
                name:
                  type: string
                  description: The name of the custom field.
                type:
                  type: string
                  description: The type of the custom field.
                  enum:
                  - checkbox
                  - date
                  - list
                  - number
                  - text
                pos:
                  type: string
                  description: The position of the custom field.
                display_cardFront:
                  type: boolean
                  description: Whether to display the custom field on the front of cards.
                options:
                  type: array
                  description: Options for list-type custom fields.
                  items:
                    type: object
                    properties:
                      color:
                        type: string
                      value:
                        type: object
                        properties:
                          text:
                            type: string
                      pos:
                        type: integer
      responses:
        '200':
          description: Successfully created the custom field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
      security:
      - apiKey: []
        apiToken: []
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /customFields/{id}:
    get:
      operationId: getCustomField
      summary: Get a Custom Field Definition
      description: Retrieves a custom field definition by its identifier.
      tags:
      - Custom Fields
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Successfully retrieved the custom field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
        '401':
          description: Unauthorized.
        '404':
          description: Custom field not found.
      security:
      - apiKey: []
        apiToken: []
    put:
      operationId: updateCustomField
      summary: Update a Custom Field Definition
      description: Updates a custom field definition.
      tags:
      - Custom Fields
      parameters:
      - $ref: '#/components/parameters/idParam'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The new name for the custom field.
                pos:
                  type: string
                  description: The new position for the custom field.
                display/cardFront:
                  type: boolean
                  description: Whether to display on card fronts.
      responses:
        '200':
          description: Successfully updated the custom field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
        '401':
          description: Unauthorized.
        '404':
          description: Custom field not found.
      security:
      - apiKey: []
        apiToken: []
    delete:
      operationId: deleteCustomField
      summary: Delete a Custom Field Definition
      description: Permanently deletes a custom field definition and removes its values from all cards on the board.
      tags:
      - Custom Fields
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Successfully deleted the custom field.
        '401':
          description: Unauthorized.
        '404':
          description: Custom field not found.
      security:
      - apiKey: []
        apiToken: []
    parameters:
    - name: id
      in: path
      description: ID of the Custom Field.
      required: true
      schema:
        $ref: '#/components/schemas/TrelloID'
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /cards/{id}/customFieldItems:
    get:
      operationId: getCardCustomFieldItems
      summary: Get Custom Field Items on a Card
      description: Retrieves the custom field values set on a specific card.
      tags:
      - Custom Fields
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Successfully retrieved custom field items.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomFieldItem'
        '401':
          description: Unauthorized.
        '404':
          description: Card not found.
      security:
      - apiKey: []
        apiToken: []
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /cards/{idCard}/customField/{idCustomField}/item:
    put:
      operationId: updateCardCustomFieldItem
      summary: Set a Custom Field Value on a Card
      description: Sets or updates the value of a custom field on a card.
      tags:
      - Custom Fields
      parameters:
      - name: idCard
        in: path
        required: true
        description: The ID of the card.
        schema:
          type: string
      - name: idCustomField
        in: path
        required: true
        description: The ID of the custom field.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: object
                  description: The value for the custom field. Structure depends on the field type.
                idValue:
                  type: string
                  description: The ID of the option value for list-type fields.
      responses:
        '200':
          description: Successfully updated the custom field value.
        '401':
          description: Unauthorized.
        '404':
          description: Card or custom field not found.
      security:
      - apiKey: []
        apiToken: []
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /customFields/{id}/options:
    parameters:
    - name: id
      in: path
      description: ID of the customfield.
      required: true
      schema:
        $ref: '#/components/schemas/TrelloID'
    post:
      tags:
      - Custom Fields
      summary: Add Option to Custom Field dropdown
      description: Add an option to a dropdown Custom Field
      operationId: get-customfields-id-options
      security:
      - OAuth2:
        - write:board:trello
      deprecated: false
      responses:
        '200':
          description: Success
    get:
      tags:
      - Custom Fields
      summary: Get Options of Custom Field drop down
      description: Get the options of a drop down Custom Field
      operationId: post-customfields-id-options
      security:
      - OAuth2:
        - read:board:trello
      deprecated: false
      responses:
        '200':
          description: Success
    servers:
    - url: https://api.trello.com/1
  /customFields/{id}/options/{idCustomFieldOption}:
    parameters:
    - name: id
      in: path
      description: ID of the customfielditem.
      required: true
      schema:
        $ref: '#/components/schemas/TrelloID'
    - name: idCustomFieldOption
      in: path
      description: ID of the customfieldoption to retrieve.
      required: true
      schema:
        $ref: '#/components/schemas/TrelloID'
    get:
      tags:
      - Custom Fields
      summary: Get Option of Custom Field dropdown
      description: Retrieve a specific, existing Option on a given dropdown-type Custom Field
      operationId: get-customfields-options-idcustomfieldoption
      security:
      - OAuth2:
        - read:board:trello
      deprecated: false
      responses:
        '200':
          description: Success
    delete:
      tags:
      - Custom Fields
      summary: Delete Option of Custom Field dropdown
      description: Delete an option from a Custom Field dropdown.
      operationId: delete-customfields-options-idcustomfieldoption
      security:
      - OAuth2:
        - write:board:trello
      deprecated: false
      responses:
        '200':
          description: Success
    servers:
    - url: https://api.trello.com/1
components:
  schemas:
    CustomField:
      type: object
      description: Represents a custom field definition on a board that allows structured data to be added to cards.
      properties:
        id:
          type: string
          description: The unique identifier for the custom field.
        idModel:
          type: string
          description: The ID of the model (board) the custom field belongs to.
        modelType:
          type: string
          description: The type of model (board).
        fieldGroup:
          type: string
          description: The field group identifier.
        name:
          type: string
          description: The name of the custom field.
        type:
          type: string
          description: The data type of the custom field.
          enum:
          - checkbox
          - date
          - list
          - number
          - text
        pos:
          type: number
          description: The position of the custom field.
        display:
          type: object
          description: Display settings for the custom field.
          properties:
            cardFront:
              type: boolean
              description: Whether to display on card fronts.
        options:
          type: array
          description: Options for list-type custom fields.
          items:
            type: object
            properties:
              id:
                type: string
              idCustomField:
                type: string
              value:
                type: object
                properties:
                  text:
                    type: string
              color:
                type: string
              pos:
                type: integer
    CustomFieldItem:
      type: object
      description: Represents a custom field value set on a specific card.
      properties:
        id:
          type: string
          description: The unique identifier for the custom field item.
        idCustomField:
          type: string
          description: The ID of the custom field definition.
        idModel:
          type: string
          description: The ID of the card.
        modelType:
          type: string
          description: The type of model (card).
        value:
          type: object
          description: The value of the custom field. Structure depends on the field type.
          properties:
            text:
              type: string
            number:
              type: string
            date:
              type: string
              format: date-time
            checked:
              type: string
        idValue:
          type: string
          description: The ID of the selected option for list-type fields.
    CustomField_2:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/TrelloID'
          example: 5ab10be237846c43015f108e
        idModel:
          type: string
          example: 586e8f681d4fe9b06a928307
        modelType:
          type: string
          enum:
          - card
          - board
          - member
          example: board
        fieldGroup:
          type: string
          example: f6177ba6839d6fff0f73922c1cea105e793fda8a1433d466104dacc0b7c56955
        display:
          type: object
          properties:
            cardFront:
              type: boolean
              example: true
            name:
              type: string
              example: Priority 🏔
            pos:
              type: string
              example: 98304,
            options:
              type: array
              items:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/TrelloID'
                    example: 5ab10be237846c43015f1091
                  idCustomField:
                    $ref: '#/components/schemas/TrelloID'
                    example: 5ab10be237846c43015f108e
                  value:
                    type: object
                    properties:
                      text:
                        type: string
                        example: High
                  color:
                    type: string
                    example: red
                  pos:
                    type: number
                    example: 16384
        type:
          type: string
          example: list
    TrelloID:
      type: string
      pattern: ^[0-9a-fA-F]{24}$
      example: 5abbe4b7ddc1b351ef961414
    posStringOrNumber:
      oneOf:
      - type: string
        enum:
        - top
        - bottom
      - type: number
        format: float
        example: 1293.5
  parameters:
    idParam:
      name: id
      in: path
      required: true
      description: The ID of the resource.
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: Your Trello API key, obtained from the Power-Ups admin page at https://trello.com/power-ups/admin.
    apiToken:
      type: apiKey
      in: query
      name: token
      description: A user token that grants access to Trello resources. Obtained by authorizing via the /1/authorize route or OAuth 1.0.
    APIKey:
      type: apiKey
      in: query
      name: key
    APIToken:
      in: query
      name: token
      type: apiKey
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.atlassian.com/authorize
          tokenUrl: https://auth.atlassian.com/authorize/oauth/token
          scopes:
            read:board:trello: Read cards, lists, and comments in boards.
            write:board:trello: Create and update cards, lists, and comments in boards.
            write:board:membership:trello: Add, remove, or modify memberships on boards.
            read:organization:trello: Read workspaces.
            write:organization:trello: Update workspaces.
            write:organization:membership:trello: Add, remove, or modify memberships on workspaces.
            read:member:trello: Read email address, public name, public avatar, and memberships of boards, workspaces, and enterprises.
            write:member:trello: Upload custom emojis and stickers, star boards, and save searches.
            read:enterprise:trello: Read enterprises.
            write:enterprise:trello: Update and manage enterprises.
externalDocs:
  description: Trello REST API Documentation
  url: https://developer.atlassian.com/cloud/trello/rest/
x-refined-from:
- trello-rest-api-openapi.yml
- trello-rest-api-swagger-v3.json
x-provenance:
  method: harvested
  publisher: Trello
  source: https://developer.atlassian.com/cloud/trello/swagger.v3.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)