Common Room API v2 for accessing contact and organization data.
For v1 and RTBF APIs see the V1 API documentation.
The OpenAPI spec for this API is available as JSON at api-v2.json.
To use the Common Room API, you will need to create an API token.
To create an API token:
Use a Core API JWT as a Bearer token in the Authentication header.
Tokens can be created by room Admins through https://app.commonroom.io/
Example:
curl -H "Authorization: Bearer abcd123.xzy" \
https://api.commonroom.io/community/v1/api-token-status| Security Scheme Type | HTTP |
|---|---|
| HTTP Authorization Scheme | bearer |
| Bearer format | "JWT" |
List endpoints such as GET /contacts, GET /organizations, GET /activities,
and GET /objects/{objectTypeId} accept a lightFilter query parameter: the
URL-encoded JSON of a LightFilterExpression. The filterable field names and
the operators each accepts are listed in the lightFilter parameter of each
endpoint; the shared grammar is documented here.
Example — contacts in a segment who were active in the last 30 days:
{
"type": "and",
"clauses": [
{ "type": "stringListFilter", "field": "memberSegmentId", "params": { "op": "any", "value": ["s_123456"] } },
{ "type": "dateRangeFilter", "field": "memberLastActivity", "params": { "op": "in", "value": "P30D", "min": null, "max": null } }
]
}
| type required | string Enum: "and" "or" How to combine top-level clauses: "and" = all must match, "or" = any can match |
required | Array of any (LightFilterClause) non-empty Array of filter conditions — leaf clauses or nested groups. |
{- "type": "and",
- "clauses": [
- {
- "type": "booleanFilter",
- "field": "string",
- "params": {
- "op": "string",
- "value": true
}
}
]
}Apply the same change to up to 100 contacts in one request. The request must include at least one of segmentId, tagIdsToAdd, tagIdsToRemove, or customFields. Every ID, the segment, the tags, and the custom fields are validated before anything is written, and an error names every offending ID. Each change is idempotent: contacts already in the segment are skipped, so a request that fails part-way can be retried as a whole. Requires the contacts:write scope.
| contactIds required | Array of strings [ 1 .. 100 ] items Prefixed contact IDs (format |
| segmentId | string Add every contact to this segment (format |
| tagIdsToAdd | Array of strings <= 25 items Tag IDs (format |
| tagIdsToRemove | Array of strings <= 25 items Tag IDs (format |
Array of objects (BulkCustomFieldUpdates) non-empty Custom-field values to set on every record in the request. |
{- "contactIds": [
- "string"
], - "segmentId": "string",
- "tagIdsToAdd": [
- "string"
], - "tagIdsToRemove": [
- "string"
], - "customFields": [
- {
- "customFieldId": "string",
- "customFieldValue": {
- "type": "string",
- "value": "string"
}
}
]
}{- "success": true,
- "data": {
- "ids": [
- "string"
]
}
}Retrieve a specific contact by their unique identifier.
| id required | string The prefixed contact ID (format |
| cols | string Comma-separated list of additional columns to include in the response.
Valid values: |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "fullName": "string",
- "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "primaryEmail": "string",
- "phoneNumbers": [
- {
- "type": "string",
- "value": "string",
- "isPremium": true
}
], - "title": "string",
- "companyName": "string",
- "companyWebsite": "string",
- "connectedCustomObjects": [
- {
- "id": "string",
- "name": "string",
- "objectType": "string"
}
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "profiles": [
- {
- "type": "string",
- "value": "string"
}
], - "jobHistory": [
- {
- "company": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string"
}
], - "fullJobHistory": [
- {
- "company": "string",
- "domain": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string",
- "isCurrent": true
}
], - "jobChangeDate": "string",
- "currentCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "previousCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "segments": [
- {
- "id": "string",
- "name": "string"
}
], - "recentWebPages": [
- {
- "url": "string",
- "numVisits": 0
}
], - "recentWebVisitsNumber": 0,
- "recentActivities": [
- {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
], - "activityCount7d": 0,
- "activityCount28d": 0,
- "activityCount8w": 0,
- "activityCount12w": 0,
- "activityCount6m": 0,
- "activityCount1y": 0,
- "activityCountAll": 0,
- "activateMessage": {
- "title": "string",
- "message": "string"
}, - "sparkSummary": "string",
- "recentSparkSummaries": [
- "string"
], - "tags": [
- "string"
],
}
}Delete a contact from the workspace, the same way deleting a contact in the Common Room app does. If the contact was merged into another contact, the contact it was merged into is deleted. Deleting a contact that is already deleted succeeds. Contacts who can log in to the workspace cannot be deleted. This is not a privacy erasure; for right-to-be-forgotten requests use POST /right-to-be-forgotten-requests. Requires the contacts:write scope and a role that can delete contacts.
| id required | string The prefixed contact ID (format |
{- "success": false,
- "error": {
- "code": "insufficient_scope",
- "message": "string"
}
}Retrieve a list of contacts with pagination support.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of contacts to return per page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sort | string Default: "id" Field to sort results by. One of: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| direction | string Default: "asc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| organizationId | string Filter contacts by prefixed organization ID (format | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| segmentId | string Filter contacts by segment ID (e.g. s_123456) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "fullName": "string",
- "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "primaryEmail": "string",
- "phoneNumbers": [
- {
- "type": "string",
- "value": "string",
- "isPremium": true
}
], - "title": "string",
- "companyName": "string",
- "companyWebsite": "string",
- "connectedCustomObjects": [
- {
- "id": "string",
- "name": "string",
- "objectType": "string"
}
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "profiles": [
- {
- "type": "string",
- "value": "string"
}
], - "jobHistory": [
- {
- "company": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string"
}
], - "fullJobHistory": [
- {
- "company": "string",
- "domain": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string",
- "isCurrent": true
}
], - "jobChangeDate": "string",
- "currentCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "previousCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "segments": [
- {
- "id": "string",
- "name": "string"
}
], - "recentWebPages": [
- {
- "url": "string",
- "numVisits": 0
}
], - "recentWebVisitsNumber": 0,
- "recentActivities": [
- {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
], - "activityCount7d": 0,
- "activityCount28d": 0,
- "activityCount8w": 0,
- "activityCount12w": 0,
- "activityCount6m": 0,
- "activityCount1y": 0,
- "activityCountAll": 0,
- "activateMessage": {
- "title": "string",
- "message": "string"
}, - "sparkSummary": "string",
- "recentSparkSummaries": [
- "string"
], - "tags": [
- "string"
],
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Delete up to 100 contacts in one request, the same way deleting contacts in the Common Room app does. The ids parameter is required; this endpoint never deletes all contacts. Every ID is validated before anything is deleted, and an error names every offending ID. A merged contact ID deletes the contact it was merged into. Contacts that are already deleted are skipped, so a request can be retried as a whole. Contacts who can log in to the workspace cannot be deleted. This is not a privacy erasure; for right-to-be-forgotten requests use POST /right-to-be-forgotten-requests. Requires the contacts:write scope and a role that can delete contacts.
| ids required | string Comma-separated list of 1 to 100 prefixed contact IDs (format |
{- "success": true,
- "data": {
- "results": [
- {
- "id": "string",
- "deletedId": "string"
}
]
}
}Apply the same change to up to 100 organizations in one request. The request must include at least one of segmentId, tagIdsToAdd, tagIdsToRemove, or customFields. Every ID, the segment, the tags, and the custom fields are validated before anything is written, and an error names every offending ID. Each change is idempotent: organizations already in the segment are skipped, so a request that fails part-way can be retried as a whole. Requires the organizations:write scope.
| organizationIds required | Array of strings [ 1 .. 100 ] items Prefixed organization IDs (format |
| segmentId | string Add every organization to this segment (format |
| tagIdsToAdd | Array of strings <= 25 items Tag IDs (format |
| tagIdsToRemove | Array of strings <= 25 items Tag IDs (format |
Array of objects (BulkCustomFieldUpdates) non-empty Custom-field values to set on every record in the request. |
{- "organizationIds": [
- "string"
], - "segmentId": "string",
- "tagIdsToAdd": [
- "string"
], - "tagIdsToRemove": [
- "string"
], - "customFields": [
- {
- "customFieldId": "string",
- "customFieldValue": {
- "type": "string",
- "value": "string"
}
}
]
}{- "success": true,
- "data": {
- "ids": [
- "string"
]
}
}Retrieve a specific organization by its unique identifier.
| id required | string The prefixed organization ID (format |
| cols | string Comma-separated list of additional columns to include in the response.
Valid values: |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "primaryDomain": "string",
- "about": "string",
- "contactsCount": 0,
- "employees": 0,
- "linkedInUrl": "string",
- "revenueRangeMax": 0,
- "revenueRangeMin": 0,
- "subIndustry": "string",
- "technologies": [
- "string"
], - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "researchResults": [
- {
- "promptId": "string",
- "answer": "string",
- "isPrimaryPrompt": true,
- "promptName": "string"
}
], - "recentJobOpenings": [
- {
- "jobTitle": "string",
- "jobDescription": "string",
- "firstSeenAt": "string",
- "isClosed": true,
- "location": "string"
}
], - "recentNews": [
- {
- "title": "string",
- "publishedAt": "string",
- "category": "string",
- "articleSentence": "string"
}
], - "surgingTopics": [
- "string"
], - "tags": [
- "string"
], - "topContacts": [
- {
- "id": "string",
- "name": "string",
- "fullName": "string",
- "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "primaryEmail": "string",
- "phoneNumbers": [
- {
- "type": "string",
- "value": "string",
- "isPremium": true
}
], - "title": "string",
- "companyName": "string",
- "companyWebsite": "string",
- "connectedCustomObjects": [
- {
- "id": "string",
- "name": "string",
- "objectType": "string"
}
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "profiles": [
- {
- "type": "string",
- "value": "string"
}
], - "jobHistory": [
- {
- "company": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string"
}
], - "fullJobHistory": [
- {
- "company": "string",
- "domain": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string",
- "isCurrent": true
}
], - "jobChangeDate": "string",
- "currentCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "previousCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "segments": [
- {
- "id": "string",
- "name": "string"
}
], - "recentWebPages": [
- {
- "url": "string",
- "numVisits": 0
}
], - "recentWebVisitsNumber": 0,
- "recentActivities": [
- {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
], - "activityCount7d": 0,
- "activityCount28d": 0,
- "activityCount8w": 0,
- "activityCount12w": 0,
- "activityCount6m": 0,
- "activityCount1y": 0,
- "activityCountAll": 0,
- "activateMessage": {
- "title": "string",
- "message": "string"
}, - "sparkSummary": "string",
- "recentSparkSummaries": [
- "string"
], - "tags": [
- "string"
],
}
],
}
}Retrieve a list of organizations with pagination support.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of organizations to return per page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sort | string Default: "id" Field to sort results by. One of: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| direction | string Default: "asc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name | string Filter organizations by exact name match | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| primaryDomain | string Filter organizations by primary domain (exact match) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "primaryDomain": "string",
- "about": "string",
- "contactsCount": 0,
- "employees": 0,
- "linkedInUrl": "string",
- "revenueRangeMax": 0,
- "revenueRangeMin": 0,
- "subIndustry": "string",
- "technologies": [
- "string"
], - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "researchResults": [
- {
- "promptId": "string",
- "answer": "string",
- "isPrimaryPrompt": true,
- "promptName": "string"
}
], - "recentJobOpenings": [
- {
- "jobTitle": "string",
- "jobDescription": "string",
- "firstSeenAt": "string",
- "isClosed": true,
- "location": "string"
}
], - "recentNews": [
- {
- "title": "string",
- "publishedAt": "string",
- "category": "string",
- "articleSentence": "string"
}
], - "surgingTopics": [
- "string"
], - "tags": [
- "string"
], - "topContacts": [
- {
- "id": "string",
- "name": "string",
- "fullName": "string",
- "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "primaryEmail": "string",
- "phoneNumbers": [
- {
- "type": "string",
- "value": "string",
- "isPremium": true
}
], - "title": "string",
- "companyName": "string",
- "companyWebsite": "string",
- "connectedCustomObjects": [
- {
- "id": "string",
- "name": "string",
- "objectType": "string"
}
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}, - "profiles": [
- {
- "type": "string",
- "value": "string"
}
], - "jobHistory": [
- {
- "company": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string"
}
], - "fullJobHistory": [
- {
- "company": "string",
- "domain": "string",
- "title": "string",
- "startDate": "string",
- "endDate": "string",
- "isCurrent": true
}
], - "jobChangeDate": "string",
- "currentCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "previousCompany": {
- "companyName": "string",
- "domain": "string",
- "isCurrent": true,
- "jobTitle": "string",
- "startDate": "string",
- "endDate": "string",
- "seniority": "string",
- "employeeCount": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "industry": {
- "naicsCodes": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "subIndustry": "string"
}, - "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}
}, - "leadScores": [
- {
- "scoreId": 0,
- "score": 0,
- "percentile": 0
}
], - "leadScoreKeyFactors": [
- {
- "scoreId": 0,
- "factors": [
- {
- "label": "string",
- "value": "string",
- "strength": 0
}
]
}
], - "segments": [
- {
- "id": "string",
- "name": "string"
}
], - "recentWebPages": [
- {
- "url": "string",
- "numVisits": 0
}
], - "recentWebVisitsNumber": 0,
- "recentActivities": [
- {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
], - "activityCount7d": 0,
- "activityCount28d": 0,
- "activityCount8w": 0,
- "activityCount12w": 0,
- "activityCount6m": 0,
- "activityCount1y": 0,
- "activityCountAll": 0,
- "activateMessage": {
- "title": "string",
- "message": "string"
}, - "sparkSummary": "string",
- "recentSparkSummaries": [
- "string"
], - "tags": [
- "string"
],
}
],
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a specific activity by its unique identifier.
| id required | string The prefixed activity ID (format |
| cols | string Comma-separated list of additional columns to include in the response.
Valid values: |
{- "success": true,
- "data": {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
}Retrieve a list of activities with pagination support.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of activities to return per page | ||||||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||||||||||||||
| sort | string Default: "activityTime" Enum: "id" "activityTime" Field to sort results by. | ||||||||||||||||||||||||||||||||||||||||||||
| direction | string Default: "asc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||||||||||||||||||||||||||||||||||
| contactId | string Filter activities by prefixed contact ID (format | ||||||||||||||||||||||||||||||||||||||||||||
| organizationId | string Filter activities by prefixed organization ID (format | ||||||||||||||||||||||||||||||||||||||||||||
| startDate | string <date-time> Only return activities occurring at or after this ISO-8601 datetime | ||||||||||||||||||||||||||||||||||||||||||||
| endDate | string <date-time> Only return activities occurring at or before this ISO-8601 datetime | ||||||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "type": "string",
- "activityTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "content": "string",
- "isUserInitiated": true,
- "participantCount": 0,
- "providerId": "string",
- "providerName": "string",
- "replyCount": 0,
- "sentiment": "string",
- "subSourceNames": [
- "string"
],
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}List all activity type identifiers supported by Common Room, along with
their human-readable display names. Use the id as the type value
returned by /activities.
{- "success": true,
- "data": [
- {
- "id": "string",
- "displayName": "string"
}
]
}Update the name of an existing segment without changing its ID, entity type, or memberships.
| id required | string The prefixed segment ID (format |
| name required | string <= 500 characters |
{- "name": "string"
}{- "success": true,
- "data": {
- "id": "string",
- "name": "string"
}
}Retrieve a specific segment by its unique identifier.
| id required | string The prefixed segment ID (format |
| cols | string Comma-separated list of additional columns to include in the response.
Valid values: |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "entityType": "contact",
- "entityCount": 0,
- "summary": "string",
- "automationStatus": "paused"
}
}Retrieve a list of segments with pagination support.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of segments to return per page |
| cursor | string Pagination cursor from a previous response |
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: |
| query | string Filter segments by name (substring match) |
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "entityType": "contact",
- "entityCount": 0,
- "summary": "string",
- "automationStatus": "paused"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Create a new segment in the community.
| name required | string The name for the new segment (max 500 characters) |
| description | string Optional description for the segment (markdown supported) |
| entityType | string Default: "contact" Enum: "contact" "object" "organization" The type of entity this segment will contain |
| objectTypeId | string Required when entityType is |
{- "name": "string",
- "description": "string",
- "entityType": "contact",
- "objectTypeId": "string"
}{- "success": true,
- "data": {
- "id": "string",
- "name": "string"
}
}Retrieve a specific custom field definition by its unique identifier.
| id required | string The prefixed custom field ID (format |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "entityTypes": [
- "contact"
], - "keyField": true,
- "valueType": "string",
- "sampleValues": [
- {
- "type": "string",
- "value": "string"
}
], - "description": "string",
- "targetSubTypes": [
- "string"
], - "providedBy": "string",
- "objectTypeId": "string"
}
}Retrieve all custom field definitions for the community, optionally filtered by entity type.
| entityType | string Filter fields by entity type. Valid values: |
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "entityTypes": [
- "contact"
], - "keyField": true,
- "valueType": "string",
- "sampleValues": [
- {
- "type": "string",
- "value": "string"
}
], - "description": "string",
- "targetSubTypes": [
- "string"
], - "providedBy": "string",
- "objectTypeId": "string"
}
]
}Retrieve a specific lead score definition by its unique identifier.
| id required | string The prefixed lead score ID (format |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "enabled": true,
- "entityType": "contact",
- "isPrimaryScore": true,
- "outputType": "percentile"
}
}Retrieve all lead score definitions for the community.
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "enabled": true,
- "entityType": "contact",
- "isPrimaryScore": true,
- "outputType": "percentile"
}
]
}Retrieve information about the authenticated user, including their profile, bookmarked segments, personas, and company details.
{- "success": true,
- "data": {
- "id": "string",
- "communityId": "string",
- "name": "string",
- "title": "string",
- "role": "string",
- "loginEmail": "string",
- "profiles": [
- {
- "type": "string",
- "handle": "string"
}
], - "segments": [
- {
- "id": "string",
- "name": "string"
}
], - "personas": [
- {
- "id": "string",
- "name": "string"
}
], - "company": {
- "name": "string",
- "domains": [
- "string"
], - "summary": "string"
}
}
}Notify Common Room that new data is available for import from a connected data source. This triggers import and augmentation workflows for the specified provider.
| sourceId required | integer The numeric provider ID of the data source |
{- "sourceId": 0
}{- "success": true
}Retrieve a specific location by its unique identifier.
| id required | string The prefixed location ID |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "type": "city",
- "city": "string",
- "region": "string",
- "country": "string"
}
}Retrieve a paginated list of locations, sorted by member count (descending).
| locationType required | string Enum: "city" "country" "country_region" "world_region" The granularity of locations to return (required) |
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of locations to return per page |
| cursor | string Pagination cursor from a previous response |
| cols | string Comma-separated list of meta columns. The meta column |
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "type": "city",
- "city": "string",
- "region": "string",
- "country": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a paginated list of topics, sorted alphabetically by name.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of topics to return per page |
| cursor | string Pagination cursor from a previous response |
| query | string Filter topics by display name prefix |
| cols | string Comma-separated list of meta columns. The meta column |
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}List the visible signal sources (integrations) for the community, with pagination support.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of providers to return per page |
| cursor | string Pagination cursor from a previous response |
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "serviceName": "string"
}
], - "meta": {
- "nextCursor": "string"
}
}Apply the same change to up to 100 custom objects in one request. The request must include at least one of segmentId, tagIdsToAdd, tagIdsToRemove, or customFields. Every ID, the segment, the tags, and the custom fields are validated before anything is written, and an error names every offending ID. A tag must be scoped to the object type of every listed object. Each change is idempotent: custom objects already in the segment are skipped, so a request that fails part-way can be retried as a whole. Requires the objects:write scope.
| objectIds required | Array of strings [ 1 .. 100 ] items Prefixed custom object IDs (format |
| segmentId | string Add every custom object to this segment (format |
| tagIdsToAdd | Array of strings <= 25 items Tag IDs (format |
| tagIdsToRemove | Array of strings <= 25 items Tag IDs (format |
Array of objects (BulkCustomFieldUpdates) non-empty Custom-field values to set on every record in the request. |
{- "objectIds": [
- "string"
], - "segmentId": "string",
- "tagIdsToAdd": [
- "string"
], - "tagIdsToRemove": [
- "string"
], - "customFields": [
- {
- "customFieldId": "string",
- "customFieldValue": {
- "type": "string",
- "value": "string"
}
}
]
}{- "success": true,
- "data": {
- "ids": [
- "string"
]
}
}Retrieve a specific custom object by its unique identifier.
| id required | string The prefixed custom object ID (format |
| cols | string Comma-separated list of additional columns to include in the response.
Valid values: |
{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "recordKey": "string",
- "tags": [
- "string"
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}
}
}Set Common Room custom-field values on a custom object record.
| id required | string The prefixed custom object ID (format |
required | Array of objects non-empty |
{- "customFields": [
- {
- "customFieldId": "string",
- "customFieldValue": {
- "type": "string",
- "value": "string"
}
}
]
}{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "recordKey": "string",
- "tags": [
- "string"
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}
}
}Add a custom object record to an existing object segment.
| id required | string The prefixed custom object ID (format |
| segmentId required | string The prefixed segment ID (format |
{- "segmentId": "string"
}{- "success": true,
- "data": {
- "id": "string",
- "name": "string",
- "recordKey": "string",
- "tags": [
- "string"
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}
}
}Retrieve a paginated list of custom objects.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of objects to return per page | ||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||
| sort | string Default: "id" Enum: "id" "name" Field to sort results by | ||||||||||||||||||||||||||||||||
| direction | string Default: "asc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||||||||||
| objectTypeId required | string Filter objects by prefixed object type ID (format | ||||||||||||||||||||||||||||||||
| segmentId | string Filter objects by prefixed segment ID (format | ||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "recordKey": "string",
- "tags": [
- "string"
], - "customFields": {
- "property1": {
- "type": "string",
- "value": "string"
}, - "property2": {
- "type": "string",
- "value": "string"
}
}
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve all custom object type definitions for the community, including their associations to other entity types.
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "assocs": [
- {
- "objectAssocType": "string",
- "targetEntity": "string",
- "targetObjectTypeId": "string"
}
]
}
]
}Retrieve a paginated list of website visits.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of visits to return per page | ||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||
| contactId | string Filter visits by prefixed contact ID (format | ||||||||||||
| organizationId | string Filter visits by prefixed organization ID (format | ||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "visitTime": "2019-08-24T14:15:22Z",
- "contactId": "string",
- "organizationId": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a paginated list of prospector-discovered contacts.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of contacts to return per page | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
Filtering by company: to filter on a contact's current company, add a group
whose
Company fields:
The company fields, operators and values are the same as on
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "companyName": "string",
- "fullName": "string",
- "linkedInFollowerCount": 0,
- "linkedInHandle": "string",
- "location": {
- "city": "string",
- "region": "string",
- "country": "string",
- "countryCode": "string"
}, - "role": "string",
- "seniority": "string",
- "skills": [
- "string"
], - "title": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a paginated list of prospector-discovered companies.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of companies to return per page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column values: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "employees": 0,
- "linkedInHandles": [
- "string"
], - "location": {
- "address": "string",
- "city": "string",
- "state": "string",
- "country": "string",
- "countryCode": "string"
}, - "primaryWebsite": "string",
- "raised": 0,
- "revenueRange": {
- "min": 0,
- "max": 0
}, - "subIndustry": "string",
- "technologies": [
- "string"
]
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a paginated list of NAICS industry codes, optionally filtered by search query.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of codes to return per page |
| cursor | string Pagination cursor from a previous response |
| query | string Search text to filter industry codes by name |
{- "success": true,
- "data": [
- {
- "id": "string",
- "code": 0,
- "name": "string"
}
], - "meta": {
- "nextCursor": "string"
}
}Retrieve a paginated list of technographic products, optionally filtered by search query.
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of products to return per page |
| cursor | string Pagination cursor from a previous response |
| query | string Search text to filter products by name |
{- "success": true,
- "data": [
- {
- "id": "string",
- "product": "string",
- "vendor": "string"
}
], - "meta": {
- "nextCursor": "string"
}
}Request erasure of a person's data under a privacy law such as the GDPR or CCPA.
Use this endpoint only for privacy / right-to-be-forgotten requests. To remove
contacts as routine data cleanup, use DELETE /contacts instead.
A right-to-be-forgotten request is irreversible:
Requests are processed daily. Poll
GET /right-to-be-forgotten-requests/{id} (the Location header) to see when
a request has been processed. The email is never returned by the API.
Requires the contacts:write scope and a role that can create
right-to-be-forgotten requests.
| email required | string The email address to erase, at most 254 characters. Matching is case-insensitive. |
{- "email": "string"
}{- "success": true,
- "data": {
- "id": "string",
- "status": "pending",
- "createdAt": "2019-08-24T14:15:22Z",
- "processedAt": "2019-08-24T14:15:22Z"
}
}Retrieve the status of a right-to-be-forgotten request. The email is never returned. Requires the contacts:read scope.
| id required | string The prefixed request ID (format |
{- "success": true,
- "data": {
- "id": "string",
- "status": "pending",
- "createdAt": "2019-08-24T14:15:22Z",
- "processedAt": "2019-08-24T14:15:22Z"
}
}Lists the entities, dimensions, filters and metrics that GET /analytics/query accepts. Read it
before building a query: metric keys, the groupings each metric supports and filter keys come from here.
The token must grant analytics:read (or the encompassing read scope).
{- "success": true,
- "data": {
- "entities": [
- { }
], - "dimensions": [
- { }
], - "filters": [
- { }
], - "metrics": [
- { }
]
}
}Computes catalog metrics for the reps on a set of teams, as one total or broken down by
groupBy, over a window (range, or start and end) or on a date (asOf, snapshot
metrics only). Every request names who it covers with personaIds (teams, including their
sub-teams), memberIds (reps), or both. Admins can query every team, and managers with Editor
permission the teams they manage and their sub-teams. A team or rep outside the caller's scope
fails the whole request.
groupBy=action lists the actions behind repAction metrics, newest first, in pages: pass
meta.nextCursor back as cursor for the next page. Other results come whole in one response.
The token must grant analytics:read (or the encompassing read scope); action rows carry
contact emails and Salesforce ids, so groupBy=action also needs contacts:read.
Example request, completed tasks per rep on two teams over the last 7 days, as in the app:
curl --get 'https://api.commonroom.io/api/v2/analytics/query' \
--header "Authorization: Bearer $COMMON_ROOM_API_TOKEN" \
--data-urlencode 'metrics=tasksMarkedDone' \
--data-urlencode 'groupBy=rep' \
--data-urlencode 'personaIds=p_31' \
--data-urlencode 'personaIds=p_32' \
--data-urlencode 'range=P7D' \
--data-urlencode 'timeZone=America/Los_Angeles'
| metrics required | Array of strings Metric keys from the catalog, repeated ( |
| groupBy | Array of strings Dimension keys, repeated. Every metric must support the combination. Omit for one row covering everyone. |
| range | string Example: range=P7D ISO 8601 duration of at most a year. Durations of a day or longer end at the start of tomorrow in
|
| start | string <date-time> Inclusive window start, ISO 8601 with offset. URL-encode a |
| end | string <date-time> Exclusive window end, in the same format as |
| asOf | string <date> A date for a point-in-time query. Only metrics with |
| timeZone | string Default: "UTC" IANA time zone for |
| personaIds | Array of strings Teams to report on, repeated, including their sub-teams. |
| memberIds | Array of strings Reps to report on by contact id, repeated. With |
| segmentIds | Array of strings Only actions taken in these segments, repeated. |
| sepDestinations | Array of strings Only sends to these destinations, repeated; the catalog lists the workspace's. |
| repMetrics | Array of strings Only actions that count toward one of these rep metrics, repeated. |
| sort | string A requested metric or a column of a grouped dimension. Nulls sort last. Action rows sort only by |
| direction | string Default: "desc" Enum: "asc" "desc" Sort order. Only with |
| limit | integer [ 1 .. 500 ] Keep the first N rows after sorting. Only with |
| cursor | string The |
{- "success": true,
- "data": [
- {
- "repId": "c_907",
- "repName": "Grace Hopper",
- "teamId": "p_31",
- "teamName": "West",
- "lastActiveAt": "2026-10-19T16:02:11.000Z",
- "lastActionedAt": "2026-10-19T15:40:03.000Z",
- "tasksMarkedDone": 7
}
], - "meta": {
- "entity": "rep",
- "groupBy": [
- "rep"
], - "time": {
- "start": "2026-10-13T00:00:00.000-07:00",
- "end": "2026-10-20T00:00:00.000-07:00",
- "timeZone": "America/Los_Angeles"
}, - "scope": {
- "teams": [
- {
- "id": "p_31",
- "name": "West"
}
], - "repCount": 1
}, - "columns": [
- {
- "name": "repId",
- "role": "dimension"
}, - {
- "name": "repName",
- "role": "dimension"
}, - {
- "name": "teamId",
- "role": "attribute",
- "nullable": true
}, - {
- "name": "teamName",
- "role": "attribute",
- "nullable": true
}, - {
- "name": "lastActiveAt",
- "role": "attribute",
- "type": "timestamp",
- "nullable": true
}, - {
- "name": "lastActionedAt",
- "role": "attribute",
- "type": "timestamp",
- "nullable": true
}, - {
- "name": "tasksMarkedDone",
- "role": "metric",
- "unit": "task",
- "temporality": "window"
}
], - "rowCount": 1,
- "totalRows": 1,
- "notes": [ ]
}
}| query | string Optional prefix used to filter job titles. |
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of job titles to return per page, up to 1000. |
| cursor | string Opaque best-effort cursor from a previous response. Reuse a cursor with the same sort and direction; concurrent writes may affect pagination consistency. |
| sort | string Default: "alphabetical" Enum: "popularity" "alphabetical" Leading sort factor. Popularity orders by count with raw job title ascending as the tie-breaker; alphabetical orders by raw job title with count descending as the tie-breaker. |
| direction | string Default: "asc" Enum: "asc" "desc" Direction for the leading sort factor. Defaults to desc for popularity and asc for alphabetical. |
{- "success": true,
- "data": [
- {
- "value": "string"
}
], - "meta": {
- "nextCursor": "string"
}
}Retrieve the materialized buying committee cells for one organization. The full committee is returned in a single response — this endpoint is not paginated. Cells are returned in the same seniority-row and department-column order as the product. Every cell includes its full bounded list of available ranked contacts.
A buying committee must already be configured in the workspace. The
token must grant organizations:read, contacts:read, and
prospector:read (or the encompassing read scope).
Candidates are a ranked sample using up to five engagement-ranked and
five recently touched candidates per cell, not every eligible person. Prospector
emails are intentionally withheld and returned as null, matching the
buying committee view in the product. Cells without available candidates have an
empty contacts array.
meta.nextCursor is always null. Pagination parameters, sorting,
filters other than organizationId, and retrieving a cell by ID
are not supported.
Example request:
curl --get 'https://api.commonroom.io/api/v2/buying-committee-cells' \
--header "Authorization: Bearer $COMMON_ROOM_API_TOKEN" \
--data-urlencode 'organizationId=o_123' \
--data-urlencode 'cols=recordCount'
| organizationId required | string^o_[0-9]+$ Example: organizationId=o_123 Organization ID in the authenticated workspace whose buying committee should be read |
| cols | string Comma-separated columns. Use |
{- "success": true,
- "data": [
- {
- "id": "buying-committee-cell:o_123:200:106",
- "department": {
- "id": 200,
- "key": "Sales",
- "name": "Sales"
}, - "seniority": {
- "id": 106,
- "key": "CLevel",
- "name": "C-Level"
}, - "contacts": [ ]
}
], - "meta": {
- "nextCursor": null,
- "recordCount": 1
}
}Retrieve a paginated list of job postings for one organization or custom object. Exactly one of organizationId or objectId is required: postings live in a corpus keyed by company domain, so they are only readable within the scope of a record you already have.
| organizationId | string Prefixed organization ID (format | ||||||||||||||||||||||||||||||||||||||||
| objectId | string Prefixed custom object ID (format | ||||||||||||||||||||||||||||||||||||||||
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of job openings to return per page | ||||||||||||||||||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||||||||||||||||||
| cols | string Comma-separated list of additional columns to include in the response.
Valid column value: | ||||||||||||||||||||||||||||||||||||||||
| sort | string Value: "firstSeenAt" Sort field | ||||||||||||||||||||||||||||||||||||||||
| direction | string Default: "desc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "jobTitle": "string",
- "firstSeenAt": "2019-08-24T14:15:22Z",
- "isClosed": true,
- "location": "string",
- "jobDescription": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}Retrieve a paginated list of news articles for one organization or custom object. Exactly one of organizationId or objectId is required: articles live in a corpus keyed by company domain, so they are only readable within the scope of a record you already have.
| organizationId | string Prefixed organization ID (format | ||||||||||||||||||||||||
| objectId | string Prefixed custom object ID (format | ||||||||||||||||||||||||
| limit | integer [ 1 .. 1000 ] Default: 50 The maximum number of news items to return per page | ||||||||||||||||||||||||
| cursor | string Pagination cursor from a previous response | ||||||||||||||||||||||||
| cols | string News items have no opt-in columns; every field is always returned.
The meta column | ||||||||||||||||||||||||
| sort | string Value: "publishedAt" Sort field | ||||||||||||||||||||||||
| direction | string Default: "desc" Enum: "asc" "desc" Sort direction | ||||||||||||||||||||||||
object (LightFilterExpression) Structured filter as URL-encoded JSON — see the Filterable fields:
|
{- "success": true,
- "data": [
- {
- "id": "string",
- "title": "string",
- "publishedAt": "2019-08-24T14:15:22Z",
- "category": "string",
- "articleSentence": "string"
}
], - "meta": {
- "nextCursor": "string",
- "recordCount": 0
}
}