Bird Intent API

Intent recognition and dataset management operations.

Operations 4

GET /api/v1/datasets List datasets #
GET /api/v1/datasets/{datasetId} Get dataset #
POST /api/v1/datasets/{datasetId}/predict Predict intent #
GET /api/v1/supported-languages Get supported languages #

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/bird-intent-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

bird-intent-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bird Intent API
  description: 'The MessageBird Intent API enables predicting intents from a given phrase using a machine learning model trained on your datasets. Datasets can be created and managed using the dataset section of the MessageBird Dashboard. Intent recognition groups phrases from incoming messages — for example "hi" and "hello" both express a greeting intent. The API applies machine learning to generalize from phrases so that unseen phrases are automatically mapped to the right intent.

    '
  version: 1.0.0
  contact:
    name: Bird Support
    url: https://bird.com/en-us/contact
servers:
- url: https://intent.messagebird.com
security:
- AccessKey: []
tags:
- name: Intent
  description: Intent recognition and dataset management operations.
paths:
  /api/v1/datasets:
    get:
      tags:
      - Intent
      summary: List datasets
      description: 'Lists datasets containing intents and corresponding phrases. You can choose to list only your own datasets, template datasets, or both. Results are paginated.

        '
      operationId: Intent_ListDatasets
      security:
      - AccessKey: []
      parameters:
      - name: listMode
        in: query
        required: false
        description: List mode indicating which datasets to query.
        schema:
          type: string
          enum:
          - ALL
          - ONLY_TEMPLATE
          - ONLY_USER
          default: ALL
      - name: limit
        in: query
        required: false
        description: The maximum number of datasets to return.
        schema:
          type: integer
          default: 20
      - name: cursor
        in: query
        required: false
        description: 'The cursor to view the next paginated collection as provided by nextCursor in the ListDatasetsResponse.

          '
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDatasetsResponse'
        '401':
          description: Returned when the user is not authorized.
        '404':
          description: Returned when the resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/datasets/{datasetId}:
    get:
      tags:
      - Intent
      summary: Get dataset
      description: 'Retrieves the dataset for the given dataset ID. Only displays metadata corresponding to the dataset.

        '
      operationId: Intent_GetDataset
      security:
      - AccessKey: []
      parameters:
      - name: datasetId
        in: path
        required: true
        description: 'Unique ID for the dataset. Obtainable from the dashboard or by listing datasets.

          '
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '401':
          description: Returned when the user is not authorized.
        '404':
          description: Returned when the resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/datasets/{datasetId}/predict:
    post:
      tags:
      - Intent
      summary: Predict intent
      description: 'Predicts an intent for a phrase given a dataset ID. The Intent API uses machine learning to infer the intent of the given phrase. Requires the active model for the dataset to be trained (usually takes ~1 minute after dataset creation or update).

        '
      operationId: Intent_PredictIntent
      security:
      - AccessKey: []
      parameters:
      - name: datasetId
        in: path
        required: true
        description: The unique ID that identifies the dataset for prediction.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PredictIntentRequest'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PredictIntentResponse'
        '401':
          description: Returned when the user is not authorized.
        '404':
          description: Returned when the resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/supported-languages:
    get:
      tags:
      - Intent
      summary: Get supported languages
      description: Lists the languages supported by the Intent API.
      operationId: Intent_ListSupportedLanguages
      security:
      - AccessKey: []
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageList'
        '401':
          description: Returned when the user is not authorized.
        '404':
          description: Returned when the resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Dataset:
      type: object
      description: 'A collection of phrases with the corresponding intents. There can be multiple matching phrases per intent.

        '
      properties:
        datasetId:
          type: string
          format: uuid
          example: dde4eeae-7652-4bc8-8be1-1cd6ac898dc7
          description: The unique ID for the dataset.
          readOnly: true
        intents:
          type: array
          items:
            type: string
          example:
          - order
          - reservation
          description: The collection of intents that were added to this dataset.
        isTemplate:
          type: boolean
          example: false
          description: Describes if this dataset is a template dataset or not.
          readOnly: true
        name:
          type: string
          example: My awesome dataset
          description: The name of the dataset.
        createdAt:
          type: string
          format: date-time
          example: '2021-08-24T12:04:32Z'
          description: The timestamp of dataset creation (ISO-8601).
          readOnly: true
        updatedAt:
          type: string
          format: date-time
          example: '2021-08-24T12:04:32Z'
          description: The timestamp of last update (ISO-8601).
          readOnly: true
        description:
          type: string
          example: This dataset is clearly some awesome dataset.
          description: The optional description of the dataset.
        lastTrainedAt:
          type: string
          format: date-time
          example: '2021-08-24T12:04:32Z'
          description: 'The timestamp of last model that completed training (ISO-8601). Not populated if no model has been trained yet.

            '
          readOnly: true
    LanguageList:
      type: object
      description: List of recognized languages.
      properties:
        languages:
          type: array
          items:
            $ref: '#/components/schemas/Language'
          description: The collection of languages.
    PredictIntentResponse:
      type: object
      description: A response for predicting an intent from a phrase and a dataset ID.
      properties:
        intent:
          type: string
          example: order
          description: The intent that is predicted for the given phrase.
        intentPredicted:
          type: boolean
          example: true
          description: 'Boolean indicating an intent was predicted. If false the phrase could not be matched with an intent.

            '
    Language:
      type: object
      description: Language that was detected from the given phrase.
      properties:
        iso6393Code:
          type: string
          example: nld
          description: The ISO-639-3 code of the language.
        name:
          type: string
          example: Dutch
          description: The English name of the language.
        languageCode:
          type: string
          example: NLD
          description: The ISO639-3 language code enum value.
    ListDatasetsResponse:
      type: object
      description: A response containing the Intent datasets that were queried.
      properties:
        datasets:
          type: array
          items:
            $ref: '#/components/schemas/Dataset'
          description: The paginated collection of datasets.
        limit:
          type: integer
          example: 20
          description: The effective limit of the maximum number of datasets returned.
        nextCursor:
          type: string
          example: VGhpcyBpcyBub3QgYSByZWFsIGN1cnNvcg==
          description: The cursor to obtain the next paginated collection of datasets.
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        details:
          type: array
          items:
            type: object
            additionalProperties: true
    PredictIntentRequest:
      type: object
      description: A request for predicting an intent from a phrase and a dataset ID.
      required:
      - phrase
      properties:
        phrase:
          type: string
          example: I'd like to order something
          description: The phrase that might contain an intent.
  securitySchemes:
    AccessKey:
      type: apiKey
      name: Authorization
      in: header
      description: 'Use the word "AccessKey" followed by your API Key. Example: "AccessKey w223tVQTcLO4ufBTuJxjvzwJ22"

        '
externalDocs:
  description: Find our official documentation in the MessageBird Docs
  url: https://developers.messagebird.com/api