Bright Pattern Methods API

The Methods API from Bright Pattern — 32 operation(s) for methods.

OpenAPI Specification

bright-pattern-methods-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bright Pattern Methods API
  version: 1.0.0
  contact:
    name: Bright Pattern
    url: https://www.brightpattern.com/contact/
  description: 'Operations tagged Methods across 3 of this provider''s published API definitions: bright-pattern-mobile-web-messaging-v1-openapi.yml, bright-pattern-mobile-web-messaging-v2-openapi.yml, bright-pattern-real-time-statistics-openapi.yml. Each path carries the servers of the definition it was published in.'
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: Methods
paths:
  /clientweb/api/v1/availability:
    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.
    get:
      operationId: checkAvailability
      summary: Check Availability
      description: 'This method returns the availability status of the configured hours of operation of the associated Messaging/Chat scenario entry. Optionally, Estimated Wait time (EWT) (in seconds) may be returned but could be missing if the server does not have enough data to estimate the EWT value. Note that the API does not check if there are any agents actually logged in.


        Status Meanings


        Status Name

        Description


        available

        The requested service is available.


        notAvailable

        The office providing the requested service is currently closed.


        Returns


        Code

        Description


        200

        Success: Returns the scenario entry’s current status / EWT (optionally)


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Check Availability Example
          content:
            application/json:
              example:
                chat: <available|notAvailable>
                ewt: <estimated wait time in seconds for a chat in state queued>
      security:
      - bearerAuth: []
  /clientweb/api/v1/parameters:
    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.
    get:
      operationId: expectedParameters
      summary: Expected Parameters
      description: 'This method returns an array of expected parameters. The parameters are optional. They may be used, for example, to look for the most qualified agents to handle the requested chat sessions and/or to display user information for the agents. These parameters are initially specified for the Messaging/Chat scenario entry through which this mobile application will communicate with the contact center.


        Currently, the following parameter types are supported:


        PHONE


        TEXT


        EMAIL


        FIRST_NAME


        LAST_NAME


        ACCOUNT


        COMPANY


        Returns


        Code

        Description


        200

        application/json with names and types of parameters that may be expected from the client application


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Expected Parameters Example
          content:
            application/json:
              example:
                parameters:
                - <name>: <type>
                - '...'
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats:
    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.
    post:
      operationId: requestChat
      summary: Request Chat
      description: "This method initiates a chat session. It provides values of all or some of the expected parameters, and it may also contain the phone number of the mobile device. Depending on the scenario entry configuration, a callback can be initiated automatically to the specified number as soon as the chat request is delivered to the agent.\n\nNotes:\n\nThe Request Chat method may return the ID and parameters of an existing chat session if there are any currently existing chat sessions associated with this specific client. For example, the client app created a chat session, which was then closed or crashed, then restarted before the session timed out on the server. \n\nThe is_new_chat response attribute is specified if the chat is a new session or existing session. The client application will handle these differently (e.g., if in an existing session the app may request session history and show the previous content.\n\nIf the associated mobile/web scenario entry is not configured for automatic callback, the agent can still use this number to call the mobile user manually, either upon the agent's own initiative or when asked to do this via a chat message from the mobile user.\n\nThe parameter from may be used to specify either the device owner’s name or phone number. It will be placed in the scenario variable $(item.from).\n\nParameters returned in the parameters attribute are propagated into the scenario variable $(item.externalChatData).\n\nOptionally, Estimated Wait time (EWT) (in seconds) may be returned but could be missing if the server does not have enough data to estimate the EWT value. This might be important for the clients with strict JSON serialization (i.e., the client app may fail deserializing the JSON if the attribute is missing).\n\nReturns\n\nCode\nDescription\n\n200\nChat session properties (content type: application/json)\n\nErrors\n\nCode\nDescription\n\n400\nBad request\n\n403\nForbidden"
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: Content
        in: header
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
            example: "{\n    \"phone_number\":\"<phone number for callback, if necessary>\",\n    \"from\":\"<propagated into scenario variable $(item.from)>\",\n    \"parameters\":{\n        \"parameter_1\":\"value_1\",\n        \"...\",\n        \"parameter_n\":\"value_n\"\n    }\n}"
      responses:
        '200':
          description: Request Chat Example
          content:
            application/json:
              example:
                chat_id: <chat ID>
                state: <queued|connected|ivr|establishing>
                ewt: <estimated wait time for a chat in state queued>
                is_new_chat: true|false
                phone_number: phone number that will be used for callback
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats/active:
    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.
    get:
      operationId: getActiveChat
      summary: Get Active Chat
      description: 'This method returns the properties of an active chat session. Optionally, Estimated Wait time (EWT) (in seconds) may be returned but could be missing if the server does not have enough data to estimate the EWT value.


        Returns


        Code

        Description


        200

        Chat session properties (content type: application/json)


        Errors


        Code

        Description


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get Active Chat Example
          content:
            application/json:
              example:
                chat_id: <chat ID>
                state: <queued|connected|ivr|establishing>
                ewt: <estimated wait time for a chat in state queued>
                phone_number: <phone number that will be used for callback>
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats/{chatId}/events:
    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.
    post:
      operationId: sendEvents
      summary: Send Events
      description: 'This method sends events from the client to the server side.


        Returns


        Code

        Description


        200

        Array of new chat events from the server side (content type: application/json)


        Errors


        Code

        Description


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: chatId
        in: path
        required: true
        schema:
          type: string
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
            example: "{\n “events”: [<array of chat events>\n    ]\n}"
      responses:
        '200':
          description: Send Events Example
          content:
            application/json:
              example:
                events:
                - <array of new chat events from server>
      security:
      - bearerAuth: []
    get:
      operationId: getNewChatEvents
      summary: Get New Chat Events
      description: 'This method returns new chat events for the current session. If there are no new events, the server can keep the request active during a timeout (i.e., for about 5–15 seconds). If the client sends another request to get new events while the previous request is kept active, the server will respond with error 400 (Bad request).


        Returns


        Code

        Description


        200

        Array of chat events (content type: application/json)


        Errors


        Code

        Description


        400

        Bad request


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: chatId
        in: path
        required: true
        schema:
          type: string
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get New Chat Events Example
          content:
            application/json:
              example:
                events:
                - <array of chat events>
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats/{chatId}/history:
    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.
    get:
      operationId: getChatHistory
      summary: Get Chat History
      description: 'This method returns all client events and all server events for the current session. Multiple event objects can be returned; each event''s timestamp attribute can be used to restore the correct message order.


        Returns


        Code

        Description


        200

        Array of chat events (content type: application/json)


        Errors


        Code

        Description


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: chatId
        in: path
        required: true
        schema:
          type: string
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get Chat History Example
          content:
            application/json:
              example:
                events:
                - <array of chat events>
      security:
      - bearerAuth: []
  /clientweb/api/v1/files:
    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.
    post:
      operationId: uploadFile
      summary: Upload File
      description: 'This method uploads a file to the server. The maximum file size is 25 MB. The server will store up to 1000 files. Newly received files will replace the oldest files. This method can be used, for example, to send pictures from the client mobile application to the contact center agents.


        Returns


        Code

        Description


        200

        File ID to be used in the chat_session_file message (content type: application/json)


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
      responses:
        '200':
          description: Upload File Example
          content:
            application/json:
              example:
                file_id: file ID
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats/{chatId}/files/{fileId}:
    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.
    get:
      operationId: getFile
      summary: Get File
      description: 'This method downloads a file from the server using the received file ID. See server event Chat Session File.


        Returns


        Code

        Description


        200

        File content type


        Errors


        Code

        Description


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: chatId
        in: path
        required: true
        schema:
          type: string
      - name: fileId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get File Example
          content:
            application/json:
              example: File content type
      security:
      - bearerAuth: []
  /clientweb/api/v1/chats/{chatId}/profilephotos/{partyId}:
    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.
    get:
      operationId: getAgentProfilePhoto
      summary: Get Agent Profile Photo
      description: 'This method downloads a profile photo of the specified agent.


        Request Body


        The request body is the party ID of the agent participating in the current chat session.


        Note: The party ID is provided with the chat event (polled at https://{host:port}/clientweb/api/v1/chats/{chatId}/events?tenantUrl={tenantUrl}). For example, you can see party_ID in the event message for chat_session_party_joined.


        Returns


        Code

        Description


        200

        File content type


        Errors


        Code

        Description


        403

        Forbidden


        404

        Not found'
      tags:
      - Methods
      parameters:
      - name: chatId
        in: path
        required: true
        schema:
          type: string
      - name: partyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get Agent Profile Photo Example
          content:
            application/json:
              example: File content type
      security:
      - bearerAuth: []
  /clientweb/api/v1/iceservers:
    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.
    get:
      operationId: getIceServers
      summary: Get ICE servers
      description: 'This method returns a list of configured ICE servers to provide to the browser so that an audio-visual session could be added to the chat.


        Returns


        Code

        Description


        200

        Success: JSON response with information of ICE servers


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get ICE servers
          content:
            application/json:
              example:
                servers:
                - url: <url>
                  username: <(optional) username>
                  credential: <(optional) password>
      security:
      - bearerAuth: []
  /clientweb/api/v1/configuration:
    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.
    get:
      operationId: getChatWidgetConfiguration
      summary: Get Chat Widget Configuration
      description: 'This method returns the chat widget configuration for the launch point.


        Returns


        Code

        Description


        200

        Success: JSON response with information of ICE servers


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get Chat Widget Configuration
          content:
            application/json:
              example: "{\n  \"widgets\":[\n     {\n       \"name\": \"<widget name>\",\n       \"urls\":[\"<url>\", …],\n       \"definition\": {\n         \"contact_tab\":{\n           \"enabled\": true|false,\n           \"location\": \"top_left|top_middle|top_right\n                       |right_top|right_middle|right_bottom\n                       |bottom_left| bottom_middle|bottom_right\n                       |left_top|left_middle|left_bottom\",\n           \"color\": \"<color>\",\n           \"bg_color\": \"color\",\n           \"font\": {\n             \"family\": \"<font family>\",\n             \"size\": \"<font size>\",\n             \"style\": \"<font style>\",\n             \"weight\": \"<font weight>\"   \n           },\n           \"agents_available_msg\": \"<msg>\",\n           \"agents_not_available_msg\": \"<msg>\",\n           \"out_of_hours_msg\": \"<msg>\",\n           \"show_ewt_out_of_hours\": true|false  \n         }\n       },\n\t    \"styles\":{\n\t\t    \"style1\":{\n                \"contentMargin\" : {\n                    \"margin\": \"\"\n                },\n                \"titleFont\" : {\n                    \"font-family\": \"\",\n                    \"font-style\": \"\",\n                    \"font-size\": \"\",\n                    \"font-weight\": \"\"\t\n                },\n                \"contactTabFont\" : {\n                    \"font-family\": \"\",\n                    \"font-style\": \"\",\n                    \"font-size\": \"\",\n                    \"font-weight\": \"\"\t\n                },\n                \"systemMessage\" : {\n                    \"background-color\": \"\"\n                },\n                \"agentMessage\" : {\n                    \"background-color\": \"\"\n                },\n                \"widgetBorder\" : {\n                    \"border\": \"1px solid etc...\",\n                    \"border-radius\": \"\"\n                },\n                \"contactTabBorder\": {\n                    \"border\": \"1px solid etc...\",\n                    \"border-radius\": \"\"\n                },\n                \"widgetBackground\" {\n                    \"background\": \"url(img.png) #fff repeat-y\"        \n                },\n                \"baseFont\": {\n                    \"font-family\": \"\",\n                    \"font-style\": \"\",\n                    \"font-size\": \"\",\n                    \"font-weight\": \"\",\n                    \"color\": \"\"\n                },    \n                \"dialogShadow\": {\n                    \"box-shadow\":\"\"\n                }    \n            }\n        } \n     }\n  ]\n}\n"
      security:
      - bearerAuth: []
  /clientweb/api/v2/availability:
    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.
    get:
      operationId: checkAvailability
      summary: Check Availability
      description: 'This method returns the availability status of the configured hours of operation of the associated Messaging/Chat scenario entry. Optionally, Estimated Wait time (EWT) (in seconds) may be returned but could be missing if the server does not have enough data to estimate the EWT value. Note that the API does not check if there are any agents actually logged in.


        Status Meanings


        Status Name

        Description


        available

        The requested service is available.


        notAvailable

        The office providing the requested service is currently closed.


        Returns


        Code

        Description


        200

        Success: Returns the scenario entry’s current status / EWT (optionally)


        Errors


        Code

        Description


        403

        Forbidden


        503

        Service Unavailable'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Check Availability Example
          content:
            application/json:
              example:
                chat: available
                ewt: '3'
      security:
      - bearerAuth: []
  /clientweb/api/v2/parameters:
    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.
    get:
      operationId: expectedParameters
      summary: Expected Parameters
      description: 'This method returns an array of expected parameters. The parameters are optional. They may be used, for example, to look for the most qualified agents to handle the requested chat sessions and/or to display user information for the agents. These parameters are initially specified for the Messaging/Chat scenario entry through which this mobile application will communicate with the contact center.


        Currently, the following parameter types are supported:


        PHONE


        TEXT


        EMAIL


        FIRST_NAME


        LAST_NAME


        ACCOUNT


        COMPANY


        Returns


        Code

        Description


        200

        application/json with names and types of parameters that may be expected from the client application


        Errors


        Code

        Description


        403

        Forbidden'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Expected Parameters Example
          content:
            application/json:
              example:
                parameters:
                - <name>: <type>
                - '...'
      security:
      - bearerAuth: []
  /clientweb/api/v2/chats:
    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.
    post:
      operationId: requestChat
      summary: Request Chat
      description: 'This method initiates a chat session. It provides values of all or some of the expected parameters, and it may also contain the phone number of the mobile device. Depending on the scenario entry configuration, a callback can be initiated automatically to the specified number as soon as the chat request is delivered to the agent.


        Notes:


        The Request Chat method may return the ID and parameters of an existing chat session if there are any currently existing chat sessions associated with this specific client. For example, the client app created a chat session, which was then closed or crashed, then restarted before the session timed out on the server.


        The is_new_chat response attribute is specified if the chat is a new session or existing session. The client application will handle these differently (e.g., if in an existing session the app may request session history and show the previous content.


        If the associated mobile/web scenario entry is not configured for automatic callback, the agent can still use this number to call the mobile user manually, either upon the agent''s own initiative or when asked to do this via a chat message from the mobile user.


        The parameter from may be used to specify either the device owner’s name or phone number. It will be placed in the scenario variable $(item.from).


        Parameters returned in the parameters attribute are propagated into the scenario variable $(item.externalChatData).


        Optionally, Estimated Wait time (EWT) (in seconds) may be returned but could be missing if the server does not have enough data to estimate the EWT value. This might be important for the clients with strict JSON serialization (i.e., the client app may fail deserializing the JSON if the attribute is missing).


        Returns


        Code

        Description


        200

        Chat session properties (content type: application/json)


        Errors


        Code

        Description


        403

        Forbidden


        503

        Service Unavailable'
      tags:
      - Methods
      parameters:
      - name: tenantUrl
        in: query
        required: false
        schema:
          type: string
      - name: Content
        in: header
        required: false
        schema:
          type: string
      - name: User-Agent
        in: header
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
            example: "{\n    \"phone_number\":\"<phone number for callback, if necessary>\",\n    \"from\":\"<propagated into scenario variable $(item.from)>\",\n    \"parameters\":{\n        \"parameter_1\":\"value_1\",\n        \"...\",\n        \"parameter_n\":\"value_n\"\n    }\n}"
      responses:
        '200':
          description: Request Chat Example
          content:
            application/json:
              example:
                state: ivr
                ewt: '0'
                chat_id: d6c1adc2-385b-42e5-9e0a-1883c2bc5f81
                is_new_chat: true
                phone_number: '16508888888'
      security:
      - bearerAuth: []
  /clientweb/api/v2/chats/{chatId}/notifications:
    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.
    post:
      operationId: mobileNotificationSubscription
      summary: Mobile Notification Subscription
      description: 'This method is a client application request for either subscribing to or canceling mobile notifications for a chat session.


        Notes


        This method should be invoked after invoking the Request Chat method (i.e., the chatId value required for this method is returned in the Request Chat method).


        Additionally, this method should be invoked when its device token is changed.


        The client application may also opt to stop receiving mobile notifications by using this API method

        with an empty JSON body: {}


        Request Parameters


        The mobile application will specify one of the following parameters, depending on the application’s

        operating system and used notification framework.


        Parameter Name

        Description


        ios_apns_device_token

        The iOS application using native APNs


        ios_app_bundle_id

        For iOS devices using native APNs, this parameter is required and is used as the APNs topic


        ios_firebase_devi

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bright-pattern/refs/heads/main/openapi/bright-pattern-methods-api-openapi.yml