Bright Pattern Task Routing API

The following methods allow tasks within Bright Pattern Contact Center to be queued, canceled, updated, and queried.

Business capability
Contact Centre Operations Management BC-430.30

Operations 5

POST /taskroutingapi/v1/task Queue Task #
DELETE /taskroutingapi/v1/task/{taskid} Cancel Task #
PATCH /taskroutingapi/v1/task/{taskid} Update Task #
GET /taskroutingapi/v1/task/{taskid} Query Task #
DELETE /taskroutingapi/v1/service Cancel Service Tasks #

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/bright-pattern-task-routing-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

bright-pattern-task-routing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BPCC Task Routing API
  version: 1.0.0
  description: The Bright Pattern Contact Center (BPCC) Task Routing API v1 is a RESTful API that enables external systems (such as CRMs) to create, route, modify, cancel, and query tasks in BPCC.
  contact:
    name: Bright Pattern
    url: https://www.brightpattern.com/contact/
  x-origin:
  - format: postman
    url: https://documenter.getpostman.com/view/31590362/2sA3XTfLhk
    version: '2.1'
  x-evidence:
    fetched: '2026-08-08'
    source: https://documenter.gw.postman.com/api/collections/31590362/2sA3XTfLhk?segregateAuth=true&versionTag=latest
    http_status: 200
    method: derived-from-published-postman-collection
    note: Mechanically converted from the Postman collection Bright Pattern publishes as its public API reference. No operations, paths, parameters or examples were invented.
servers:
- url: https://{tenant_url}
  description: Bright Pattern is multi-tenant; the base host is the customer contact-center tenant domain.
  variables:
    tenant_url:
      default: example.brightpattern.com
      description: Your Bright Pattern Contact Center tenant hostname.
security:
- bearerAuth: []
tags:
- name: Task Routing
  description: The following methods allow tasks within Bright Pattern Contact Center to be queued, canceled, updated, and queried.
paths:
  /taskroutingapi/v1/task:
    post:
      operationId: queueTask
      summary: Queue Task
      description: Queue a task and associate it with a case and contact.
      tags:
      - Task Routing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              extTaskId: task_id_12345_external_crm
              extCaseId: case_id_67890_external_crm
              extContactId: contact_id_6789_external_crm
              serviceName: Task Service
              screenpop: SHOW_OBJECT:192837465:task
              screenpopData:
              - type: web
                url: https://www.brightpattern.com
                label: The Title
                webScreenpopShowInTab: true
              - type: web
                url: https://www.someotherurl.com
                label: A different title that doesn't matter, since it's not opened in a tab
                webScreenpopShowInTab: false
              - type: dynamicscrm
                url: SHOW_OBJECT:5551212:task
                screenpopShowUponAnswer: true
              webScreenpopShowInTab: true
              screenpopShowUponAnswer: false
              priority: 2
              taskLaunchPointId: 952e8dc2e0469c349cb9c02c9b31f9150b7afd7a
              order: fifo
              contactInfo:
                firstName: John
                lastName: Doe
                title: Senior Manager
                position: Head of Engineering
                summary: Experienced leader in software development.
                segment: High Value Customer
                dob: '1980-05-10T00:00:00.000Z'
                emails:
                - type: PRIMARY
                  address: john.doe@example.com
                - type: BUSINESS
                  address: john.doe.business@example.com
                addresses:
                - type: PRIMARY
                  postcode: '90210'
                  state: CA
                  city: Beverly Hills
                  addressLine1: 123 Main Street
                  addressLine2: Suite 456
                  country: USA
                custom_signup_source: Website
              caseInfo:
                category: Technical Support
                priority: 1
                custom_related_knowledge_base_article: KB-12345
              taskInfo:
                subject: Follow up on customer issue
                custom_task_notes: Offer a reduced subscription price if customer is not satisfied by the resolution.
      responses:
        '200':
          description: Queue Task
          content:
            application/json:
              example:
                taskId: 66bb3a68bf36507742b4c612
                caseId: 66bb3a68bf36507742b4c611
                contactId: 66bb3a68bf36507742b4c610
      security:
      - bearerAuth: []
  /taskroutingapi/v1/task/{taskid}:
    delete:
      operationId: cancelTask
      summary: Cancel Task
      description: 'Removes the queued task specified by the taskId path variable from the queue and sets its disposition to dispositionName. Canceling a task is possible only while the task is still in the service queue or an agent''s personal queue.


        Use the external query parameter to specify whether taskId is an internal or external identifier.


        Request Body


        Parameter

        Description


        note

        An optional note to be added to the task as it is canceled, providing context for the action.


        dispositionName

        The name of the disposition to be applied to the canceled task, indicating the outcome or reason for closure. Default is Abandoned


        Response Body Parameters


        None'
      tags:
      - Task Routing
      parameters:
      - name: taskid
        in: path
        required: true
        schema:
          type: string
      - name: external
        in: query
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              note: Cancelled per user request
              dispositionName: Abandoned
      responses:
        '204':
          description: Cancel Task
      security:
      - bearerAuth: []
    patch:
      operationId: updateTask
      summary: Update Task
      description: 'Modify the priority or associated service of the queued task specified by the taskID path variable.


        Use the external query parameter to specify whether taskId is an internal or external identifier.


        Request Body


        Parameter

        Description


        serviceName

        The name of the service to which the task should be moved. If different from the current service, the task will be re-queued to the new service.


        priority

        The new priority for the task. This only applies to tasks being routed using the lifo order.


        Body Parameters


        None'
      tags:
      - Task Routing
      parameters:
      - name: taskid
        in: path
        required: true
        schema:
          type: string
      - name: external
        in: query
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              priority: 100
              serviceName: New service
      responses:
        '200':
          description: Update Task
      security:
      - bearerAuth: []
    get:
      operationId: queryTask
      summary: Query Task
      description: 'Retrieves information about the task specified by the taskId path variable.


        Use the external query parameter to specify whether taskId is an internal or external identifier.


        Request Body


        None


        Response Body


        Parameter

        Description


        taskStatus

        Task''s current status (CREATED, QUEUED, DEFERRED, COMPLETED).


        serviceName

        Name of the service with which the task is associated.


        priority

        Task queue priority.


        order

        Task queue order (FIFO/LIFO).


        dispositionName

        Disposition name for completed tasks. Empty if task is still queued.'
      tags:
      - Task Routing
      parameters:
      - name: taskid
        in: path
        required: true
        schema:
          type: string
      - name: external
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Query Task
          content:
            application/json:
              example:
                taskStatus: DEFERRED
                priority: 5
                serviceName: New Task Processing Service
                order: fifo
                dispositionName: Abandoned
      security:
      - bearerAuth: []
  /taskroutingapi/v1/service:
    delete:
      operationId: cancelServiceTasks
      summary: Cancel Service Tasks
      description: 'Cancel all currently queued tasks associated with the service specified by serviceName. The disposition designated by dispositionName and the note specified by note is applied to each canceled task.


        Request Body


        Parameter

        Description


        serviceName

        The name of the service for which all associated queued tasks should be canceled.


        note

        An optional note to be added to each task as it is canceled.


        dispositionName

        The name of the disposition to apply to each canceled tasks.


        Response Body


        Parameter

        Description


        count

        The count of tasks canceled by the operation.


        taskIds

        Array of objects indicating the extTaskId and taskId of each canceled task.'
      tags:
      - Task Routing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              note: This service is no longer being offered.
              serviceName: Example Service
              dispositionName: Abandoned
      responses:
        '204':
          description: Cancel Service Tasks
          content:
            application/json:
              example:
                count: 2
                taskIds:
                - extTaskId: '12345'
                  taskId: '5432321'
                - extTaskId: '12346'
                  taskId: '5432322'
      security:
      - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth 2.0 access token issued by the Bright Pattern token endpoint, sent as `Authorization: Bearer <token>`.'
    oauth2ClientCredentials:
      type: oauth2
      description: OAuth 2.0 client-credentials grant against the Bright Pattern tenant token endpoint.
      flows:
        clientCredentials:
          tokenUrl: https://{tenant_url}/configapi/v2/oauth/token
          scopes: {}