List job openings
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.
Request
- Base URLhttps://api.commonroom.io/api/v2
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Prefixed organization ID (format o_<number>) whose job openings to read. Required unless objectId is given.
Prefixed custom object ID (format co_<number>) whose job openings to read. Resolves through the object's associated organization, falling back to the object's own domain. Required unless organizationId is given. Using this parameter also requires the objects:read scope.
The maximum number of job openings to return per page
Pagination cursor from a previous response
Comma-separated list of additional columns to include in the response. Valid column value: jobDescription. The meta column recordCount can be requested to return the total number of matching job openings in meta.recordCount.
Sort field
Sort direction
Structured filter as URL-encoded JSON — see the LightFilterExpression schema for the grammar. Conditions are combined (AND) with the other query parameters. An organizationId or objectId clause inside the filter is hoisted to the corresponding query parameter, so the required scope can be supplied either way.
Filterable fields:
| Field | Filter type | Operators | Description |
|---|---|---|---|
| organizationId | stringFilter | eq | Scope the results to one organization (this or objectId, exactly one — as a filter clause or the query parameter). Use organization IDs from GET /organizations (format o_<number>). |
| objectId | stringFilter | eq | Scope the results to the organization associated with one custom object, falling back to the object's own domain (this or organizationId, exactly one). Use object IDs from GET /objects (format co_<number>). |
| jobOpeningKeyword | stringListFilter | any, all, none | Free-text search over job title and description. Applies a workspace-configured recency and status window (open postings first seen in roughly the last 28 days by default); use jobOpeningTitle, jobOpeningFirstSeen, or jobOpeningStatus when the window must be explicit and predictable. |
| jobOpeningTitle | stringListFilter | any, all, none | Filter job openings by title. |
| jobOpeningStatus | stringFilter | eq | Filter job openings by status. Valid values: open, closed. |
| jobOpeningSeniority | stringListFilter | any, none | Filter job openings by seniority level. Valid values: owner, founder, c_level, partner, president, vice_president, head, director, manager, non_manager, mid_senior, junior. The seniority itself is not returned as a column. |
| jobOpeningFirstSeen | dateRangeFilter | in, between, after, before | Filter job openings by the date the posting was originally published or first discovered. |
| jobOpeningLastSeen | dateRangeFilter | in, between, after, before | Filter job openings by the most recent date the posting was still observed as active. |
| jobOpeningGeolocation | stringListFilter | any, none | Filter job openings by location ID(s). Use location IDs from GET /locations. |
Groups don't accept a target: send null for target, objectConfigId and targetAssocPaths. Scope job openings with organizationId or objectId instead; any target returns a 400.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.