Bombora Signal Definition API

The SignalDefinition API from Bombora — 5 operation(s) for signaldefinition.

Operations 9

GET /signal-definition/{signalDefinitionId} Retrieve Signal Definition
PUT /signal-definition/{signalDefinitionId} Replace Signal Definition
DELETE /signal-definition/{signalDefinitionId} Delete Signal Definition
POST /signal-definition Create a Signal Definition
GET /signal-definitions Get List of Signal Definitions
GET /signal-definition/{signalDefinitionId}/metadata Gets the metadata of a signal definition.
PUT /signal-definition/{signalDefinitionId}/metadata Updates the metadata of a signal definition.
GET /signal-definition/{signalDefinitionId}/product-definition Retrieves product definition for a signal
PUT /signal-definition/{signalDefinitionId}/product-definition Updates the product definition for a signal

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/bombora-signaldefinition-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

bombora-signaldefinition-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Intent Signal Definition API
  description: 'The Intent API allows signals to be seamlessly defined and managed, while also providing efficient access to actionable intent data.


    ### **Security**

    All API endpoints are secured with OAuth 2.0 bearer token authentication. Developers must include a valid Bearer token in the Authorization request header to access endpoints.

    Go to the [Get Started](/get-started) page for additional details.


    ### **Error Handling**

    The API returns appropriate HTTP status codes and error messages in case of unauthorized access (401 Unauthorized) or forbidden actions (403 Forbidden), ensuring secure and reliable interaction.


    ### **Reference Data**

    The API may utilize reference attribute data within a request or response body. See [Reference API](/docs/reference-api/1/overview) for a complete list of supported reference attributes.

    '
  version: '1.0'
servers:
- url: https://api.bombora.com/intent/v1
security:
- bearerAuth: []
tags:
- name: SignalDefinition
paths:
  /signal-definition/{signalDefinitionId}:
    get:
      tags:
      - SignalDefinition
      summary: Retrieve Signal Definition
      description: Retrieves the specified Signal Definition.
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      responses:
        '200':
          description: Success - The response body includes the requested Signal Definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignalDefinition'
              examples:
                Successful Response:
                  value:
                    metadata:
                      name: Signal Definition for Product X
                      description: Definition created by Joe for the Product X sales team.
                      clientId: 9844a971-1cdc-4f2d-a145-87491392649f
                    topics:
                    - id: 12345
                      name: Wireless Communication
                      weighting: 0.9
                    - id: 23456
                      name: Electric Vehicles (EV)
                      weighting: 0.9
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
      security:
      - bearerAuth: []
    put:
      tags:
      - SignalDefinition
      summary: Replace Signal Definition
      description: Replaces the signal definition.
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                topics:
                  description: A collection of [topics](/docs/reference-api/1/routes/topics/get) that info rm the signal
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        format: int32
                        description: Topic identifier
                      weighting:
                        type: number
                        format: float
                        description: Weighting of the topic in the signal
                metadata:
                  $ref: '#/components/schemas/Metadata'
            example:
              metadata:
                name: Signal For Product X
                description: Signal created by Joe for the Product X sales team
                clientId: 9844a971-1cdc-4f2d-a145-87491392649f
              topics:
              - id: 12345
                weighting: 0.9
              - id: 23456
                weighting: 0.9
      responses:
        '200':
          description: Success - The response body includes the requested Signal Definition.
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
      security:
      - bearerAuth: []
    delete:
      tags:
      - SignalDefinition
      summary: Delete Signal Definition
      description: Deletes the Signal Definition.
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      responses:
        '200':
          description: Success - The signal Definition has been deleted successfully.
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          $ref: '#/components/responses/ConflictError'
      security:
      - bearerAuth: []
  /signal-definition:
    post:
      tags:
      - SignalDefinition
      summary: Create a Signal Definition
      description: A new Signal Definition can be created given one or more data points in the request body.
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProductDefinition'
              - $ref: '#/components/schemas/Metadata'
            example:
              metadata:
                name: Signal definition for X product
                description: Definition created by Joe for the sales team.
                clientId: 9844a971-1cdc-4f2d-a145-87491392649f
              domain: example.com
              keywords:
              - manufacturing
              - Communications
              urls:
              - https://www.example.com/productUrl
              - https://www.example.com/resources/productTraining.html
      responses:
        '202':
          description: Success - The request has been accepted for processing.
          content:
            application/json:
              schema:
                type: object
                properties:
                  signalDefinitionId:
                    description: Unique identifier for the new Signal Definition
                    type: string
                    format: UUID
              example:
                signalDefinitionId: 7030eb5a-311a-4608-b901-8e5d61aad86b
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
      security:
      - bearerAuth: []
  /signal-definitions:
    get:
      tags:
      - SignalDefinition
      summary: Get List of Signal Definitions
      description: Returns a list of all the signal definitions.
      responses:
        '200':
          description: Success - The response body includes the requested resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  signalDefinitions:
                    type: array
                    items:
                      type: object
                      description: A collection of signal definitions.
                      properties:
                        signalDefinitionId:
                          description: Unique identifier of a Signal Definition
                          type: string
                          format: UUID
                        status:
                          description: Processing state
                          type: string
                          enum:
                          - Available
                          - Processing
                        topicCount:
                          description: Number of topics in the Signal Definition
                          type: integer
                        createdDate:
                          description: ISO-8601 (YYYY-MM-DDTHH:MM:SS.TTT-ZZZZ) representation of the time the signal-definition was created
                          type: string
                        modifiedDate:
                          description: ISO-8601 (YYYY-MM-DDTHH:MM:SS.TTT-ZZZZ) representation of the time the signal-definition was last modified
                          type: string
                        metadata:
                          $ref: '#/components/schemas/Metadata'
              example:
                signalDefinitions:
                - signalDefinitionId: 7030eb5a-311a-4608-b901-8e5d61aad86b
                  status: Processing
                  topicCount: 0
                  createdDate: '2023-06-28T00:00:00+00:00'
                  modifiedDate: '2023-06-28T00:00:00+00:00'
                  metadata:
                    name: Signal for Product X
                    description: Created to identify interest in Product X.
                    clientId: 9844a971-1cdc-4f2d-a145-87491392649f
                - signalDefinitionId: e2350c4f-3f29-4779-8d6a-d1fc8bfbc95c
                  status: Available
                  topicCount: 5
                  createdDate: '2023-06-28T00:00:00+00:00'
                  modifiedDate: '2023-06-28T00:00:00+00:00'
                  metadata:
                    name: Signal for Product Y
                    description: Created to identify interest in Product Y.
                    clientId: 9844a971-1cdc-4f2d-a145-87491392649f
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - bearerAuth: []
  /signal-definition/{signalDefinitionId}/metadata:
    get:
      tags:
      - SignalDefinition
      summary: Gets the metadata of a signal definition.
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metadata'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      security:
      - bearerAuth: []
    put:
      tags:
      - SignalDefinition
      summary: Updates the metadata of a signal definition.
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Metadata'
            example:
              name: Signal definition for X product
              description: Definition created by Joe for the sales team.
              clientId: 9844a971-1cdc-4f2d-a145-87491392649f
      responses:
        '200':
          description: The signal definition metadata was updated successfully
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
  /signal-definition/{signalDefinitionId}/product-definition:
    get:
      tags:
      - SignalDefinition
      summary: Retrieves product definition for a signal
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductDefinition'
              example:
                domain: example.com
                keywords:
                - manufacturing
                - Communications
                urls:
                - https://www.example.com/productUrl
                - https://www.example.com/resources/productTraining.html
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
      security:
      - bearerAuth: []
    put:
      tags:
      - SignalDefinition
      summary: Updates the product definition for a signal
      description: "Replaces the product definition inputs for a signal definition.  \nOnce updated, the signal definition will enter the “Processing” state. \n\n* **Updates to product definition inputs will cause a signal definition’s “topics” collection to be \noverwritten before returning to the “Available” state.**\n"
      parameters:
      - $ref: '#/components/parameters/signalDefinitionId'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductDefinition'
            example:
              domain: example.com
              keywords:
              - manufacturing
              - Communications
              urls:
              - https://www.example.com/productUrl
              - https://www.example.com/resources/productTraining.html
      responses:
        '200':
          description: Request was successful
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          $ref: '#/components/responses/ConflictError'
      security:
      - bearerAuth: []
components:
  schemas:
    SignalDefinition:
      type: object
      properties:
        topics:
          description: A collection of [topics](/docs/reference-api/1/routes/topics/get) that inform the signal
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                format: int32
                description: Topic identifier
              name:
                type:
                - string
                - 'null'
                description: Topic name
              weighting:
                type: number
                format: float
                description: Weighting of the topic in the signal
        metadata:
          $ref: '#/components/schemas/Metadata'
      example:
        metadata:
          name: Signal For Product X
          description: Signal created by Joe for the Product X sales team
          clientId: 9844a971-1cdc-4f2d-a145-87491392649f
        topics:
        - id: 12345
          name: Wireless Communication
          weighting: 0.9
        - id: 23456
          name: Electric Vehicles (EV)
          weighting: 0.9
    ProductDefinition:
      description: 'The product definition can contain any of the following information to enable an AI-created Signal Definition.

        '
      properties:
        keywords:
          type:
          - array
          - 'null'
          items:
            type: string
          description: A collection of relevant keywords
          example:
            keywords:
            - manufacturing
            - Communications
        urls:
          type:
          - array
          - 'null'
          items:
            type: string
            format: uri
          description: A collection of URLs relating to the company, product, or service
          example:
            urls:
            - https://www.example.com/productUrl
            - https://www.example.com/resources/productTraining.html
        domain:
          type:
          - string
          - 'null'
          description: The primary domain of the company
          example:
            domain: example.com
      example:
        domain: example.com
        keywords:
        - manufacturing
        - Communications
        urls:
        - https://www.example.com/productUrl
        - https://www.example.com/resources/productTraining.html
    ErrorMessageResponse:
      type: object
      properties:
        message:
          type:
          - string
          - 'null'
    Metadata:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
          description: A name for this signal definition.
          maximum: 255
          example: Signal definition for X product
        description:
          type:
          - string
          - 'null'
          maximum: 2048
          description: A description for this signal definition.
          example: Definition created by Joe for the sales team.
        clientId:
          type:
          - string
          - 'null'
          maximum: 255
          description: Third-party client identifier. Required for channel partners.
      description: Metadata associated with this signal definition
      example:
        name: Signal definition for X product
        description: Definition created by Joe for the sales team.
        clientId: 9844a971-1cdc-4f2d-a145-87491392649f
  responses:
    UnauthorizedError:
      description: The access token is missing or invalid.
    BadRequestError:
      description: The request is syntactically invalid.
    UnprocessableEntityError:
      description: The request body is syntactically correct but semantically incorrect, such as validation errors.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessageResponse'
    ConflictError:
      description: Resource could not be retrieved due to a conflict with the current state of the resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessageResponse'
    ForbiddenError:
      description: The access token does not have permission to access this API.
  parameters:
    signalDefinitionId:
      name: signalDefinitionId
      description: Unique identifier of a Signal Definition
      in: path
      required: true
      schema:
        type: string
        format: uuid
      example: 517134f7-4451-4941-9491-8c5c7750d49a
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT