openapi: 3.0.1
info:
version: '1.0'
title: B2B 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
paths:
/contacts:
post:
tags:
- Sync API
summary: Search contacts
description: "Use this endpoint to search for individuals at specific companies. \n\nYou can filter contacts by details\
\ such as first name, last name, email, location, job title, job level, and job function. Company-level filters include\
\ company name, website, location, industry, size, and more. Additional parameters allow you to filter by quality\
\ score, email validation status, and phone requirements.\n\nSorting and pagination are supported. You can sort results\
\ by fields such as `companyName`, and control the number of results returned using `page` and `perPage`.\n\nYou must\
\ include at least one parameter (excluding sorting and pagination) to perform a search."
operationId: contactSearch_1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactSearchRequestDTO'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ContactSearchRequestDTO'
responses:
'200':
description: Successful operation or No contacts found for query.
content:
application/json:
schema:
$ref: '#/components/schemas/ContactSearchResponseDTO'
examples:
SuccessResponse:
description: SuccessResponse
value:
contactResults:
- dbPersonDetails:
dbPersonId: 15568398
firstName: Jamie
lastName: Taylor
country: United States
city: Seattle
employmentDetails:
contactId: 17864319
companyId: 731691
companyName: Example Corp
titles:
- Senior Security Officer
jobLevels:
- id: '3'
name: Vice President
jobFunctions:
- id: '9'
name: Information Technology
active: true
hasPhone: true
hasEmail: true
contactQualityScore: A
- dbPersonDetails:
dbPersonId: 124458755
firstName: Morgan
lastName: Lee
country: Canada
city: Toronto
employmentDetails:
contactId: 171412410
companyId: 990700
companyName: Sample Industries
titles:
- Senior Director, Technology
jobLevels:
- id: '2'
name: Senior Executive
- id: '4'
name: Director
jobFunctions:
- id: '9'
name: Information Technology
active: true
hasPhone: false
hasEmail: true
contactQualityScore: C
totalCount: 233
pageNo: 1
pageSize: 10
EmptyCompaniesResponse:
description: EmptyCompaniesResponse
value:
contactResults: []
totalCount: 0
pageNo: 1
pageSize: 10
application/xml:
schema:
$ref: '#/components/schemas/ContactSearchResponseDTO'
examples:
SuccessResponseXml:
description: SuccessResponseXml
value:
contactResults:
- dbPersonDetails:
dbPersonId: 15568398
firstName: Jamie
lastName: Taylor
country: United States
city: Seattle
employmentDetails:
contactId: 17864319
companyId: 731691
companyName: Example Corp
titles:
- Senior Security Officer
jobLevels:
- id: '3'
name: Vice President
jobFunctions:
- id: '9'
name: Information Technology
active: true
hasPhone: true
hasEmail: true
contactQualityScore: A
totalCount: 233
pageNo: 1
pageSize: 10
EmptyCompaniesResponseXml:
description: EmptyCompaniesResponseXml
value:
contactResults: []
totalCount: 0
pageNo: 1
pageSize: 10
'400':
description: Bad Request because required query params are missing, perPage must be greater than 0 and less than
equal to 50, or page number must be greater than or equal to 1.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponse:
description: BadRequestResponse
value:
errorCode: 400-107
errorMessage: At least one parameter must be provided.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortByParam:
description: InvalidSortByParam
value:
errorCode: 400-108
errorMessage: Sorting is allowed only on active, title and companyName.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortOrder:
description: InvalidSortOrder
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidCompanyCountryId:
description: InvalidCompanyCountryId
value:
errorCode: 400-111
errorMessage: Invalid companyCountry. Please enter valid country ID in companyCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidContactCountryId:
description: InvalidContactCountryId
value:
errorCode: 400-110
errorMessage: Invalid contactCountry. Please enter valid country ID in contactCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidJobLevels:
description: InvalidJobLevels
value:
errorCode: 400-124
errorMessage: 'jobLevel must be an integer. '
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
InvalidMinContactQualityScore:
description: InvalidMinContactQualityScore
value:
errorCode: 400-123
errorMessage: 'minContactQualityScore must one of: [A+, A, B, C]'
diagnosticCode: 467e469f-2146-4af8-ac0f-5fb487fbba02
InvalidFunction:
description: InvalidFunction
value:
errorCode: 400-125
errorMessage: 'jobFunction must be an integer. '
diagnosticCode: 3640f569-4d90-40cd-b0c6-2c72f671ab72
InvalidPhoneType:
description: InvalidPhoneType
value:
errorCode: 400-137
errorMessage: 'phoneType must be one of: [DIRECT, CORP, MOBILE, ANY, DIRECTORCORP]'
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
InvalidEmployeeRange:
description: InvalidEmployeeRange
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
InvalidIndustries:
description: InvalidIndustries
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidMaxEmployees:
description: InvalidMaxEmployees
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinEmployees:
description: InvalidMinEmployees
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidEmailValidationStatus:
description: InvalidEmailValidationStatus
value:
errorCode: 400-138
errorMessage: 'emailValidationStatus must be one of: [ValidEmail, ValidDomain]'
diagnosticCode: e32c6e5e-29cb-40c0-a37a-2c8e8213a477
InvalidCompanyId:
description: InvalidCompanyId
value:
errorCode: 400-122
errorMessage: Invalid companyId in companyIdsInclude. companyId must be an integer.
diagnosticCode: ffa69cf0-b316-4a12-84d5-e4afb6bb23ee
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponseXml:
description: BadRequestResponseXml
value:
errorCode: 400-107
errorMessage: At least one parameter must be provided.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortByParam:
description: InvalidSortByParam
value:
errorCode: 400-108
errorMessage: Sorting is allowed only on active, title and companyName.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortOrder:
description: InvalidSortOrder
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidCompanyCountryId:
description: InvalidCompanyCountryId
value:
errorCode: 400-111
errorMessage: Invalid companyCountry. Please enter valid country ID in companyCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidContactCountryId:
description: InvalidContactCountryId
value:
errorCode: 400-110
errorMessage: Invalid contactCountry. Please enter valid country ID in contactCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponseXml:
description: ResultsPerPageErrorResponseXml
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponseXml:
description: PageNumberErrorResponseXml
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidJobLevels:
description: InvalidJobLevels
value:
errorCode: 400-124
errorMessage: 'jobLevel must be an integer. '
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
InvalidMinContactQualityScore:
description: InvalidMinContactQualityScore
value:
errorCode: 400-123
errorMessage: 'minContactQualityScore must one of: [A+, A, B, C]'
diagnosticCode: 467e469f-2146-4af8-ac0f-5fb487fbba02
InvalidFunction:
description: InvalidFunction
value:
errorCode: 400-125
errorMessage: 'jobFunction must be an integer. '
diagnosticCode: 3640f569-4d90-40cd-b0c6-2c72f671ab72
InvalidPhoneType:
description: InvalidPhoneType
value:
errorCode: 400-137
errorMessage: 'phoneType must be one of: [DIRECT, CORP, MOBILE, ANY, DIRECTORCORP]'
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
InvalidEmployeeRange:
description: InvalidEmployeeRange
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
InvalidIndustries:
description: InvalidIndustries
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidMaxEmployees:
description: InvalidMaxEmployees
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinEmployees:
description: InvalidMinEmployees
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidEmailValidationStatus:
description: InvalidEmailValidationStatus
value:
errorCode: 400-138
errorMessage: 'emailValidationStatus must be one of: [ValidEmail, ValidDomain]'
diagnosticCode: e32c6e5e-29cb-40c0-a37a-2c8e8213a477
InvalidCompanyId:
description: InvalidCompanyId
value:
errorCode: 400-122
errorMessage: Invalid companyId in companyIdsInclude. companyId must be an integer.
diagnosticCode: ffa69cf0-b316-4a12-84d5-e4afb6bb23ee
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/companies:
post:
tags:
- Sync API
summary: Search companies
description: "Use this endpoint to search for companies based on a variety of attributes.\n\nYou can search companies\
\ by name, website, ticker, location (city, state, country, ZIP), industry classification (NAICS, SIC), or attributes\
\ like fiscal year end, business structure, and fortune ranking. \n\nAdditional filters let you set employee or revenue\
\ ranges, include only primary industry or SIC classifications, and apply diversity criteria (e.g., minority-owned\
\ or women-owned businesses). \n\nSorting and pagination are supported. You can sort results by fields such as `companyRevenue`\
\ and more, and control the number of results returned using `page` and `perPage`."
operationId: companySearch_1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompanySearchRequestDTO'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CompanySearchRequestDTO'
responses:
'200':
description: Successful operation or No companies found for query.
content:
application/json:
schema:
$ref: '#/components/schemas/CompanySearchResponseDTO'
examples:
SuccessResponse:
description: SuccessResponse
value:
companies:
- name: Northgate Logistics LLC
city: New Plymouth
state: ID
country: US
companyId: 406321
- name: Blue Ridge Transport Inc.
city: Walcott
state: IA
country: US
companyId: 1013683
- name: Horizon Freight Services
city: North Baltimore
state: OH
country: US
companyId: 8664201
- name: Summit Distribution Co.
city: Johnstown
state: CO
country: US
companyId: 9557195
- name: Granite Commerce Group
city: New Plymouth
state: ID
country: US
companyId: 284576424
- name: Lakeside Operations LLC
city: Oak Grove
state: MO
country: US
companyId: 8679793
- name: Pioneer Mobility Partners
city: Mineral Wells
state: WV
country: US
companyId: 6242601
- name: Meridian Media Group
city: New York
state: NY
country: US
companyId: 8108950
- name: Redwood Industrial Supply
city: Pine Bluffs
state: WY
country: US
companyId: 5914035
- name: Willow Creek Services
city: Calhoun City
state: MS
country: US
companyId: 6632012
totalCount: 165
pageNo: 1
pageSize: 10
EmptyCompaniesResponse:
description: EmptyCompaniesResponse
value:
companies: []
totalCount: 0
pageNo: 1
pageSize: 10
application/xml:
schema:
$ref: '#/components/schemas/CompanySearchResponseDTO'
examples:
SuccessResponseXml:
description: SuccessResponseXml
value:
companies:
- name: Northgate Logistics LLC
city: New Plymouth
state: ID
country: US
companyId: 406321
- name: Blue Ridge Transport Inc.
city: Walcott
state: IA
country: US
companyId: 1013683
totalCount: 165
pageNo: 1
pageSize: 10
EmptyCompaniesResponseXml:
description: EmptyCompaniesResponseXml
value:
companies: []
totalCount: 0
pageNo: 1
pageSize: 10
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponse:
description: BadRequestResponse
value:
errorCode: 400-102
errorMessage: At least one parameter must be provided for company search.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortByParam:
description: InvalidSortByParam
value:
errorCode: 400-135
errorMessage: Sorting is allowed only on employeeCount, businessType, companyRevenue and location
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortOrder:
description: InvalidSortOrder
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidCompanyCountryId:
description: InvalidCompanyCountryId
value:
errorCode: 400-214
errorMessage: Invalid country. Please enter valid country ID in country.
diagnosticCode: 2ec12de8-1000-4620-8757-6091a1cffab7
InvalidNewsCategories:
description: InvalidNewsCategories
value:
errorCode: 400-112
errorMessage: 'Invalid newsCategories. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidNewsDuration:
description: InvalidNewsDuration
value:
errorCode: 400-113
errorMessage: Invalid newsDuration. Valid values are between 1 and 30
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidIndustry:
description: InvalidIndustry
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidMaxEmployees:
description: InvalidMaxEmployees
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinEmployees:
description: InvalidMinEmployees
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMaxRevenue:
description: InvalidMaxRevenue
value:
errorCode: 400-119
errorMessage: maxRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinRevenue:
description: InvalidMinRevenue
value:
errorCode: 400-118
errorMessage: minRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidBusinessStructure:
description: InvalidBusinessStructure
value:
errorCode: 400-128
errorMessage: 'Invalid businessStructure. Valid values are: uncategorized, globalParent, subsidiary, group,
branch, independent'
diagnosticCode: cebdea29-25ac-40e5-af41-0626e34e6f46
InvalidBusinessType:
description: InvalidBusinessType
value:
errorCode: 400-129
errorMessage: 'Invalid businessType. Valid values are: public, private, school, government, organization'
diagnosticCode: 2b7cd799-e532-46a4-bc4e-e967b0a40f4b
InvalidCompanyStatus:
description: InvalidCompanyStatus
value:
errorCode: 400-130
errorMessage: 'Invalid companyStatus. Valid values are: unassigned, operating, non-operating, acquired,
liquidating, outOfBusiness'
diagnosticCode: bb841d37-ed8f-4a82-a5c5-fd11ea6d8e3d
InvalidFiscalYearEnd:
description: InvalidFiscalYearEnd
value:
errorCode: 400-131
errorMessage: Invalid fiscalYearEnd. fiscalYearEnd should be a valid month name.
diagnosticCode: 67521433-a92b-49ee-9d21-21d4007f8486
InvalidFortuneRanking:
description: InvalidFortuneRanking
value:
errorCode: 400-132
errorMessage: 'Invalid fortuneRanking. Valid values are: fortune500, fortune1000'
diagnosticCode: 1921c127-a8e6-4685-aaa0-1f6bce967a18
InvalidEmployeeRange:
description: InvalidEmployeeRange
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
InvalidRevenueRange:
description: InvalidRevenueRange
value:
errorCode: 400-127
errorMessage: minRevenue must be less than or equal to minRevenue.
diagnosticCode: cbc2bbd0-a801-41c1-a546-be6ea0e75797
InvalidRegions:
description: InvalidRegions
value:
errorCode: 400-133
errorMessage: 'Invalid region. Valid values are: Africa, Asia, Europe, MiddleEast, NorthAmerica, Oceania,
SouthAmerica'
diagnosticCode: 88d76e2d-6f09-4018-97fe-b41c64f5ac67
InvalidCompanyType:
description: InvalidCompanyType
value:
errorCode: 400-134
errorMessage: 'Invalid companyType. Valid values are: unknown, public, private, government, organization'
diagnosticCode: ed1cfeb5-a7bf-4621-a4f3-51b1e8f106ae
InvalidGender:
description: InvalidGender
value:
errorCode: 400-117
errorMessage: Invalid gender. Valid values are male and female
diagnosticCode: fa7db512-d0ef-4c9d-aa8b-6e6bc21a61bc
InvalidEthnicity:
description: InvalidEthnicity
value:
errorCode: 400-136
errorMessage: Invalid Ethnicity Ids. Ethnicity Ids should be between 1 and 7
diagnosticCode: 126df328-b3d1-4d62-9464-e435aa706805
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponseXml:
description: BadRequestResponseXml
value:
errorCode: 400-102
errorMessage: At least one parameter must be provided for company search.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponseXml:
description: ResultsPerPageErrorResponseXml
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponseXml:
description: PageNumberErrorResponseXml
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortByParam:
description: InvalidSortByParam
value:
errorCode: 400-135
errorMessage: Sorting is allowed only on employeeCount, businessType, companyRevenue and location
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidSortOrder:
description: InvalidSortOrder
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidCompanyCountryId:
description: InvalidCompanyCountryId
value:
errorCode: 400-214
errorMessage: Invalid country. Please enter valid country ID in country.
diagnosticCode: 2ec12de8-1000-4620-8757-6091a1cffab7
InvalidNewsCategories:
description: InvalidNewsCategories
value:
errorCode: 400-112
errorMessage: 'Invalid newsCategories. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidNewsDuration:
description: InvalidNewsDuration
value:
errorCode: 400-113
errorMessage: Invalid newsDuration. Valid values are between 1 and 30
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidIndustry:
description: InvalidIndustry
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidMaxEmployees:
description: InvalidMaxEmployees
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinEmployees:
description: InvalidMinEmployees
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMaxRevenue:
description: InvalidMaxRevenue
value:
errorCode: 400-119
errorMessage: maxRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidMinRevenue:
description: InvalidMinRevenue
value:
errorCode: 400-118
errorMessage: minRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
InvalidBusinessStructure:
description: InvalidBusinessStructure
value:
errorCode: 400-128
errorMessage: 'Invalid businessStructure. Valid values are: uncategorized, globalParent, subsidiary, group,
branch, independent'
diagnosticCode: cebdea29-25ac-40e5-af41-0626e34e6f46
InvalidBusinessType:
description: InvalidBusinessType
value:
errorCode: 400-129
errorMessage: 'Invalid businessType. Valid values are: public, private, school, government, organization'
diagnosticCode: 2b7cd799-e532-46a4-bc4e-e967b0a40f4b
InvalidCompanyStatus:
description: InvalidCompanyStatus
value:
errorCode: 400-130
errorMessage: 'Invalid companyStatus. Valid values are: unassigned, operating, non-operating, acquired,
liquidating, outOfBusiness'
diagnosticCode: bb841d37-ed8f-4a82-a5c5-fd11ea6d8e3d
InvalidFiscalYearEnd:
description: InvalidFiscalYearEnd
value:
errorCode: 400-131
errorMessage: Invalid fiscalYearEnd. fiscalYearEnd should be a valid month name.
diagnosticCode: 67521433-a92b-49ee-9d21-21d4007f8486
InvalidFortuneRanking:
description: InvalidFortuneRanking
value:
errorCode: 400-132
errorMessage: 'Invalid fortuneRanking. Valid values are: fortune500, fortune1000'
diagnosticCode: 1921c127-a8e6-4685-aaa0-1f6bce967a18
InvalidEmployeeRange:
description: InvalidEmployeeRange
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
InvalidRevenueRange:
description: InvalidRevenueRange
value:
errorCode: 400-127
errorMessage: minRevenue must be less than or equal to minRevenue.
diagnosticCode: cbc2bbd0-a801-41c1-a546-be6ea0e75797
InvalidRegions:
description: InvalidRegions
value:
errorCode: 400-133
errorMessage: 'Invalid region. Valid values are: Africa, Asia, Europe, MiddleEast, NorthAmerica, Oceania,
SouthAmerica'
diagnosticCode: 88d76e2d-6f09-4018-97fe-b41c64f5ac67
InvalidCompanyType:
description: InvalidCompanyType
value:
errorCode: 400-134
errorMessage: 'Invalid companyType. Valid values are: unknown, public, private, government, organization'
diagnosticCode: ed1cfeb5-a7bf-4621-a4f3-51b1e8f106ae
InvalidGender:
description: InvalidGender
value:
errorCode: 400-117
errorMessage: Invalid gender. Valid values are male and female
diagnosticCode: fa7db512-d0ef-4c9d-aa8b-6e6bc21a61bc
InvalidEthnicity:
description: InvalidEthnicity
value:
errorCode: 400-136
errorMessage: Invalid Ethnicity Ids. Ethnicity Ids should be between 1 and 7
diagnosticCode: 126df328-b3d1-4d62-9464-e435aa706805
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/contact/{contactId}:
get:
tags:
- Sync API
summary: Fetch contact details
description: 'Use this endpoint to fetch detailed employment and personal information for a specific contact.
Retrieve data such as job titles, phone numbers, job levels, salary ranges, social profiles, and education history.
You can control the response using query parameters to include specific fields or additional related data.'
operationId: contactFetch
parameters:
- name: include
in: query
description: Additional data to include in the response, e.g., other employment
required: false
schema:
type: string
enum:
- other_employments
example: other_employments
- name: contactId
in: path
description: Contact ID
required: true
schema:
type: string
example: '725771'
- name: contactFields
in: query
description: Comma-separated contact fields to return.
required: false
schema:
type: string
- name: peopleFields
in: query
description: Comma-separated person fields to return.
required: false
schema:
type: string
responses:
'200':
description: Contact details fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ContactFetchResponseDTO'
examples:
Success Response:
description: Success Response
value:
dbPersonDetails:
firstName: Darren
lastName: Jackson
age: 68
educationList:
- degree: Masters of Business Administration
university: Wharton School of Business at the University of Pennsylvania
- degree: Bachelors
university: Indian Institute of Technology
- degree: Master of Science
major: Materials Science and Engineering
university: Stanford University
socialHandles:
twitter: http://twitter.com/andyhongim
address: {}
mobileNumber: +1 425 707 0564
employmentDetails:
contactId: 215
companyId: 734887
companyName: Advance Auto Parts, Inc.
contactQualityScore: A+
description: Mr. Darren R. Jackson is Chief Executive Officer, Director of Advance Auto Parts Inc. Since
January 2008, Mr. Jackson has continuously served as our Chief Executive Officer. During that time
period, Mr. Jackson also served as President from January 2008 to January 2009 and from January 1,
2012 to April 21, 2013, when George E. Sherman became our President. Prior to becoming our Chief Executive
Officer, Mr. Jackson served in various executive positions with Best Buy Co., Inc., a specialty retailer
of consumer electronics, office products, appliances and software, ultimately serving from July 2007
to December 2007 as Executive Vice President of Customer Operating Groups. He joined Best Buy in 2000
and was appointed as its Executive Vice President-Finance and Chief Financial Officer in February
of 2001. Prior to 2000, he served as Vice President and Chief Financial Officer of Nordstrom, Inc.,
Full-line Stores, a fashion specialty retailer, and held various senior positions, including Chief
Financial Officer of Carson Pirie Scott & Company, a regional department store company. He began his
career at KPMG. Mr. Jackson has served as a director of Fastenal Company, which sells industrial and
construction supplies, since July 2012. Mr. Jackson has served as a member of our Board for over ten
years and as the Company's Chief Executive Officer for over seven years.
startDate: N/A
salary: '930'
salaryCurrency: USD
phoneNumbers:
directNumber: +1 540 362 4911
corporateNumber: +1 425 882 8080
emails:
- email: djackson@advanceautoparts.com
validationStatus: VALID
lastValidatedDate: Aug 15, 2019
jobLevels:
- id: '1'
name: C Level
- id: '3'
name: Vice President
jobFunctions:
- id: '22'
name: Others
titles:
- Chief Executive Officer and President
application/xml:
schema:
$ref: '#/components/schemas/ContactFetchResponseDTO'
examples:
Success Response:
description: Success Response
value:
dbPersonDetails:
firstName: Darren
lastName: Jackson
age: 68
educationList:
- degree: Masters of Business Administration
university: Wharton School of Business at the University of Pennsylvania
- degree: Bachelors
university: Indian Institute of Technology
- degree: Master of Science
major: Materials Science and Engineering
university: Stanford University
socialHandles:
twitter: http://twitter.com/andyhongim
address: {}
mobileNumber: +1 425 707 0564
employmentDetails:
contactId: 215
companyId: 734887
companyName: Advance Auto Parts, Inc.
contactQualityScore: A+
description: Mr. Darren R. Jackson is Chief Executive Officer, Director of Advance Auto Parts Inc. Since
January 2008, Mr. Jackson has continuously served as our Chief Executive Officer. During that time
period, Mr. Jackson also served as President from January 2008 to January 2009 and from January 1,
2012 to April 21, 2013, when George E. Sherman became our President. Prior to becoming our Chief Executive
Officer, Mr. Jackson served in various executive positions with Best Buy Co., Inc., a specialty retailer
of consumer electronics, office products, appliances and software, ultimately serving from July 2007
to December 2007 as Executive Vice President of Customer Operating Groups. He joined Best Buy in 2000
and was appointed as its Executive Vice President-Finance and Chief Financial Officer in February
of 2001. Prior to 2000, he served as Vice President and Chief Financial Officer of Nordstrom, Inc.,
Full-line Stores, a fashion specialty retailer, and held various senior positions, including Chief
Financial Officer of Carson Pirie Scott & Company, a regional department store company. He began his
career at KPMG. Mr. Jackson has served as a director of Fastenal Company, which sells industrial and
construction supplies, since July 2012. Mr. Jackson has served as a member of our Board for over ten
years and as the Company's Chief Executive Officer for over seven years.
startDate: N/A
salary: '930'
salaryCurrency: USD
phoneNumbers:
directNumber: +1 540 362 4911
corporateNumber: +1 425 882 8080
emails:
- email: djackson@advanceautoparts.com
validationStatus: VALID
lastValidatedDate: Aug 15, 2019
jobLevels:
- id: '1'
name: C Level
- id: '3'
name: Vice President
jobFunctions:
- id: '22'
name: Others
titles:
- Chief Executive Officer and President
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidContactIdResponse:
description: InvalidContactIdResponse
value:
errorCode: 400-104
errorMessage: ContactId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidFieldResponse:
description: InvalidFieldResponse
value:
errorCode: 400-106
errorMessage: Invalid field name.
diagnosticCode: ab24b1a4-1cd0-41ab-bcfa-018f13fc6707
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidContactIdResponseXml:
description: InvalidContactIdResponseXml
value:
errorCode: 400-104
errorMessage: ContactId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidFieldResponseXml:
description: InvalidFieldResponseXml
value:
errorCode: 400-106
errorMessage: Invalid field name.
diagnosticCode: ab24b1a4-1cd0-41ab-bcfa-018f13fc6707
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ContactNotFoundErrorResponse:
description: ContactNotFoundErrorResponse
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ContactNotFoundErrorResponseXml:
description: ContactNotFoundErrorResponseXml
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/company/{companyId}:
get:
tags:
- Sync API
summary: Fetch company details
description: 'Use this endpoint to fetch detailed information about a single company, including name, location, phone
number, revenue, employee count, industry classification, and social media links.
You can optionally expand the response to include related data such as the company''s family tree, competitors, installed
technologies, and logos.
Installed technologies are returned under `techUsed`, grouped by category, subcategory, and product. The response
includes taxonomy identifiers and display names; it does not include confidence, observation dates, vendor, or product
descriptions.'
operationId: companyFetch
parameters:
- name: fields
in: query
description: Comma-separated related-data expansions. Use `installedtech` to include technographics under `techUsed`.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- familytree
- competitors
- logos
- installedtech
example:
- familytree
- competitors
- name: sortBy
in: query
description: Sort order for family tree results.
required: false
schema:
type: string
enum:
- popularity
- name: companyFields
in: query
description: Comma-separated company fields to retrieve.
required: false
schema:
type: string
- name: companyId
in: path
description: Company ID
required: true
schema:
type: string
example: '725771'
responses:
'200':
description: Company details fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyFetchResponseDTO'
examples:
Company Details Response:
$ref: '#/components/examples/CompanyDetailsResponse'
Company Family Tree Response:
$ref: '#/components/examples/CompanyFamilyTreeResponse'
Company Competitors Response:
$ref: '#/components/examples/CompanyCompetitorsResponse'
Company Installed Tech Response:
$ref: '#/components/examples/CompanyInstalledTechResponse'
Company Logos Response:
$ref: '#/components/examples/CompanyLogosResponse'
application/xml:
schema:
$ref: '#/components/schemas/CompanyFetchResponseDTO'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidCompanyIdErrorResponse:
description: InvalidCompanyIdErrorResponse
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidFieldErrorResponse:
description: InvalidFieldErrorResponse
value:
errorCode: 400-106
errorMessage: Invalid field name.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidCompanyIdErrorResponseXml:
description: InvalidCompanyIdErrorResponseXml
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidFieldErrorResponseXml:
description: InvalidFieldErrorResponseXml
value:
errorCode: 400-106
errorMessage: Invalid field name.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
'404':
description: Bad request because the company does not exist.
content:
application/json:
examples:
CompanyNotFoundErrorResponse:
description: CompanyNotFoundErrorResponse
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
type: object
title: error
format: xml
examples:
CompanyNotFoundErrorResponseXml:
description: CompanyNotFoundErrorResponseXml
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/company/{companyId}/news:
get:
tags:
- Sync API
summary: Fetch company news by category
description: 'Use this endpoint to fetch recent news articles related to a specific company.
You can filter articles by one or more news categories, such as acquisitions or leadership changes.
Pagination is supported to control the number of results per request.'
operationId: companyNewsCategoryFetch
parameters:
- name: newsCategories
in: query
description: Allowed
Values
required: true
schema:
type: string
example: LEADERSHIP_CHANGES
- name: page
in: query
description: Page number
required: false
schema:
type: string
example: '1'
- name: perPage
in: query
description: Results per page
required: false
schema:
type: string
example: '10'
- name: companyId
in: path
description: Company ID
required: true
schema:
type: string
example: '725771'
responses:
'200':
description: Company news fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyNewsResponseDTO'
examples:
Success Response:
description: Success Response
value:
companyNews:
- title: 'Virtual Reality in Gaming Market: Global Size, Share, Status, Analysis & Forecast to 2030- Report
By Introspective Market Research'
url: http://ct.moreover.com/?a=51894730831&p=1l3&v=1&x=jT7RQPStyxrE2tvW4y9p6g
source: PrSync.com
pageNo: 1
pageSize: 1
totalCount: 4
companyId: '726263'
application/xml:
schema:
$ref: '#/components/schemas/CompanyNewsResponseDTO'
examples:
Success Response:
description: Success Response
value:
companyNews:
- title: 'Virtual Reality in Gaming Market: Global Size, Share, Status, Analysis & Forecast to 2030- Report
By Introspective Market Research'
url: http://ct.moreover.com/?a=51894730831&p=1l3&v=1&x=jT7RQPStyxrE2tvW4y9p6g
source: PrSync.com
pageNo: 1
pageSize: 1
totalCount: 4
companyId: '726263'
'400':
description: Bad Request because required query params are missing, perPage must be greater than 0 and less than
equal to 50, or page number must be greater than or equal to 1.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponse:
description: BadRequestResponse
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidNewsCategoryErrorResponse:
description: InvalidNewsCategoryErrorResponse
value:
errorCode: 400-112
errorMessage: 'Invalid news category. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges.'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponseXml:
description: BadRequestResponseXml
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidNewsCategoryErrorResponse:
description: InvalidNewsCategoryErrorResponse
value:
errorCode: 400-112
errorMessage: 'Invalid news category. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges.'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
CompanyNotFoundErrorResponse:
description: CompanyNotFoundErrorResponse
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
CompanyNotFoundErrorResponseXml:
description: CompanyNotFoundErrorResponseXml
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/company/{companyId}/newsFeed:
get:
tags:
- Sync API
summary: Fetch company news feed
description: 'Use this endpoint to return a paginated list of recent news articles for a specific company.
Unlike the `/news` endpoint, this feed does not require specifying news categories. It provides a general stream of
company-related articles.'
operationId: companyNewsFetch
parameters:
- name: page
in: query
description: Page number
required: false
schema:
type: string
example: '1'
- name: perPage
in: query
description: Results per page
required: false
schema:
type: string
example: '10'
- name: companyId
in: path
description: Company ID
required: true
schema:
type: string
example: '725771'
responses:
'200':
description: Company news fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyNewsResponseDTO'
examples:
Success Response:
description: Success Response
value:
companyNews:
- title: 'Virtual Reality in Gaming Market: Global Size, Share, Status, Analysis & Forecast to 2030- Report
By Introspective Market Research'
url: http://ct.moreover.com/?a=51894730831&p=1l3&v=1&x=jT7RQPStyxrE2tvW4y9p6g
source: PrSync.com
pageNo: 1
pageSize: 1
totalCount: 4
companyId: '726263'
application/xml:
schema:
$ref: '#/components/schemas/CompanyNewsResponseDTO'
examples:
Success Response:
description: Success Response
value:
companyNews:
- title: 'Virtual Reality in Gaming Market: Global Size, Share, Status, Analysis & Forecast to 2030- Report
By Introspective Market Research'
url: http://ct.moreover.com/?a=51894730831&p=1l3&v=1&x=jT7RQPStyxrE2tvW4y9p6g
source: PrSync.com
pageNo: 1
pageSize: 1
totalCount: 4
companyId: '726263'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponse:
description: BadRequestResponse
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestResponseXml:
description: BadRequestResponseXml
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
ResultsPerPageErrorResponse:
description: ResultsPerPageErrorResponse
value:
errorCode: 400-101
errorMessage: perPage must be between 1 and 50.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
PageNumberErrorResponse:
description: PageNumberErrorResponse
value:
errorCode: 400-100
errorMessage: page number must be greater than or equal to 1.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
'404':
description: Not Found
content:
application/json:
examples:
CompanyNotFoundErrorResponse:
description: CompanyNotFoundErrorResponse
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
type: object
title: error
format: xml
examples:
CompanyNotFoundErrorResponseXml:
description: CompanyNotFoundErrorResponseXml
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/company/{companyId}/logos/{logoSize}:
get:
tags:
- Sync API
summary: Fetch company logo
description: 'Use this endpoint to fetch a company''s logo in PNG format at the requested size.
Supported sizes are 100, 200, or 400 pixels.
If a logo in the specified size is not available, the API returns an error response.'
operationId: companyLogoFetch
parameters:
- name: companyId
in: path
description: Company ID
required: true
schema:
type: string
example: '725771'
- name: logoSize
in: path
description: Logo Size
required: true
schema:
type: string
example: '100'
responses:
'200':
description: A png image of the company logo is returned.
content:
image/png:
schema:
type: string
format: binary
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidCompanyIdErrorResponse:
description: InvalidCompanyIdErrorResponse
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidLogoSizeErrorResponse:
description: InvalidLogoSizeErrorResponse
value:
errorCode: 400-108
errorMessage: Invalid value for size. Should be among {100,200,400}
diagnosticCode: 0fb42a2c-65c3-4e11-93d0-ba973503bd3d
LogoNotFoundErrorResponse:
description: LogoNotFoundErrorResponse
value:
errorCode: 404-103
errorMessage: Company logo for the given company ID is not present.
diagnosticCode: ebdfc380-0241-4be4-b801-bde781cbbfe1
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidCompanyIdErrorResponseXml:
description: InvalidCompanyIdErrorResponseXml
value:
errorCode: 400-103
errorMessage: companyId must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
InvalidLogoSizeErrorResponseXml:
description: InvalidLogoSizeErrorResponseXml
value:
errorCode: 400-108
errorMessage: Invalid value for size. Should be among {100,200,400}
diagnosticCode: 0fb42a2c-65c3-4e11-93d0-ba973503bd3d
LogoNotFoundErrorResponseXml:
description: LogoNotFoundErrorResponseXml
value:
errorCode: 404-103
errorMessage: Company logo for the given company ID is not present.
diagnosticCode: ebdfc380-0241-4be4-b801-bde781cbbfe1
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/match:
post:
tags:
- Sync API
summary: Match companies and contact
description: 'This endpoint matches companies and contacts against Demandbase''s database based on provided firmographic
and contact details. This endpoint supports batch matching by accepting an array of match requests.
Each object in the requests array must include a unique id and a useful combination of attributes for matching.
At a minimum, at least one of the following company identifiers is required:
- `name`
- `websites`
- `email`
- `executiveLinkedInHandle`'
operationId: match_1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MatchRequestDTO'
responses:
'200':
description: Successful operation or No companies found for query.
content:
application/json:
schema:
$ref: '#/components/schemas/MatchResponseDTO'
examples:
SuccessResponse:
description: SuccessResponse
value:
matches:
- id: id
companyMatches:
- company:
companyId: 726263
companyName: Microsoft Corporation
address:
street: 1 Microsoft Way
city: Redmond
state: WA
country: United States
contactMatches:
- contact:
dbPersonDetails:
dbPersonId: 243908534
firstName: Satya
lastName: Nadella
employmentDetails:
contactId: 310227204
companyId: 726263
companyName: Microsoft Corporation
titles:
- Chairman and CEO
contactQualityScore: A+
EmptyCompaniesResponse:
description: EmptyCompaniesResponse
value:
matches:
- id: '2'
companyMatches: []
contactMatches: []
application/xml:
schema:
$ref: '#/components/schemas/MatchResponseDTO'
examples:
SuccessResponseXml:
description: SuccessResponseXml
value:
matches:
- id: '1'
companyMatches:
- company:
companyId: 7573216
companyName: Google LLC
address:
city: Mountain View
state: CA
country: United States
contactMatches:
- contact:
dbPersonDetails:
dbPersonId: 50823422
firstName: Stefano
lastName: Gessati
employmentDetails:
contactId: 96208084
companyId: 7573216
companyName: Google LLC
titles:
- IT Resident
- id: '2'
companyMatches:
- company:
companyId: 724468
companyName: Apple Inc.
address:
city: Cupertino
state: CA
country: United States
contactMatches:
- contact:
dbPersonDetails:
dbPersonId: 215
firstName: Tim
lastName: Cook
employmentDetails:
contactId: 317995637
companyId: 724468
companyName: Apple Inc.
titles:
- CEO
contactQualityScore: A+
EmptyCompaniesResponseXml:
description: EmptyCompaniesResponseXml
value:
matches:
- id: '2'
companyMatches: []
contactMatches: []
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidRequestsErrorResponse:
description: InvalidRequestsErrorResponse
value:
errorCode: 400-165
errorMessage: The match request should have non empty requests list.
diagnosticCode: 88c27a04-bd7c-43d6-b133-b0990572e0d2
InvalidRequestBodyErrorResponse:
description: InvalidRequestBodyErrorResponse
value:
errorCode: 400-166
errorMessage: The request cannot be null.
diagnosticCode: 58d73e23-2ade-48de-bab1-8bb91f8593eb
RequiredParamMissingErrorResponse:
description: RequiredParamMissingErrorResponse
value:
errorCode: 400-164
errorMessage: 'At least one of the following parameters: name, website, email or ticker must be provided
for a match.'
diagnosticCode: 8a780506-a4ea-47c0-9837-3ae20d5f8849
InvalidRequestIdErrorResponse:
description: InvalidRequestIdErrorResponse
value:
errorCode: 400-167
errorMessage: Each request should have a unique ID.
diagnosticCode: cca619c0-6f2c-476d-bf9e-916c7e33e90e
InvalidRequestsSizeErrorResponse:
description: InvalidRequestsSizeErrorResponse
value:
errorCode: 400-168
errorMessage: The match request size should be less than or equal to 30.
diagnosticCode: a9f35a64-5d7c-40d9-949d-6b3d440732f4
InvalidFieldNameErrorResponse:
description: InvalidFieldNameErrorResponse
value:
errorCode: 400-106
errorMessage: '{invalidFieldName} Invalid field name.'
diagnosticCode: 3295f2e8-b794-4646-a805-b573e69d43fb
InvalidMinMatchScoreErrorResponse:
description: InvalidMinMatchScoreErrorResponse
value:
errorCode: 400-170
errorMessage: The minimumMatchScore should be between 0 and 1.
diagnosticCode: b823b5fe-0862-4ea5-bb18-cee2d8a69782
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidRequestsErrorResponseXML:
description: InvalidRequestsErrorResponseXML
value:
errorCode: 400-165
errorMessage: The match request should have non empty requests list.
diagnosticCode: 88c27a04-bd7c-43d6-b133-b0990572e0d2
InvalidRequestBodyErrorResponseXML:
description: InvalidRequestBodyErrorResponseXML
value:
errorCode: 400-166
errorMessage: The request cannot be null.
diagnosticCode: 58d73e23-2ade-48de-bab1-8bb91f8593eb
RequiredParamMissingErrorResponseXML:
description: RequiredParamMissingErrorResponseXML
value:
errorCode: 400-164
errorMessage: 'At least one of the following parameters: name, website, email or ticker must be provided
for a match.'
diagnosticCode: 8a780506-a4ea-47c0-9837-3ae20d5f8849
InvalidRequestIdErrorResponseXML:
description: InvalidRequestIdErrorResponseXML
value:
errorCode: 400-167
errorMessage: Each request should have a unique ID.
diagnosticCode: cca619c0-6f2c-476d-bf9e-916c7e33e90e
InvalidRequestsSizeErrorResponseXML:
description: InvalidRequestsSizeErrorResponseXML
value:
errorCode: 400-168
errorMessage: The match request size should be less than or equal to 30.
diagnosticCode: a9f35a64-5d7c-40d9-949d-6b3d440732f4
InvalidFieldNameErrorResponseXML:
description: InvalidFieldNameErrorResponseXML
value:
errorCode: 400-106
errorMessage: '{invalidFieldName} Invalid field name.'
diagnosticCode: 3295f2e8-b794-4646-a805-b573e69d43fb
InvalidMinMatchScoreErrorResponseXML:
description: InvalidMinMatchScoreErrorResponseXML
value:
errorCode: 400-170
errorMessage: The minimumMatchScore should be between 0 and 1.
diagnosticCode: b823b5fe-0862-4ea5-bb18-cee2d8a69782
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/job/{jobId}:
get:
tags:
- Asynchronous (Batch) API
summary: Get Bulk Job Status
description: 'Check the status of a bulk job using its unique job ID. This endpoint supports all bulk job types, including
Company Fetch, Contact Fetch, and Match. Once the job completes successfully, the response will contain a signed `resultsUrl`
for downloading the results.
Important notes:
- The `resultsUrl` is included **only when the job status is `finished`**
- The URL remains valid for **24 hours**
- If the job fails, an `errorMessage` field will be present in the response explaining the reason
**CSV Results Format:**
- The `resultsUrl` points to a CSV file containing the requested data
- CSV column headers correspond exactly to the field names specified in your job request
- For detailed information about available fields and their descriptions, refer to the field documentation in the
Create
a Bulk Data Retrieval Job endpoint
- Array fields (like `titles`, `jobFunctions`) are represented as pipe-separated values (e.g., "VP|Director|Manager")
'
operationId: getBulkJobStatus
parameters:
- name: jobId
in: path
description: Unique identifier of the bulk job.
required: true
schema:
type: string
responses:
'200':
description: Bulk job status fetched successfully. Results URL is present only for finished jobs.
content:
application/json:
schema:
$ref: '#/components/schemas/BulkJobStatusDTO'
examples:
Finished Bulk Job:
summary: A finished bulk job with results URL.
description: Finished Bulk Job
value:
jobName: jobNameTest
jobStatus: finished
jobType: contactfetch
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
resultsUrl: https://uapi-results.db-data-api-dev.demandbase.com/bulkjobs/companyfetch/0ab5c350-c6d2-4dcc-a9cd-dbba521f468d/response/c1ebe044-0c93-4643-b4bf-9ab1ea9b4ee3.csv?Policy=...
Processing Bulk Job:
summary: A bulk job that is still processing.
description: Processing Bulk Job
value:
jobName: jobNameTest
jobStatus: processing
jobType: companyfetch
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
Failed Bulk Job:
summary: A bulk job that failed with an error message.
description: Failed Bulk Job
value:
jobName: jobNameTest
jobStatus: failed
jobType: match
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
message: Error processing job. Please try again later.
application/xml:
schema:
$ref: '#/components/schemas/BulkJobStatusDTO'
examples:
Finished Bulk Job XML:
summary: A finished bulk job with results URL (XML).
description: Finished Bulk Job XML
value:
jobName: jobNameTest
jobStatus: finished
jobType: contactfetch
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
resultsUrl: https://uapi-results.db-data-api-dev.demandbase.com/bulkjobs/companyfetch/0ab5c350-c6d2-4dcc-a9cd-dbba521f468d/response/c1ebe044-0c93-4643-b4bf-9ab1ea9b4ee3.csv?Policy=...
Processing Bulk Job XML:
summary: A bulk job that is still processing (XML).
description: Processing Bulk Job XML
value:
jobName: jobNameTest
jobStatus: processing
jobType: companyfetch
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
Failed Bulk Job XML:
summary: A bulk job that failed with an error message (XML).
description: Failed Bulk Job XML
value:
jobName: jobNameTest
jobStatus: failed
jobType: match
jobId: f546c341-2dc3-4797-b43d-59ac0d334346
createdAt: '2024-09-16T04:46:21.684Z'
updatedAt: '2024-09-02T06:07:44.550Z'
message: Error processing job. Please try again later.
'400':
description: Bad request. For example, job id is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad Request:
summary: Job Id should not be empty.
description: Bad Request
value:
errorCode: 400-139
errorMessage: Job Id should not be empty.
diagnosticCode: 15d8774c-f2a1-4352-ba65-386bf8d04ecf
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad Request XML:
summary: Job Id should not be empty (XML).
description: Bad Request XML
value:
errorCode: 400-139
errorMessage: Job Id should not be empty.
diagnosticCode: 15d8774c-f2a1-4352-ba65-386bf8d04ecf
'401':
description: Unauthorized - Missing or invalid tenant ID
content:
application/json:
examples:
Unauthorized Response:
summary: Authentication Failed - Unauthorized.
description: Unauthorized Response
value:
status: Authentication Failed - Unauthorized.
'404':
description: Job not found. Invalid job id.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Not Found:
summary: Invalid job ID, job not found.
description: Not Found
value:
errorCode: 404-101
errorMessage: Invalid job ID, job not found.
diagnosticCode: 92ce43d0-a861-4394-b44d-420d114dcfcb
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Not Found XML:
summary: Invalid job ID, job not found (XML).
description: Not Found XML
value:
errorCode: 404-101
errorMessage: Invalid job ID, job not found.
diagnosticCode: 92ce43d0-a861-4394-b44d-420d114dcfcb
'500':
description: Internal server error.
content:
application/json:
examples:
Internal Server Error:
summary: Internal server exception occurred.
description: Internal Server Error
value:
errorCode: '500'
errorMessage: Internal server exception occurred.
diagnosticCode: 15d8774c-f2a1-4352-ba65-386bf8d04ecf
application/xml:
examples:
Internal Server Error XML:
summary: Internal server exception occurred (XML).
description: Internal Server Error XML
value: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Company Search (click to expand)
\n\n- `areaCodes`\n- `businessStructure`\n\
- `businessTypes`\n- `categoryIds`\n- `cities`\n- `companyStatus`\n- `companyType`\n- `country`\n- `dbe`\n- `disabled`\n\
- `ethnicity`\n- `fiscalYearEnd`\n- `fortuneRanking`\n- `gender`\n- `hasPhone`\n- `hasWebsite`\n- `industries`\n\
- `keywords`\n- `lgbt`\n- `maxEmployees`\n- `maxRevenue`\n- `mbe`\n- `minEmployees`\n- `minRevenue`\n- `naics`\n\
- `newsCategories`\n- `newsDuration`\n- `primaryIndustryOnly`\n- `primaryNAICSOnly`\n- `primarySICOnly`\n- `productIds`\n\
- `regions`\n- `sicCodes`\n- `state`\n- `street`\n- `subCategoryIds`\n- `subIndustries`\n- `ticker`\n- `vbe`\n-\
\ `website`\n- `wbe`\n- `zipCodes`\nContact Search (click to\
\ expand)
\n\n- `active`\n- `companyCity`\n- `companyCountry`\n- `companyIdsToInclude`\n- `companyName`\n\
- `companyState`\n- `companyWebsite`\n- `contactCity`\n- `contactCountry`\n- `contactState`\n- `email`\n- `emailRequired`\n\
- `emailValidationStatus`\n- `firstName`\n- `industries`\n- `jobFunctions`\n- `jobLevels`\n- `lastName`\n- `maxEmployees`\n\
- `minContactQualityScore`\n- `minEmployees`\n- `phoneRequired`\n- `phoneType`\n- `primaryIndustryOnly`\n- `subIndustries`\n\
- `titles`\n\nOutput Fields for companyFetch\
\ (click to expand)
\n\n- `britishSics`\n- `businessStructure`\n- `city`\n- `companyBlogProfile`\n- `companyId`\n\
- `companyLinkedInProfile`\n- `companyStatus`\n- `companyTwitterProfile`\n- `companyType`\n- `currentCompanyId`\n\
- `description`\n- `employees`\n- `fiscalYearEnd`\n- `fortuneRanking`\n- `industry`\n- `industryCode`\n- `latitude`\n\
- `longitude`\n- `naics`\n- `naicsDescription`\n- `name`\n- `phone`\n- `revenue`\n- `revenueCurrency`\n- `sic`\n\
- `sicDescription`\n- `siteCount`\n- `siteLocationCount`\n- `siteType`\n- `state`\n- `street`\n- `subIndustry`\n\
- `subIndustryCode`\n- `subsidiary`\n- `ticker`\n- `website`\n- `yearFounded`\n- `zip`\n\nOutput Fields for contactFetch (click to expand)
\n\n- `active`\n- `age`\n\
- `companyId`\n- `companyName`\n- `contactId`\n- `corporatePhone`\n- `dbPersonArea`\n- `dbPersonCity`\n- `dbPersonCountry`\n\
- `dbPersonCountryCode`\n- `dbPersonId`\n- `dbPersonLatitude`\n- `dbPersonLongitude`\n- `dbPersonState`\n- `dbPersonStateCode`\n\
- `dbPersonStreet`\n- `dbPersonZip`\n- `description`\n- `directPhone`\n- `education`\n- `email`\n- `facebookHandle`\n\
- `firstName`\n- `imageUrl`\n- `jobFunctions`\n- `jobLevels`\n- `lastName`\n- `lastValidatedDate`\n- `linkedinHandle`\n\
- `contactQualityScore`\n- `middleName`\n- `mobileNumber`\n- `salary`\n- `salaryCurrency`\n- `startDate`\n- `titles`\n\
- `twitterHandle`\n\nOutput Fields for companySearch (click to\
\ expand)
\n\n- `city`\n- `companyId`\n- `country`\n- `name`\n- `state`\n\nOutput\
\ Fields for contactSearch (click to expand)
\n\n- `active`\n- `companyId`\n- `companyName`\n\
- `contactId`\n- `contactQualityScore`\n- `dbPersonId`\n- `firstName`\n- `jobFunctions`\n- `jobLevels`\n- `lastName`\n\
- `titles`\n\n
**Example:**\n\
```\n{ \n \"jobname\": \"TestJob\",\n \"jobType\": \"contactSearch\",\n \"filters\": [...]\n \"fields\": [\"\
all\"], ← Will return ALL available fields\n}\n```\n\n### Request Body"
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobRequestDTO'
examples:
Company Fetch Request Example:
description: Company Fetch Request Example
value:
jobName: Company Fetch Bulk Job
jobType: companyFetch
fields:
- companyId
- name
filters:
- field: companyId
values:
- '1'
- '2'
- '3'
Contact Fetch Request Example:
description: Contact Fetch Request Example
value:
jobName: Contact Fetch Bulk Job
jobType: contactFetch
fields:
- contactId
- firstName
- lastName
- titles
filters:
- field: contactId
values:
- '1'
- '2'
- '3'
Company Search Request Example:
description: Company Search Request Example
value:
jobName: Sample Bulk Job
jobType: companySearch
fields:
- all
filters:
- field: website
values:
- demandbase.com
sortBy: companyRevenue
sortOrder: asc
Contact Search Request Example:
description: Contact Search Request Example
value:
jobName: Sample Contact Search Bulk Job
jobType: contactSearch
fields:
- dbPersonId
- firstName
- lastName
- contactId
- companyId
- companyName
- titles
- jobLevels
- jobFunctions
- active
- contactQualityScore
filters:
- field: firstName
values:
- Sahil
- field: titles
values:
- CMO
- CTO
- field: jobLevels
values:
- '1'
- '2'
sortBy: title
sortOrder: asc
responses:
'202':
description: Bulk job created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/BulkJobStatusDTO'
examples:
Company Fetch Success Response:
description: Company Fetch Success Response
value:
jobName: Sample Bulk Job 2
jobStatus: accepted
jobType: companyFetch
jobId: 3984c704-6c13-40de-bed4-84ba62b7fddd
createdAt: '2025-06-09T20:39:51.431Z'
Contact Fetch Success Response:
description: Contact Fetch Success Response
value:
jobName: Test Contact Fetch Job
jobStatus: accepted
jobType: contactFetch
jobId: 3984c704-6c13-40de-bed4-84ba62b7fddd
createdAt: '2025-06-09T20:39:51.431Z'
Company Search Success Response:
description: Company Search Success Response
value:
jobName: Sample Bulk Job
jobStatus: accepted
jobType: companySearch
jobId: 4bff3abb-3f69-4b01-bed5-96868e7e253e
createdAt: '2025-07-24T16:46:52.699Z'
Contact Search Success Response:
description: Contact Search Success Response
value:
jobName: Sample Bulk Job
jobStatus: accepted
jobType: contactSearch
jobId: 5bff4abb-3f69-4b01-bed5-96868e7e253e
createdAt: '2025-07-31T16:46:52.699Z'
application/xml:
schema:
$ref: '#/components/schemas/BulkJobStatusDTO'
examples:
Company Fetch Success Response:
description: Company Fetch Success Response
value:
jobName: Sample Bulk Job 2
jobStatus: accepted
jobType: companyFetch
jobId: 3984c704-6c13-40de-bed4-84ba62b7fddd
createdAt: '2025-06-09T20:39:51.431Z'
Contact Fetch Success Response:
description: Contact Fetch Success Response
value:
jobName: Test Contact Fetch Job
jobStatus: accepted
jobType: contactFetch
jobId: 3984c704-6c13-40de-bed4-84ba62b7fddd
createdAt: '2025-06-09T20:39:51.431Z'
Company Search Success Response:
description: Company Search Success Response
value:
jobName: Sample Bulk Job
jobStatus: accepted
jobType: companySearch
jobId: 4bff3abb-3f69-4b01-bed5-96868e7e253e
createdAt: '2025-07-24T16:46:52.699Z'
Contact Search Success Response:
description: Contact Search Success Response
value:
jobName: Sample Bulk Job
jobStatus: accepted
jobType: contactSearch
jobId: 5bff4abb-3f69-4b01-bed5-96868e7e253e
createdAt: '2025-07-31T16:46:52.699Z'
'400':
description: Bad Request - Invalid input parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Missing Fields:
description: When required fields are missing
value:
errorCode: 400-194
errorMessage: fields list must not be empty in job request
diagnosticCode: e85284b5-5330-40c0-aa39-392a8afd6681
Invalid Job Type:
description: When job type is invalid or not supported
value:
errorCode: 400-195
errorMessage: 'jobType must be one of: companyFetch, contactFetch, companySearch, contactSearch'
diagnosticCode: abcd
Missing Job Name:
description: When job name is missing or blank
value:
errorCode: 400-190
errorMessage: jobName is required and cannot be empty.
diagnosticCode: abcd
Job Name Too Long:
description: When job name exceeds 50 characters
value:
errorCode: 400-196
errorMessage: jobName must be at most 50 characters
diagnosticCode: abcd
Invalid Field Name:
description: When field names are not valid
value:
errorCode: 400-106
errorMessage: 'Invalid field name: invalidField1, invalidField2'
diagnosticCode: abcd
Multiple Filters:
description: When more than one filter is provided
value:
errorCode: 400-201
errorMessage: Maximum 1 filter can be applied at a time.
diagnosticCode: abcd
Invalid Filter Field for Company Fetch:
description: When filter field is not supported
value:
errorCode: 400-200
errorMessage: Filter can only be applied on field 'companyId' for given jobType.
diagnosticCode: abcd
Invalid Filter Field for Contact Fetch:
description: When filter field is not supported
value:
errorCode: 400-212
errorMessage: Filter can only be applied on field 'contactId' for given jobType.
diagnosticCode: abcd
Values Limit Exceeded:
description: When filter values exceed the limit
value:
errorCode: 400-203
errorMessage: The number of values in the filter exceeds the limit of 10000.
diagnosticCode: 2fe6b569-ff5b-4889-8dc1-653907134ffe
No Filters:
description: When no filters are provided
value:
errorCode: 400-202
errorMessage: At least one filter must be provided.
diagnosticCode: abcd
No Filter values present:
description: When no filter values are provided
value:
errorCode: 400-198
errorMessage: Filter values must not be empty
diagnosticCode: 0835ea59-38e1-4cfd-bb4d-37573d5b028f
Filter field missing:
description: When filter field is provided
value:
errorCode: 400-197
errorMessage: Filter field is required
diagnosticCode: ea4c0465-672e-4fba-a5b7-020e30bf3b6a
jobType missing:
description: When jobType is not provided
value:
errorCode: 400-199
errorMessage: jobType is required and cannot be empty.
diagnosticCode: 8e787f3c-c1a2-4875-8223-12ef79d6c239
Invalid SortBy Param for Company Search:
description: When invalid SortBy Param is provided
value:
errorCode: 400-135
errorMessage: Sorting is allowed only on employeeCount, businessType, companyRevenue and location
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid SortOrder Param:
description: When invalid SortOrder Param is provided
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Company Country Id:
description: When invalid Company Country Id is provided
value:
errorCode: 400-214
errorMessage: Invalid country. Please enter valid country ID in country.
diagnosticCode: 2ec12de8-1000-4620-8757-6091a1cffab7
Invalid News Categories:
description: When invalid News Categories are provided
value:
errorCode: 400-112
errorMessage: 'Invalid newsCategories. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid News Duration:
description: When an invalid News Duration is provided
value:
errorCode: 400-113
errorMessage: Invalid newsDuration. Valid values are between 1 and 30
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Industry:
description: When an invalid Industry is provided
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Max Employees:
description: When an invalid Max Employees value is provided
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Min Employees:
description: When an invalid Min Employees value is provided
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Max Revenue:
description: When an invalid Max Revenue value is provided
value:
errorCode: 400-119
errorMessage: maxRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Min Revenue:
description: When an invalid Min Revenue value is provided
value:
errorCode: 400-118
errorMessage: minRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Business Structure:
description: When an invalid Business Structure is provided
value:
errorCode: 400-128
errorMessage: 'Invalid businessStructure. Valid values are: uncategorized, globalParent, subsidiary, group,
branch, independent'
diagnosticCode: cebdea29-25ac-40e5-af41-0626e34e6f46
Invalid Business Type:
description: When an invalid Business Type is provided
value:
errorCode: 400-129
errorMessage: 'Invalid businessType. Valid values are: public, private, school, government, organization'
diagnosticCode: 2b7cd799-e532-46a4-bc4e-e967b0a40f4b
Invalid Company Status:
description: When an invalid Company Status is provided
value:
errorCode: 400-130
errorMessage: 'Invalid companyStatus. Valid values are: unassigned, operating, non-operating, acquired,
liquidating, outOfBusiness'
diagnosticCode: bb841d37-ed8f-4a82-a5c5-fd11ea6d8e3d
Invalid Fiscal Year End:
description: When an invalid Fiscal Year End is provided
value:
errorCode: 400-131
errorMessage: Invalid fiscalYearEnd. fiscalYearEnd should be a valid month name.
diagnosticCode: 67521433-a92b-49ee-9d21-21d4007f8486
Invalid Fortune Ranking:
description: When an invalid Fortune Ranking is provided
value:
errorCode: 400-132
errorMessage: 'Invalid fortuneRanking. Valid values are: fortune500, fortune1000'
diagnosticCode: 1921c127-a8e6-4685-aaa0-1f6bce967a18
Invalid Employee Range:
description: When an invalid Employee Range is provided
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
Invalid Revenue Range:
description: When an invalid Revenue Range is provided
value:
errorCode: 400-127
errorMessage: minRevenue must be less than or equal to minRevenue.
diagnosticCode: cbc2bbd0-a801-41c1-a546-be6ea0e75797
Invalid Regions:
description: When invalid Regions are provided
value:
errorCode: 400-133
errorMessage: 'Invalid region. Valid values are: Africa, Asia, Europe, MiddleEast, NorthAmerica, Oceania,
SouthAmerica'
diagnosticCode: 88d76e2d-6f09-4018-97fe-b41c64f5ac67
Invalid Company Type:
description: When an invalid Company Type is provided
value:
errorCode: 400-134
errorMessage: 'Invalid companyType. Valid values are: unknown, public, private, government, organization'
diagnosticCode: ed1cfeb5-a7bf-4621-a4f3-51b1e8f106ae
Invalid Gender:
description: When an invalid Gender is provided
value:
errorCode: 400-117
errorMessage: Invalid gender. Valid values are male and female
diagnosticCode: fa7db512-d0ef-4c9d-aa8b-6e6bc21a61bc
Invalid Ethnicity:
description: When an invalid Ethnicity is provided
value:
errorCode: 400-136
errorMessage: Invalid Ethnicity Ids. Ethnicity Ids should be between 1 and 7
diagnosticCode: 126df328-b3d1-4d62-9464-e435aa706805
Invalid SortBy Param for Contact Search:
description: When invalid SortBy Param is provided
value:
errorCode: 400-108
errorMessage: Sorting is allowed only on active, title and companyName.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Contact CountryId:
description: When invalid Contact Country Id is provided
value:
errorCode: 400-110
errorMessage: Invalid contactCountry. Please enter valid country ID in contactCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Job Levels:
description: When an invalid Job Level is provided
value:
errorCode: 400-124
errorMessage: 'jobLevel must be an integer. '
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
Invalid Min Contact Quality Score:
description: When an invalid Min Contact Quality Score is provided
value:
errorCode: 400-123
errorMessage: 'minContactQualityScore must one of: [A+, A, B, C]'
diagnosticCode: 467e469f-2146-4af8-ac0f-5fb487fbba02
Invalid Job Function:
description: When an invalid Job Function is provided
value:
errorCode: 400-125
errorMessage: 'jobFunction must be an integer. '
diagnosticCode: 3640f569-4d90-40cd-b0c6-2c72f671ab72
Invalid Phone Type:
description: When an invalid Phone Type is provided
value:
errorCode: 400-137
errorMessage: 'phoneType must be one of: [DIRECT, CORP, MOBILE, ANY, DIRECTORCORP]'
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
Invalid Email Validation Status:
description: When an invalid Email Validation Status is provided
value:
errorCode: 400-138
errorMessage: 'emailValidationStatus must be one of: [ValidEmail, ValidDomain]'
diagnosticCode: e32c6e5e-29cb-40c0-a37a-2c8e8213a477
Invalid CompanyId:
description: When an invalid CompanyId is provided
value:
errorCode: 400-122
errorMessage: Invalid companyId in companyIdsInclude. companyId must be an integer.
diagnosticCode: ffa69cf0-b316-4a12-84d5-e4afb6bb23ee
Invalid Field In Filter:
description: When an invalid field is provided in filter
value:
errorCode: 400-213
errorMessage: 'Invalid field in filter: invalid'
diagnosticCode: 581b5824-12e1-4ff6-bcfb-a733b034b7f9
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad Request Response:
description: Bad Request Response
value:
errorCode: 400-194
errorMessage: fields list must not be empty in job request
diagnosticCode: e85284b5-5330-40c0-aa39-392a8afd6681
Invalid Job Type Response:
description: Invalid Job Type Response
value:
errorCode: 400-195
errorMessage: 'jobType must be one of: companyFetch, contactFetch, companySearch, contactSearch'
diagnosticCode: abcd
Job Name Required Response:
description: Job Name Required Response
value:
errorCode: 400-190
errorMessage: jobName is required and cannot be empty.
diagnosticCode: abcd
Job Name Too Long Response:
description: Job Name Too Long Response
value:
errorCode: 400-196
errorMessage: jobName must be at most 50 characters
diagnosticCode: abcd
Invalid Field Name Response:
description: Invalid Field Name Response
value:
errorCode: 400-106
errorMessage: 'Invalid field name: invalidField1, invalidField2'
diagnosticCode: abcd
Invalid Filters Count Response:
description: Invalid Filters Count Response
value:
errorCode: 400-201
errorMessage: Maximum 1 filter can be applied at a time.
diagnosticCode: abcd
Invalid Filter Field Response for Company Fetch:
description: Invalid Filter Field Response for Company Fetch
value:
errorCode: 400-200
errorMessage: Filter can only be applied on field 'companyId' for given jobType.
diagnosticCode: abcd
Invalid Filter Field Response for Contact Fetch:
description: Invalid Filter Field Response for Contact Fetch
value:
errorCode: 400-212
errorMessage: Filter can only be applied on field 'contactId' for given jobType.
diagnosticCode: abcd
Values Limit Exceeded Response:
description: Values Limit Exceeded Response
value:
errorCode: 400-203
errorMessage: The number of values in the filter exceeds the limit of 10000.
diagnosticCode: 2fe6b569-ff5b-4889-8dc1-653907134ffe
No Filters Response:
description: No Filters Response
value:
errorCode: 400-202
errorMessage: At least one filter must be provided.
diagnosticCode: abcd
No Filter Values Response:
description: No Filter Values Response
value:
errorCode: 400-198
errorMessage: Filter values must not be empty
diagnosticCode: 0835ea59-38e1-4cfd-bb4d-37573d5b028f
Filter Field Required Response:
description: Filter Field Required Response
value:
errorCode: 400-197
errorMessage: Filter field is required
diagnosticCode: ea4c0465-672e-4fba-a5b7-020e30bf3b6a
jobType Required Response:
description: jobType Required Response
value:
errorCode: 400-199
errorMessage: jobType is required and cannot be empty.
diagnosticCode: 8e787f3c-c1a2-4875-8223-12ef79d6c239
Invalid SortBy Param for Company Search:
description: Invalid SortBy Param for Company Search
value:
errorCode: 400-135
errorMessage: Sorting is allowed only on employeeCount, businessType, companyRevenue and location
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid SortOrder:
description: Invalid SortOrder
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Company Country Id:
description: Invalid Company Country Id
value:
errorCode: 400-214
errorMessage: Invalid country. Please enter valid country ID in country.
diagnosticCode: 2ec12de8-1000-4620-8757-6091a1cffab7
Invalid NewsCategories:
description: Invalid NewsCategories
value:
errorCode: 400-112
errorMessage: 'Invalid newsCategories. Valid values are: leadership Changes, new Offerings, acquisitions,
partnerships, expanding operations, cost cutting, outperforming, underperforming, company presentation,
litigation, compliance, research and development, data security, funding developments, bankruptcy and
restructuring, real estate: deals, real estate: construction, corporate challenges'
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid NewsDuration:
description: Invalid NewsDuration
value:
errorCode: 400-113
errorMessage: Invalid newsDuration. Valid values are between 1 and 30
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Industry:
description: Invalid Industry
value:
errorCode: 400-114
errorMessage: Industry Id must be an integer.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Max Employees:
description: Invalid Max Employees
value:
errorCode: 400-121
errorMessage: maxEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Min Employees:
description: Invalid Min Employees
value:
errorCode: 400-120
errorMessage: minEmployees must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Max Revenue:
description: Invalid Max Revenue
value:
errorCode: 400-119
errorMessage: maxRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Min Revenue:
description: Invalid Min Revenue
value:
errorCode: 400-118
errorMessage: minRevenue must be greater than or equal to 0.
diagnosticCode: 88ea1636-3c9d-40ec-bdc4-e28d8ec1d069
Invalid Business Structure:
description: Invalid Business Structure
value:
errorCode: 400-128
errorMessage: 'Invalid businessStructure. Valid values are: uncategorized, globalParent, subsidiary, group,
branch, independent'
diagnosticCode: cebdea29-25ac-40e5-af41-0626e34e6f46
Invalid Business Type:
description: Invalid Business Type
value:
errorCode: 400-129
errorMessage: 'Invalid businessType. Valid values are: public, private, school, government, organization'
diagnosticCode: 2b7cd799-e532-46a4-bc4e-e967b0a40f4b
Invalid Company Status:
description: Invalid Company Status
value:
errorCode: 400-130
errorMessage: 'Invalid companyStatus. Valid values are: unassigned, operating, non-operating, acquired,
liquidating, outOfBusiness'
diagnosticCode: bb841d37-ed8f-4a82-a5c5-fd11ea6d8e3d
Invalid Fiscal Year End:
description: Invalid Fiscal Year End
value:
errorCode: 400-131
errorMessage: Invalid fiscalYearEnd. fiscalYearEnd should be a valid month name.
diagnosticCode: 67521433-a92b-49ee-9d21-21d4007f8486
Invalid Fortune Ranking:
description: Invalid Fortune Ranking
value:
errorCode: 400-132
errorMessage: 'Invalid fortuneRanking. Valid values are: fortune500, fortune1000'
diagnosticCode: 1921c127-a8e6-4685-aaa0-1f6bce967a18
Invalid Employee Range:
description: Invalid Employee Range
value:
errorCode: 400-126
errorMessage: minEmployees must be less than or equal to maxEmployees.
diagnosticCode: ddda8332-696c-4e74-897b-f5cc5525ddbe
Invalid Revenue Range:
description: Invalid Revenue Range
value:
errorCode: 400-127
errorMessage: minRevenue must be less than or equal to minRevenue.
diagnosticCode: cbc2bbd0-a801-41c1-a546-be6ea0e75797
Invalid Regions:
description: Invalid Regions
value:
errorCode: 400-133
errorMessage: 'Invalid region. Valid values are: Africa, Asia, Europe, MiddleEast, NorthAmerica, Oceania,
SouthAmerica'
diagnosticCode: 88d76e2d-6f09-4018-97fe-b41c64f5ac67
Invalid Company Type:
description: Invalid Company Type
value:
errorCode: 400-134
errorMessage: 'Invalid companyType. Valid values are: unknown, public, private, government, organization'
diagnosticCode: ed1cfeb5-a7bf-4621-a4f3-51b1e8f106ae
Invalid Gender:
description: Invalid Gender
value:
errorCode: 400-117
errorMessage: Invalid gender. Valid values are male and female
diagnosticCode: fa7db512-d0ef-4c9d-aa8b-6e6bc21a61bc
Invalid Ethnicity:
description: Invalid Ethnicity
value:
errorCode: 400-136
errorMessage: Invalid Ethnicity Ids. Ethnicity Ids should be between 1 and 7
diagnosticCode: 126df328-b3d1-4d62-9464-e435aa706805
Invalid SortBy Param for Contact Search:
description: Invalid SortBy Param for Contact Search
value:
errorCode: 400-108
errorMessage: Sorting is allowed only on active, title and companyName.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Sort Order:
description: Invalid Sort Order
value:
errorCode: 400-109
errorMessage: Sorting order can be either asc or desc.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Contact CountryId:
description: Invalid Contact CountryId
value:
errorCode: 400-110
errorMessage: Invalid contactCountry. Please enter valid country ID in contactCountry.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
Invalid Job Levels:
description: Invalid Job Levels
value:
errorCode: 400-124
errorMessage: 'jobLevel must be an integer. '
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
Invalid Min Contact Quality Score:
description: Invalid Min Contact Quality Score
value:
errorCode: 400-123
errorMessage: 'minContactQualityScore must one of: [A+, A, B, C]'
diagnosticCode: 467e469f-2146-4af8-ac0f-5fb487fbba02
Invalid Function:
description: Invalid Function
value:
errorCode: 400-125
errorMessage: 'jobFunction must be an integer. '
diagnosticCode: 3640f569-4d90-40cd-b0c6-2c72f671ab72
Invalid Phone Type:
description: Invalid Phone Type
value:
errorCode: 400-137
errorMessage: 'phoneType must be one of: [DIRECT, CORP, MOBILE, ANY, DIRECTORCORP]'
diagnosticCode: 8ee03d66-a07b-43bd-9bd0-eee448ed7a98
Invalid Email Validation Status:
description: Invalid Email Validation Status
value:
errorCode: 400-138
errorMessage: 'emailValidationStatus must be one of: [ValidEmail, ValidDomain]'
diagnosticCode: e32c6e5e-29cb-40c0-a37a-2c8e8213a477
Invalid CompanyId:
description: Invalid CompanyId
value:
errorCode: 400-122
errorMessage: Invalid companyId in companyIdsInclude. companyId must be an integer.
diagnosticCode: ffa69cf0-b316-4a12-84d5-e4afb6bb23ee
Invalid Field In Filter:
description: When an invalid field is provided in filter
value:
errorCode: 400-213
errorMessage: 'Invalid field in filter: invalid'
diagnosticCode: 581b5824-12e1-4ff6-bcfb-a733b034b7f9
'401':
description: Unauthorized - Missing or invalid tenant ID
content:
application/json:
examples:
Unauthorized Response:
description: Unauthorized Response
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/subscriptions/job:
put:
tags:
- Subscription API
summary: Update an Existing Subscription
description: 'Use this API to update an existing subscription. You must provide both the subscriptionId and subscriptionType
to identify which subscription you want to modify. This endpoint supports partial and full updates, including:
- Replacing all associated entity IDs with the subscription (e.g., company IDs or dbPerson IDs).
- Incrementally adding or removing entity IDs in the subscription.
- Updating other subscription details such as frequency, webhook URL, signing secret, fields, or news categories.
The API responds with a jobId, which can be used to check the job''s status. Once the job completes successfully,
the subscription is updated accordingly.
'
operationId: updateSubscription
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSubscriptionJobRequestDTO'
examples:
UpdateCompanySubscriptionRequest:
description: UpdateCompanySubscriptionRequest
value:
subscriptionId: 2aac4dd2-d2c9-485e-b9ef-388c63e54915
companyIds:
- 1
- 2
- 3
- 4
- 5
name: Updated Company Subscription
description: This is an updated subscription for company updates
subscriptionType: company
frequency: 14d
fields:
- all
webhook: http://www.your-domain.com/webhook-updated
signingSecret: updated-secret-key
UpdateCompanyNewsSubscriptionRequest:
description: UpdateCompanyNewsSubscriptionRequest
value:
subscriptionId: 2aac4dd2-d2c9-485e-b9ef-388c63e54916
addCompanyIds:
- 1
- 2
- 3
- 4
- 5
removeCompanyIds:
- 6
- 7
name: Updated Company News Subscription
description: This is an updated subscription for company news updates
subscriptionType: companyNews
frequency: 60M
newsCategories:
- LEADERSHIP_CHANGES
- RESEARCH_DEVELOPMENT
- REALESTATE_DEALS
webhook: http://www.your-domain.com/webhook-updated
signingSecret: updated-secret-key
UpdateCompanyFamilyTreeSubscriptionRequest:
description: UpdateCompanyFamilyTreeSubscriptionRequest
value:
subscriptionId: 2aac4dd2-d2c9-485e-b9ef-388c63e54917
addCompanyIds:
- 1
- 2
- 3
- 4
- 5
removeCompanyIds:
- 6
- 7
name: Updated Company FamilyTree Subscription
description: This is an updated subscription for company family tree updates
subscriptionType: companyFamilyTree
frequency: 1w
webhook: http://www.your-domain.com/webhook-updated
signingSecret: updated-secret-key
UpdateDbPersonSubscriptionRequest:
description: UpdateDbPersonSubscriptionRequest
value:
subscriptionId: 2aac4dd2-d2c9-485e-b9ef-388c63e54918
addDBPersonIds:
- 101
- 102
- 103
- 104
- 105
removeDBPersonIds:
- 106
- 107
name: Updated DB Person Subscription
description: This is an updated subscription for dbPerson updates
subscriptionType: dbPerson
frequency: 14d
fields:
- all
webhook: http://www.your-domain.com/webhook-updated
signingSecret: updated-secret-key
responses:
'202':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionJobResponseDTO'
examples:
SuccessResponse:
description: SuccessResponse
value:
jobId: 39ddf756-c04e-465c-b8c1-8d2c2be0abed
jobStatus: accepted
totalEntitiesProcessed: 0
jobType: notificationSubscriptionCreate
subscriptionType: company
createdAt: '2025-06-25T09:00:42.620Z'
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionJobResponseDTO'
examples:
SuccessResponseXml:
description: SuccessResponseXml
value:
jobId: 39ddf756-c04e-465c-b8c1-8d2c2be0abed
jobStatus: accepted
totalEntitiesProcessed: 0
jobType: notificationSubscriptionCreate
subscriptionType: company
createdAt: '2025-06-25T09:00:42.620Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidUrlResponse:
description: InvalidUrlResponse
value:
errorCode: 400-144
errorMessage: Invalid Webhook. Url syntax is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSigningSecretResponse:
description: InvalidSigningSecretResponse
value:
errorCode: 400-145
errorMessage: Invalid Webhook. Signing secret is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSubscriptionTypeResponse:
description: InvalidSubscriptionTypeResponse
value:
errorCode: 400-146
errorMessage: Invalid Subscription Type. Subscription type is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidStartTimeResponse:
description: InvalidStartTimeResponse
value:
errorCode: 400-147
errorMessage: Start time is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidFrequencyResponse:
description: InvalidFrequencyResponse
value:
errorCode: 400-149
errorMessage: Frequency has invalid pattern.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyValueResponse:
description: InvalidFrequencyValueResponse
value:
errorCode: 400-150
errorMessage: Frequency value is invalid.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyTypeResponse:
description: InvalidFrequencyTypeResponse
value:
errorCode: 400-151
errorMessage: Frequency type is invalid.
diagnosticCode: e8bb70af-ab52-4bb3-a2cb-538801fc9ed4
InvalidFieldResponse:
description: InvalidFieldResponse
value:
errorCode: 400-157
errorMessage: One or more fields is invalid for provided subscription type.
diagnosticCode: dd1546d9-f8c3-4b86-bcec-8acbae92998b
InvalidAgentResponse:
description: InvalidAgentResponse
value:
errorCode: 400-163
errorMessage: One or more news category is invalid for provided subscription type.
diagnosticCode: cafba766-624e-40b7-8952-4acb657ada09
EmptyCompanyIdsResponse:
description: EmptyCompanyIdsResponse
value:
errorCode: 400-158
errorMessage: At least one company ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
EmptyContactIdsResponse:
description: EmptyContactIdsResponse
value:
errorCode: 400-159
errorMessage: At least one contact ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
CompanyIdsLimitExceededResponse:
description: CompanyIdsLimitExceededResponse
value:
errorCode: 400-160
errorMessage: Company ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
ContactIdsLimitExceededResponse:
description: ContactIdsLimitExceededResponse
value:
errorCode: 400-161
errorMessage: Contact ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidUrlResponseXml:
description: InvalidUrlResponseXml
value:
errorCode: 400-144
errorMessage: Invalid Webhook. Url syntax is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSigningSecretResponseXml:
description: InvalidSigningSecretResponseXml
value:
errorCode: 400-145
errorMessage: Invalid Webhook. Signing secret is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSubscriptionTypeResponseXml:
description: InvalidSubscriptionTypeResponseXml
value:
errorCode: 400-146
errorMessage: Invalid Subscription Type. Subscription type is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidStartTimeResponseXml:
description: InvalidStartTimeResponseXml
value:
errorCode: 400-147
errorMessage: Start time is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidFrequencyResponseXml:
description: InvalidFrequencyResponseXml
value:
errorCode: 400-149
errorMessage: Frequency has invalid pattern.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyValueResponseXml:
description: InvalidFrequencyValueResponseXml
value:
errorCode: 400-150
errorMessage: Frequency value is invalid.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyTypeResponseXml:
description: InvalidFrequencyTypeResponseXml
value:
errorCode: 400-151
errorMessage: Frequency type is invalid.
diagnosticCode: e8bb70af-ab52-4bb3-a2cb-538801fc9ed4
InvalidFieldResponseXml:
description: InvalidFieldResponseXml
value:
errorCode: 400-157
errorMessage: One or more fields is invalid for provided subscription type.
diagnosticCode: dd1546d9-f8c3-4b86-bcec-8acbae92998b
EmptyCompanyIdsResponseXml:
description: EmptyCompanyIdsResponseXml
value:
errorCode: 400-158
errorMessage: At least one company ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
EmptyContactIdsResponseXml:
description: EmptyContactIdsResponseXml
value:
errorCode: 400-159
errorMessage: At least one contact ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
CompanyIdsLimitExceededResponseXml:
description: CompanyIdsLimitExceededResponseXml
value:
errorCode: 400-160
errorMessage: Company ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
ContactIdsLimitExceededResponseXml:
description: ContactIdsLimitExceededResponseXml
value:
errorCode: 400-161
errorMessage: Contact ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
post:
tags:
- Subscription API
summary: Create a New Subscription
description: 'Use this endpoint to create a subscription for monitoring updates to companies or DB Person records. Subscriptions
allow you to receive change alerts via webhook and access historical alerts via API.
Each subscription is processed asynchronously. A jobId is returned on submission. Upon completion, the job will return
a subscriptionId which can be used to fetch alerts or manage the subscription.'
operationId: updateSubscription_1
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSubscriptionJobRequestDTO'
examples:
Company Subscription Request Example:
description: Company Subscription Request Example
value:
companyIds:
- 1
- 2
- 3
- 4
- 5
name: Company Subscription
description: This is a subscription for company updates
subscriptionType: company
startDate: '2025-06-25'
frequency: 7d
fields:
- all
webhook: http://www.your-domain.com/webhook
signingSecret: secret-key
Company News Subscription Request Example:
description: Company News Subscription Request Example
value:
companyIds:
- 1
- 2
- 3
- 4
- 5
name: Company News Subscription
description: This is a subscription for company news updates
subscriptionType: companyNews
startDate: '2025-06-25'
frequency: 30M
newsCategories:
- LEADERSHIP_CHANGES
- RESEARCH_DEVELOPMENT
- REALESTATE_DEALS
webhook: http://www.your-domain.com/webhook
signingSecret: secret-key
Company Family Tree Subscription Request Example:
description: Company Family Tree Subscription Request Example
value:
companyIds:
- 1
- 2
- 3
- 4
- 5
name: Company FamilyTree Subscription
description: This is a subscription for company family tree updates
subscriptionType: companyFamilyTree
startDate: '2025-06-25'
frequency: 2w
webhook: http://www.your-domain.com/webhook
signingSecret: secret-key
DbPerson Subscription Request Example:
description: DbPerson Subscription Request Example
value:
dbPersonIds:
- 101
- 102
- 103
- 104
- 105
name: DB Person Subscription
description: This is a subscription for dbPerson updates
subscriptionType: dbPerson
startDate: '2025-06-25'
frequency: 7d
fields:
- all
webhook: http://www.your-domain.com/webhook
signingSecret: secret-key
responses:
'202':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionJobResponseDTO'
examples:
SuccessResponse:
description: SuccessResponse
value:
jobId: 39ddf756-c04e-465c-b8c1-8d2c2be0abed
jobStatus: accepted
totalEntitiesProcessed: 0
jobType: notificationSubscriptionCreate
subscriptionType: company
createdAt: '2025-06-25T09:00:42.620Z'
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionJobResponseDTO'
examples:
SuccessResponseXml:
description: SuccessResponseXml
value:
jobId: 39ddf756-c04e-465c-b8c1-8d2c2be0abed
jobStatus: accepted
totalEntitiesProcessed: 0
jobType: notificationSubscriptionCreate
subscriptionType: company
createdAt: '2025-06-25T09:00:42.620Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidUrlResponse:
description: InvalidUrlResponse
value:
errorCode: 400-144
errorMessage: Invalid Webhook. Url syntax is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSigningSecretResponse:
description: InvalidSigningSecretResponse
value:
errorCode: 400-145
errorMessage: Invalid Webhook. Signing secret is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSubscriptionTypeResponse:
description: InvalidSubscriptionTypeResponse
value:
errorCode: 400-146
errorMessage: Invalid Subscription Type. Subscription type is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidStartTimeResponse:
description: InvalidStartTimeResponse
value:
errorCode: 400-147
errorMessage: Start time is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidFrequencyResponse:
description: InvalidFrequencyResponse
value:
errorCode: 400-149
errorMessage: Frequency has invalid pattern.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyValueResponse:
description: InvalidFrequencyValueResponse
value:
errorCode: 400-150
errorMessage: Frequency value is invalid.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyTypeResponse:
description: InvalidFrequencyTypeResponse
value:
errorCode: 400-151
errorMessage: Frequency type is invalid.
diagnosticCode: e8bb70af-ab52-4bb3-a2cb-538801fc9ed4
InvalidFieldResponse:
description: InvalidFieldResponse
value:
errorCode: 400-157
errorMessage: One or more fields is invalid for provided subscription type.
diagnosticCode: dd1546d9-f8c3-4b86-bcec-8acbae92998b
InvalidAgentResponse:
description: InvalidAgentResponse
value:
errorCode: 400-163
errorMessage: One or more news category is invalid for provided subscription type.
diagnosticCode: cafba766-624e-40b7-8952-4acb657ada09
EmptyCompanyIdsResponse:
description: EmptyCompanyIdsResponse
value:
errorCode: 400-158
errorMessage: At least one company ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
EmptyContactIdsResponse:
description: EmptyContactIdsResponse
value:
errorCode: 400-159
errorMessage: At least one contact ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
CompanyIdsLimitExceededResponse:
description: CompanyIdsLimitExceededResponse
value:
errorCode: 400-160
errorMessage: Company ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
ContactIdsLimitExceededResponse:
description: ContactIdsLimitExceededResponse
value:
errorCode: 400-161
errorMessage: Contact ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
InvalidUrlResponseXml:
description: InvalidUrlResponseXml
value:
errorCode: 400-144
errorMessage: Invalid Webhook. Url syntax is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSigningSecretResponseXml:
description: InvalidSigningSecretResponseXml
value:
errorCode: 400-145
errorMessage: Invalid Webhook. Signing secret is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidSubscriptionTypeResponseXml:
description: InvalidSubscriptionTypeResponseXml
value:
errorCode: 400-146
errorMessage: Invalid Subscription Type. Subscription type is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidStartTimeResponseXml:
description: InvalidStartTimeResponseXml
value:
errorCode: 400-147
errorMessage: Start time is invalid.
diagnosticCode: 261d677a-a60e-4a2c-81a7-b55a0ae148c0
InvalidFrequencyResponseXml:
description: InvalidFrequencyResponseXml
value:
errorCode: 400-149
errorMessage: Frequency has invalid pattern.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyValueResponseXml:
description: InvalidFrequencyValueResponseXml
value:
errorCode: 400-150
errorMessage: Frequency value is invalid.
diagnosticCode: cceddfa1-90be-4a37-9b85-896223844f04
InvalidFrequencyTypeResponseXml:
description: InvalidFrequencyTypeResponseXml
value:
errorCode: 400-151
errorMessage: Frequency type is invalid.
diagnosticCode: e8bb70af-ab52-4bb3-a2cb-538801fc9ed4
InvalidFieldResponseXml:
description: InvalidFieldResponseXml
value:
errorCode: 400-157
errorMessage: One or more fields is invalid for provided subscription type.
diagnosticCode: dd1546d9-f8c3-4b86-bcec-8acbae92998b
EmptyCompanyIdsResponseXml:
description: EmptyCompanyIdsResponseXml
value:
errorCode: 400-158
errorMessage: At least one company ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
EmptyContactIdsResponseXml:
description: EmptyContactIdsResponseXml
value:
errorCode: 400-159
errorMessage: At least one contact ID must be provided.
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
CompanyIdsLimitExceededResponseXml:
description: CompanyIdsLimitExceededResponseXml
value:
errorCode: 400-160
errorMessage: Company ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
ContactIdsLimitExceededResponseXml:
description: ContactIdsLimitExceededResponseXml
value:
errorCode: 400-161
errorMessage: Contact ids exceeds the permissible limit for subscription job
diagnosticCode: a5631e82-0dfc-41ea-9ce8-8089ceff022f
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/subscriptions/{subscriptionId}/entityIds:
get:
tags:
- Subscription API
summary: Get Subscription Entity IDs
description: 'Retrieve all entity IDs (company or dbPerson) associated with a given subscription. The response is paginated
and depends on the type of subscription:
- For "company" or "companyFamilyTree" subscriptions, it returns Company IDs.
- For "dbPerson" subscriptions, it returns Demandbase Person IDs.
'
operationId: getSubscriptionEntityDetails
parameters:
- name: page
in: query
description: Page number for pagination. Default is 1.
required: false
schema:
type: integer
minimum: 1
default: 1
example: 1
- name: perPage
in: query
description: Number of results per page. Default is 5000, maximum is 5000.
required: false
schema:
type: integer
minimum: 1
maximum: 5000
default: 5000
example: 10
- name: subscriptionId
in: path
description: Unique identifier for the subscription
required: true
schema:
type: string
example: 287ea0c8-99de-4f0c-addc-097f78b48ba6
responses:
'200':
description: Entity ID list retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionEntityDetailsDTO'
examples:
Company IDs - JSON:
description: Company IDs - JSON
value:
companyIds:
- '643462'
- '1042601'
- '643223'
- '642023'
- '26176'
- '643886'
- '848207'
- '741359'
- '643768'
- '642647'
pageNo: 1
totalCount: 10
pageSize: 50
totalPages: 1
DB Person IDs - JSON:
description: DB Person IDs - JSON
value:
dbPersonIds:
- '643462'
- '1042601'
- '643223'
- '642023'
- '26176'
- '643886'
- '848207'
- '741359'
- '643768'
- '642647'
pageNo: 1
totalCount: 10
pageSize: 50
totalPages: 1
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionEntityDetailsDTO'
examples:
Company IDs - XML:
description: Company IDs - XML
value:
companyIds:
- '643462'
- '1042601'
- '643223'
- '642023'
- '26176'
- '643886'
- '848207'
- '741359'
- '643768'
- '642647'
pageNo: 1
totalCount: 10
pageSize: 50
totalPages: 1
DB Person IDs - XML:
description: DB Person IDs - XML
value:
dbPersonIds:
- '643462'
- '1042601'
- '643223'
- '642023'
- '26176'
- '643886'
- '848207'
- '741359'
- '643768'
- '642647'
pageNo: 1
totalCount: 10
pageSize: 50
totalPages: 1
'401':
description: Unauthorized. Access token is missing or invalid.
content:
application/json:
examples:
Unauthorized:
description: Unauthorized
value:
status: Authentication Failed - Unauthorized.
'404':
description: The subscription ID was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Subscription Not Found:
description: Subscription Not Found
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Subscription Not Found - XML:
description: Subscription Not Found - XML
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/subscriptions/{subscriptionId}/alerts/{alertId}:
get:
tags:
- Subscription API
summary: Retrieve a Specific Subscription Alert
description: "Retrieve detailed alert updates for a specific subscription using its subscription ID and alert ID. Use\
\ `List Subscription Alerts` API to fetch latest alerts.\n\nThis endpoint returns the specific fields or news categories\
\ that triggered the alert, depending on the type of subscription:\n\n- **company**: Returns a list of company IDs\
\ and the fields that changed (e.g., name, address).\n- **companynews**: Returns company IDs and related news articles\
\ with timestamps.\n- **companyfamilytree**:\n - Identifies companies added to or removed from the family tree.\n\
\ - Includes migration messages if the root company itself was acquired.\n- **dbPerson**: Returns person IDs with\
\ changed fields, as well as detailed employment-level field updates per contact ID.\n\nThe response is paginated\
\ and supports high-volume results (e.g., up to 5,000 entities per page).\n"
operationId: getSubscriptionAlertDetails
parameters:
- name: page
in: query
description: Page number for pagination. Default is 1.
required: false
schema:
type: integer
minimum: 1
default: 1
example: 1
examples:
default:
value: 1
- name: perPage
in: query
description: Number of results per page. Default is 5000, maximum is 5000.
required: false
schema:
type: integer
minimum: 1
maximum: 5000
default: 5000
example: 10
examples:
default:
value: 10
- name: subscriptionId
in: path
description: Unique identifier for the subscription
required: true
schema:
type: string
examples:
Subscription ID Example:
description: Subscription ID Example
value: 287ea0c8-99de-4f0c-addc-097f78b48ba6
- name: alertId
in: path
description: Unique identifier for the alert
required: true
schema:
type: string
examples:
Alert ID Example:
description: Alert ID Example
value: '1001'
responses:
'200':
description: Alert details retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/GetAlertDefinitionDTO'
examples:
Company Subscription:
description: Company Subscription
value:
companyAlertDetails:
- companyId: '6265'
fields:
- employees
- companyId: '677586'
fields:
- employees
- companyId: '724368'
fields:
- companyStatusV2
- revenue
- businessStructure
- companyStatus
- employees
- companyId: '751147'
fields:
- employees
- companyId: '25321'
fields:
- employees
- companyId: '15191'
fields:
- employees
- companyId: '712000'
fields:
- employees
- companyId: '966735'
fields:
- employees
- companyId: '2992705'
fields:
- companyStatusV2
- revenue
- businessStructure
- companyStatus
- companyId: '966833'
fields:
- employees
- companyId: '51212245'
fields:
- address
- businessStructure
- employeeRange
- companyStatus
- employees
- companyId: '1040416'
fields:
- employees
subscriptionType: company
pageNo: 1
pageSize: 100
totalCount: 12
totalPages: 1
Company FamilyTree Subscription:
description: Company FamilyTree Subscription
value:
companyFamilyTreeAlertDetails:
- companyId: 3224482
companyFamilyTreeChanges:
addedCompanies:
- 13632710
- companyId: 738676
message: Subscription updated to reflect change in ultimateParentCompanyId 738676 to 728897
companyFamilyTreeChanges:
addedCompanies:
- 70890552
- 70691787
newUltimateParentCompanyId: 728897
- companyId: 170251
companyFamilyTreeChanges:
addedCompanies:
- 50218062
- 17639086
- 542141
- 228887064
- 37166
- companyId: 206558
message: Subscription updated to reflect change in ultimateParentCompanyId 206558 to 16266
companyFamilyTreeChanges:
addedCompanies:
- 5715422
- 3508924
- 16266
newUltimateParentCompanyId: 16266
- companyId: 9958529
companyFamilyTreeChanges:
addedCompanies:
- 69526170
- companyId: 27879
companyFamilyTreeChanges:
addedCompanies:
- 10368186
deletedCompanies:
- 10368186
subscriptionType: companyfamilytree
pageNo: 1
pageSize: 10
totalCount: 6
totalPages: 1
Company News Subscription:
description: Company News Subscription
value:
companyNewsAlertDetails:
- companyId: '727291'
articleUrl: https://uapi-article.db-data-api-prod.demandbase.com/data/b2b/v1/article/12356799690888
timestamp: '2025-05-22T10:32:04.096+05:30'
newsCategories:
- RESEARCH_DEVELOPMENT
- ACQUISITIONS
- companyId: '811797'
articleUrl: https://uapi-article.db-data-api-prod.demandbase.com/data/b2b/v1/article/56799755433
timestamp: '2025-05-22T10:38:08.040+05:30'
newsCategories:
- RESEARCH_DEVELOPMENT
- ACQUISITIONS
subscriptionType: companynews
pageNo: 1
pageSize: 10
totalCount: 2
totalPages: 1
DB Person Subscription:
description: DB Person Subscription
value:
dbPersonAlertDetails:
- dbPersonId: '25243'
fields:
- age
- dbPersonId: '87192237'
employments:
- contactId: '368220796'
fields:
- email
subscriptionType: dbPerson
pageNo: 3
pageSize: 2
totalCount: 55
totalPages: 28
application/xml:
schema:
$ref: '#/components/schemas/GetAlertDefinitionDTO'
examples:
Company Subscription - XML:
description: Company Subscription - XML
value:
companyAlertDetails:
- companyId: '6265'
fields:
- employees
- companyId: '677586'
fields:
- employees
- companyId: '724368'
fields:
- companyStatusV2
- revenue
- businessStructure
- companyStatus
- employees
- companyId: '751147'
fields:
- employees
- companyId: '25321'
fields:
- employees
- companyId: '15191'
fields:
- employees
- companyId: '712000'
fields:
- employees
- companyId: '966735'
fields:
- employees
- companyId: '2992705'
fields:
- companyStatusV2
- revenue
- businessStructure
- companyStatus
- companyId: '966833'
fields:
- employees
- companyId: '51212245'
fields:
- address
- businessStructure
- employeeRange
- companyStatus
- employees
- companyId: '1040416'
fields:
- employees
subscriptionType: company
pageNo: 1
pageSize: 100
totalCount: 12
totalPages: 1
Company FamilyTree Subscription - XML:
description: Company FamilyTree Subscription - XML
value:
companyFamilyTreeAlertDetails:
- companyId: 3224482
companyFamilyTreeChanges:
addedCompanies:
- 13632710
- companyId: 738676
message: Subscription updated to reflect change in ultimateParentCompanyId 738676 to 728897
companyFamilyTreeChanges:
addedCompanies:
- 70890552
- 70691787
newUltimateParentCompanyId: 728897
- companyId: 170251
companyFamilyTreeChanges:
addedCompanies:
- 50218062
- 17639086
- 542141
- 228887064
- 37166
- companyId: 206558
message: Subscription updated to reflect change in ultimateParentCompanyId 206558 to 16266
companyFamilyTreeChanges:
addedCompanies:
- 5715422
- 3508924
- 16266
newUltimateParentCompanyId: 16266
- companyId: 9958529
companyFamilyTreeChanges:
addedCompanies:
- 69526170
- companyId: 27879
companyFamilyTreeChanges:
addedCompanies:
- 10368186
deletedCompanies:
- 10368186
subscriptionType: companyfamilytree
pageNo: 1
pageSize: 10
totalCount: 6
totalPages: 1
Company News Subscription - XML:
description: Company News Subscription - XML
value:
companyNewsAlertDetails:
- companyId: '727291'
articleUrl: https://uapi-article.db-data-api-prod.demandbase.com/data/b2b/v1/article/12356799690888
timestamp: '2025-05-22T10:32:04.096+05:30'
newsCategories:
- RESEARCH_DEVELOPMENT
- ACQUISITIONS
- companyId: '811797'
articleUrl: https://uapi-article.db-data-api-prod.demandbase.com/data/b2b/v1/article/56799755433
timestamp: '2025-05-22T10:38:08.040+05:30'
newsCategories:
- RESEARCH_DEVELOPMENT
- ACQUISITIONS
subscriptionType: companynews
pageNo: 1
pageSize: 10
totalCount: 2
totalPages: 1
DB Person Subscription - XML:
description: DB Person Subscription - XML
value:
dbPersonAlertDetails:
- dbPersonId: '25243'
fields:
- age
- dbPersonId: '87192237'
employments:
- contactId: '368220796'
fields:
- email
subscriptionType: dbPerson
pageNo: 3
pageSize: 2
totalCount: 55
totalPages: 28
'401':
description: Unauthorized. Authentication credentials are missing or invalid.
content:
application/json:
examples:
Unauthorized:
description: Unauthorized
value:
status: Authentication Failed - Unauthorized.
'404':
description: The subscription or alert ID was not found.
content:
application/json:
examples:
Subscription Not Found:
description: Subscription Not Found
value:
errorCode: 404-104
errorMessage: Subscription ID does not exist.
diagnosticCode: e227ac59-49f8-459e-ab7d-b5b3ce398d21
Alert Not Found:
description: Alert Not Found
value:
errorCode: 404-105
errorMessage: Alert ID does not exist.
diagnosticCode: 845778f8-db95-45e3-80ec-5087191264cc
application/xml:
schema:
type: object
title: error
format: xml
examples:
Subscription Not Found - XML:
description: Subscription Not Found - XML
value:
errorCode: 404-104
errorMessage: Subscription ID does not exist.
diagnosticCode: e227ac59-49f8-459e-ab7d-b5b3ce398d21
Alert Not Found - XML:
description: Alert Not Found - XML
value:
errorCode: 404-105
errorMessage: Alert ID does not exist.
diagnosticCode: 845778f8-db95-45e3-80ec-5087191264cc
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/subscriptions/{subscriptionId}/alerts:
get:
tags:
- Subscription API
summary: List Subscription Alerts
description: 'Retrieve a paginated list of alerts generated for the specified subscription ID. Each alert includes:
- `alertId`: unique identifier for the alert
- `createdAt`: timestamp of when the alert was generated
Results are sorted in descending order of `createdAt` (most recent first).
'
operationId: getSubscriptionAlertsList
parameters:
- name: page
in: query
description: Page number for pagination. Default is 1.
required: false
schema:
type: integer
default: 1
example: 1
examples:
default:
value: 1
- name: perPage
in: query
description: Number of results per page. Default is 10, maximum is 50.
required: false
schema:
type: integer
default: 10
example: 10
examples:
default:
value: 10
- name: subscriptionId
in: path
description: Unique identifier for the subscription
required: true
schema:
type: string
example: 287ea0c8-99de-4f0c-addc-097f78b48ba6
examples:
default:
value: 287ea0c8-99de-4f0c-addc-097f78b48ba6
responses:
'200':
description: Subscription alert details list fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetAlertsResponseDTO'
examples:
Success Response:
description: Success Response
value:
alerts:
- alertId: 3
createdAt: '2025-05-23T15:25:56.202+05:30'
pageNo: 1
pageSize: 2
totalCount: 1
totalPages: 1
application/xml:
schema:
$ref: '#/components/schemas/GetAlertsResponseDTO'
examples:
Success Response:
description: Success Response
value:
alerts:
- alertId: 3
createdAt: '2025-05-23T15:25:56.202+05:30'
pageNo: 1
pageSize: 2
totalCount: 1
totalPages: 1
'401':
description: Unauthorized because the user is not authenticated.
content:
application/json:
examples:
UnauthorizedResponse:
description: UnauthorizedResponse
value:
status: Authentication Failed - Unauthorized.
'404':
description: Not Found
content:
application/json:
examples:
SubscriptionNotFoundErrorResponse:
description: SubscriptionNotFoundErrorResponse
value:
errorCode: 404-104
errorMessage: Subscription ID does not exist.
diagnosticCode: e227ac59-49f8-459e-ab7d-b5b3ce398d21
application/xml:
schema:
type: object
title: error
format: xml
examples:
SubscriptionNotFoundErrorResponseXml:
description: SubscriptionNotFoundErrorResponseXml
value:
errorCode: 404-104
errorMessage: Subscription ID does not exist.
diagnosticCode: e227ac59-49f8-459e-ab7d-b5b3ce398d21
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
/subscriptions/{subscriptionId}:
get:
tags:
- Subscription API
summary: Retrieve Subscription Details
description: 'Fetch detailed information for a specific subscription using its subscription ID.
The response includes:
- Subscription type (e.g., company, dbPerson, companyNews, companyFamilyTree)
- Frequency and start date
- Next scheduled notification time
- Webhook configuration details (if applicable)
- Tracked fields or subscribed news categories, depending on the subscription type
'
operationId: getSubscriptionDetails
parameters:
- name: subscriptionId
in: path
description: Unique identifier for the subscription
required: true
schema:
type: string
example: 287ea0c8-99de-4f0c-addc-097f78b48ba6
examples:
default:
value: 287ea0c8-99de-4f0c-addc-097f78b48ba6
responses:
'200':
description: Subscription details retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionDetailsResponse'
examples:
Company Subscription - JSON:
description: Company Subscription - JSON
value:
startDate: '2025-06-25'
createdAt: '2025-06-25T09:02:56.994Z'
frequency: 2d
fields:
- revenue
- phone
- websites
- name
webhook:
url: http://www.your-domain.com/webhook
status: VERIFICATION_RUNNING
signingSecret: secret-key
subscriptionType: company
name: testSubscription
description: Testing Bulk Jobs
nextFireTime: '2025-05-22T00:00:00.000Z'
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionDetailsResponse'
examples:
Company Subscription - XML:
description: Company Subscription - XML
value:
startDate: '2025-06-25'
createdAt: '2025-06-25T09:02:56.994Z'
frequency: 2d
fields:
- revenue
- phone
- websites
- name
webhook:
url: http://www.your-domain.com/webhook
status: VERIFICATION_RUNNING
signingSecret: secret-key
subscriptionType: company
name: testSubscription
description: Testing Bulk Jobs
nextFireTime: '2025-05-22T00:00:00.000Z'
'400':
description: The subscription exists but is not accessible by the current user.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Unauthorized Subscription Access:
description: Unauthorized Subscription Access
value:
errorCode: 400-140
errorMessage: Subscription belongs to a different user. You do not have access.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Unauthorized Subscription Access - XML:
description: Unauthorized Subscription Access - XML
value:
errorCode: 400-140
errorMessage: Subscription belongs to a different user. You do not have access.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
'401':
description: Unauthorized. The request lacks valid authentication credentials.
content:
application/json:
examples:
Unauthorized Access:
description: Unauthorized Access
value:
status: Authentication Failed - Unauthorized.
'404':
description: The subscription ID was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Subscription Not Found:
description: Subscription Not Found
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Subscription Not Found - XML:
description: Subscription Not Found - XML
value:
errorCode: 404-100
errorMessage: Invalid ID, record not found.
diagnosticCode: ccb84f25-236e-4bcf-be01-88b7dd673fb4
security:
- bearerAuth: []
servers:
- url: https://uapi.demandbase.com/data/b2b/v1
description: Server URL in Production environment
delete:
tags:
- Subscription API
summary: Delete a Subscription
description: 'Permanently delete a subscription using its subscription ID. This operation removes the subscription from
the system and halts all future notifications or alerts related to it.
'
operationId: deleteSubscription
parameters:
- name: subscriptionId
in: path
description: Unique identifier for the subscription
required: true
schema:
type: string
example: 287ea0c8-99de-4f0c-addc-097f78b48ba6
examples:
default:
value: 287ea0c8-99de-4f0c-addc-097f78b48ba6
responses:
'200':
description: Subscription was deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionDeleteResponse'
examples:
Success - JSON:
description: Success - JSON
value:
subscriptionId: 63914a27-a5ca-4fdf-80b0-ffc985f53c14
message: Subscription deleted successfully
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionDeleteResponse'
examples:
Success - XML:
description: Success - XML
value:
subscriptionId: 63914a27-a5ca-4fdf-80b0-ffc985f53c14
message: Subscription deleted successfully
'401':
description: Unauthorized. The request lacks valid authentication credentials.
content:
application/json:
examples:
Unauthorized Access:
description: Unauthorized Access
value:
status: Authentication Failed - Unauthorized.
'404':
description: Subscription not found or already deleted.
content:
application/json:
examples:
Subscription Not Found:
description: Subscription Not Found
value:
errorCode: 404-104
errorMessage: Subscription ID does not exist.
diagnosticCode: 7d31a7f2-6b68-45fe-bccc-0f147d8313dc
application/xml:
examples:
Subscription Not Found - XML:
description: Subscription Not Found - XML
value: "\n