openapi: 3.2.0 info: version: '1.0' title: B2B Reference Tables API description: 'The B2B API provides access to endpoints for searching, retrieving, and matching company and contact data. It includes support for: - **Company records:** Firmographic details, news, technologies, and more. - **Contact records:** Current role, employment history, and professional details. - **Demandbase Person profiles:** Persistent identities tied to individuals across multiple roles or companies. - **Subscriptions:** Monitoring updates to companies and DB Person records. ## Authentication All requests to the B2B API must be authenticated using a valid API token. If authentication fails, the API will respond with a `401 Unauthorized` status code. ### Obtaining an API Token For instructions on generating API tokens, see the [Generate and Manage API Key Set](https://support.demandbase.com/hc/en-us/articles/38999526296603-Generate-and-Manage-API-Key-Set) article at the Demandbase Help Center. ### Authorization Header Include your API token in the `Authorization` header of each request using the Bearer token scheme. Also set the `Content-Type` header to `application/json` when sending JSON payloads. #### Example ``` Authorization: Bearer YOUR_API_KEY_HERE Content-Type: application/json ``` > **Note:** Tokens should be treated as sensitive credentials. Do not expose them in public code repositories or client-side applications.' contact: name: Support url: https://www.demandbase.com/ email: support@demandbase.com servers: - url: https://uapi.demandbase.com/data/b2b/v1 description: Server URL in Production environment security: - bearerAuth: [] tags: - name: Reference Tables description: Reference schemas and allowed values used by the B2B API. paths: /reference/{object}: get: tags: - Reference Tables summary: Get reference data for an object description: 'Returns tenant-specific reference values for the requested object. This B2B API route is backed by the Data Export API reference service and accepts B2B API credentials. Object names are case-insensitive.' operationId: getReferenceData parameters: - name: object in: path description: Reference object to retrieve. required: true schema: type: string enum: - IdealBuyingGroup - IdealBuyingGroupPersonaRole - BuyerRole - Persona - KeywordSet - KeywordSetMember - JobLevel - JobFunction - TopLevelIndustry - SubIndustry example: JobLevel responses: '200': description: Reference data fetched successfully. content: application/json: schema: $ref: '#/components/schemas/ReferenceDataResponseDTO' examples: Job Levels Response: description: Job-level reference values. value: objectType: JobLevel data: - id: 1 name: C Level '400': description: The requested reference object is invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Invalid Object Response: description: Invalid reference object. value: errorCode: 400-154 errorMessage: Path parameter 'refObj' must be one of 'IdealBuyingGroup', 'IdealBuyingGroupPersonaRole', 'BuyerRole', 'Persona', 'KeywordSet', 'KeywordSetMember', 'JobLevel', 'JobFunction', 'TopLevelIndustry' or 'SubIndustry' diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4 '401': description: Unauthorized because the user is not authenticated. content: application/json: schema: $ref: '#/components/schemas/UnauthorizedResponse' examples: Unauthorized Response: description: Authentication failed. value: status: Authentication Failed - Unauthorized. '403': description: The API key does not have permission to access this resource. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: Forbidden Response: description: The API key does not include B2B API access. value: errorCode: 403-102 errorMessage: API Key does not have privilege to access the requested resource diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4 security: - bearerAuth: [] servers: - url: https://uapi.demandbase.com/data/b2b/v1 description: Server URL in Production environment components: schemas: ErrorResponse: type: object properties: errorCode: type: string errorMessage: type: string diagnosticCode: type: string xml: name: error UnauthorizedResponse: type: object properties: status: type: string example: Authentication Failed - Unauthorized. ReferenceDataResponseDTO: type: object required: - objectType - data properties: objectType: type: string description: Canonical name of the requested reference object. data: type: array description: Tenant-specific reference records. Record fields depend on the requested object. items: type: object additionalProperties: true securitySchemes: bearerAuth: type: http description: '[How To Generate Bearer Tokens](https://developer.demandbase.com/reference/generate_access_token)' scheme: bearer