trello Webhooks API

Operations for creating, retrieving, updating, and deleting webhooks that deliver real-time notifications when Trello models change.

Operations 6

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 /webhooks Create a webhook on a Trello model · Create a Webhook #
Ask an LLM
“How do I get notified at my URL whenever a board changes?”
“Why does my callback URL need to answer a HEAD request with 200 before the webhook is created?”
Tell an agent
Create a webhook on model {idModel} that posts to {callbackURL}.
Set up a webhook for {idModel} calling {callbackURL} with description {description}.
GET /webhooks/{id} Get a webhook's configuration · Get a Webhook #
Ask an LLM
“How do I check which URL and model a webhook is pointed at?”
“Can I see whether a webhook is still active?”
Tell an agent
Get webhook {id}.
Show the full configuration of webhook {id}.
PUT /webhooks/{id} Change a webhook's URL, model or active state · Update a Webhook #
Ask an LLM
“Can I point an existing webhook at a new callback URL?”
“How do I pause a webhook without deleting it?”
Tell an agent
Change the callback URL of webhook {id} to {callbackURL}.
Set webhook {id} active to {active}.
DELETE /webhooks/{id} Delete a webhook · Delete a Webhook #
Ask an LLM
“How do I stop Trello from sending events to my endpoint for good?”
“Is deleting a webhook permanent?”
Tell an agent destructive · confirm first
Delete webhook {id}.
Permanently remove webhook {id}.
POST /webhooks/ Create a webhook via the trailing-slash endpoint · Create a Webhook #
Ask an LLM
“Does POST /webhooks/ with the trailing slash create a webhook the same way?”
“Can I register a webhook against the /webhooks/ path variant?”
Tell an agent
Using the /webhooks/ trailing-slash path, create a webhook on {idModel} posting to {callbackURL}.
Register an inactive webhook via /webhooks/ for {idModel} to {callbackURL} with active {active}.
GET /webhooks/{id}/{field} Read one field of a webhook · Get a field on a Webhook #
Ask an LLM
“Can I read just the callback URL field of a webhook?”
“What's the lightest way to check a single webhook property?”
Tell an agent
Get the {field} field of webhook {id}.
Read only {field} from webhook {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-webhooks-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-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Trello Webhooks API
  version: '1.0'
  description: 'Operations tagged Webhooks 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: Webhooks
  description: Operations for creating, retrieving, updating, and deleting webhooks that deliver real-time notifications when Trello models change.
paths:
  /webhooks:
    post:
      operationId: createWebhook
      summary: Create a Webhook
      description: Creates a new webhook. Trello will make an HTTP HEAD request to the callback URL to verify it returns a 200 status code before creating the webhook.
      tags:
      - Webhooks
      parameters:
      - name: callbackURL
        in: query
        required: true
        description: A valid URL that will receive webhook callbacks via HTTP POST.
        schema:
          type: string
          format: uri
      - name: idModel
        in: query
        required: true
        description: The ID of the model to watch for changes.
        schema:
          type: string
      - name: description
        in: query
        description: A description for the webhook.
        schema:
          type: string
          maxLength: 16384
      - name: active
        in: query
        description: Whether the webhook is active.
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Successfully created the webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '400':
          description: Bad request. Callback URL did not return 200 on HEAD request.
        '401':
          description: Unauthorized.
      security:
      - apiKey: []
        apiToken: []
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /webhooks/{id}:
    get:
      operationId: getWebhook
      summary: Get a Webhook
      description: Retrieves a webhook by its identifier.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Successfully retrieved the webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          description: Unauthorized.
        '404':
          description: Webhook not found.
      security:
      - apiKey: []
        apiToken: []
    put:
      operationId: updateWebhook
      summary: Update a Webhook
      description: Updates a webhook's callback URL, model, description, or active status.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/idParam'
      - name: callbackURL
        in: query
        description: The new callback URL for the webhook.
        schema:
          type: string
          format: uri
      - name: idModel
        in: query
        description: The new model ID to watch.
        schema:
          type: string
      - name: description
        in: query
        description: The new description for the webhook.
        schema:
          type: string
          maxLength: 16384
      - name: active
        in: query
        description: Whether the webhook is active.
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully updated the webhook.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        '401':
          description: Unauthorized.
        '404':
          description: Webhook not found.
      security:
      - apiKey: []
        apiToken: []
    delete:
      operationId: deleteWebhook
      summary: Delete a Webhook
      description: Permanently deletes a webhook.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/idParam'
      responses:
        '200':
          description: Successfully deleted the webhook.
        '401':
          description: Unauthorized.
        '404':
          description: Webhook not found.
      security:
      - apiKey: []
        apiToken: []
    parameters:
    - name: id
      in: path
      description: ID of the webhook to retrieve.
      required: true
      schema:
        $ref: '#/components/schemas/TrelloID'
    servers:
    - url: https://api.trello.com/1
      description: Trello API v1 Production Server
  /webhooks/:
    post:
      tags:
      - Webhooks
      summary: Create a Webhook
      description: Create a new webhook.
      operationId: post-webhooks
      security:
      - OAuth2: []
      parameters:
      - name: description
        in: query
        description: A string with a length from `0` to `16384`.
        required: false
        schema:
          type: string
          maxLength: 16384
          minLength: 0
      - name: callbackURL
        in: query
        description: A valid URL that is reachable with a `HEAD` and `POST` request.
        required: true
        schema:
          type: string
          format: url
      - name: idModel
        in: query
        description: ID of the model to be monitored
        required: true
        schema:
          $ref: '#/components/schemas/TrelloID'
      - name: active
        in: query
        description: Determines whether the webhook is active and sending `POST` requests.
        required: false
        schema:
          type: boolean
      deprecated: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook_2'
    servers:
    - url: https://api.trello.com/1
  /webhooks/{id}/{field}:
    get:
      tags:
      - Webhooks
      summary: Get a field on a Webhook
      operationId: webhooksidfield
      security:
      - OAuth2: []
      parameters:
      - name: id
        in: path
        description: ID of the webhook.
        required: true
        schema:
          $ref: '#/components/schemas/TrelloID'
      - name: field
        in: path
        description: 'Field to retrieve. One of: `active`, `callbackURL`, `description`, `idModel`'
        required: true
        schema:
          enum:
          - active
          - callbackURL
          - description
          - idModel
          - consecutiveFailures
          - firstConsecutiveFailDate
          type: string
      deprecated: false
      responses:
        '200':
          description: Success
    servers:
    - url: https://api.trello.com/1
components:
  parameters:
    idParam:
      name: id
      in: path
      required: true
      description: The ID of the resource.
      schema:
        type: string
  schemas:
    Webhook:
      type: object
      description: Represents a webhook that delivers HTTP POST callbacks to a specified URL when changes occur on a watched Trello model.
      properties:
        id:
          type: string
          description: The unique identifier for the webhook.
        description:
          type: string
          description: A description of the webhook.
        idModel:
          type: string
          description: The ID of the model being watched.
        callbackURL:
          type: string
          format: uri
          description: The URL that will receive webhook callbacks.
        active:
          type: boolean
          description: Whether the webhook is active.
        consecutiveFailures:
          type: integer
          description: The number of consecutive delivery failures.
        firstConsecutiveFailDate:
          type: string
          format: date-time
          description: The date of the first consecutive failure.
    TrelloID:
      type: string
      pattern: ^[0-9a-fA-F]{24}$
      example: 5abbe4b7ddc1b351ef961414
    Webhook_2:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/TrelloID'
          example: 58dd6dcaf8b86744d3cb4cde
        description:
          type: string
          example: Board Webhook
        idModel:
          $ref: '#/components/schemas/TrelloID'
          example: 59cd149051aa57a706962996
        callbackURL:
          type: string
          format: url
          example: https://mywebhookurl.com/?type=board
        active:
          type: boolean
          example: true
        consecutiveFailures:
          type: number
          example: 0
        firstConsecutiveFailDate:
          type:
          - string
          - 'null'
          format: date
          example: null
  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