Positions
These endpoints allow you to manage job positions within the recruitment system. Positions represent roles that need to be filled.
Positions can have various statuses including standby, open, and closed. Note that positions cannot be updated once they’re in open or closed status.
Each position must be associated with an organizational unit and tracks who created and last updated it.
Endpoints
get /api/v3/recruitment/positions post /api/v3/recruitment/positions patch /api/v3/recruitment/positions/:id/close get /api/v3/recruitment/positions/:id/list_relevant_candidates patch /api/v3/recruitment/positions/:id/open get /api/v3/recruitment/positions/:resource_id patch /api/v3/recruitment/positions/:resource_id post /api/v3/recruitment/positions/generate_job_description
get/api/v3/recruitment/positions
Return a paginated list of recruitment/positions
Input Schema
object
object
object
The key is the resource type and the value is an array of fields.
dictionary
Typescript
type InputSchema = {
page?: {
// The page number, default to 1
number?: number;
// The number of items per page, default to 1000
size?: number;
};
// The sort order, comma separated list of fields. See sorting section for more details
sort?: string;
// Set to true to return the total number of items in the collection
count?: boolean;
filter?: {
id?: any;
name?: any;
job_description?: any;
status?: any;
target_date?: any;
hiring_count?: any;
hired_count?: any;
hiring_reason?: any;
contract_type?: any;
requestor_id?: any;
pipeline_template_id?: any;
query_id?: any;
organizational_unit?: any;
related_project_id?: any;
related_organization_id?: any;
created_at?: any;
updated_at?: any;
created_by_id?: any;
updated_by_id?: any;
name__match?: any;
status?: any;
organizational_unit?: any;
target_date__gte?: any;
target_date__lte?: any;
contract_type?: any;
hiring_reason?: any;
related_organization_id?: any;
related_project_id__in?: any;
created_by_id__in?: any;
requestor_id__in?: any;
};
// The fields to include in the response.
// The key is the resource type and the value is an array of fields.
fields?: { [key: string]: Array<any> };
};
Output Schema
object
array
object
object
array
Typescript
type OutputSchema = {
data: Array<{
type: string;
id?: string;
attributes?: {
id?: number;
name?: string;
job_description?: string;
status?: string;
target_date?: Date;
hiring_count?: number;
hired_count?: number;
hiring_reason?: string;
contract_type?: string;
requestor_id?: number;
pipeline_template_id?: number;
query_id?: number;
organizational_unit?: string;
related_project_id?: number | null;
related_organization_id?: number | null;
created_at?: Date;
updated_at?: Date;
created_by_id?: number;
updated_by_id?: number;
};
relationships?: Record<string, any>;
}>;
included?: Array<Record<string, any>>;
};
post/api/v3/recruitment/positions
Create a new recruitment/positions
Input Schema
object
object
object
Typescript
type InputSchema = {
data: {
type: string;
attributes: {
id?: number;
name?: string;
job_description?: string;
status?: string;
target_date?: Date;
hiring_count?: number;
hired_count?: number;
hiring_reason?: string;
contract_type?: string;
requestor_id?: number;
pipeline_template_id?: number;
query_id?: number;
organizational_unit?: string;
related_project_id?: number | null;
related_organization_id?: number | null;
created_at?: Date;
updated_at?: Date;
created_by_id?: number;
updated_by_id?: number;
};
};
};
patch/api/v3/recruitment/positions/:id/close
Close a position from recruitment
Input Schema
object
Typescript
type InputSchema = { id: string };
get/api/v3/recruitment/positions/:id/list_relevant_candidates
List relevant candidates with talent search feature
Input Schema
object
Typescript
type InputSchema = { id: number; organizational_unit: string };
patch/api/v3/recruitment/positions/:id/open
Open a position for recruitment
Input Schema
object
Typescript
type InputSchema = { id: string };
get/api/v3/recruitment/positions/:resource_id
Show a specific recruitment/positions
Input Schema
object
array
dictionary
Typescript
type InputSchema = {
resource_id: number;
included?: Array<string>;
fields?: { [key: string]: Array<any> };
};
Output Schema
object
object
object
array
Typescript
type OutputSchema = {
data: {
type: string;
id?: string;
attributes?: {
id?: number;
name?: string;
job_description?: string;
status?: string;
target_date?: Date;
hiring_count?: number;
hired_count?: number;
hiring_reason?: string;
contract_type?: string;
requestor_id?: number;
pipeline_template_id?: number;
query_id?: number;
organizational_unit?: string;
related_project_id?: number | null;
related_organization_id?: number | null;
created_at?: Date;
updated_at?: Date;
created_by_id?: number;
updated_by_id?: number;
};
relationships?: Record<string, any>;
};
included?: Array<Record<string, any>>;
};
patch/api/v3/recruitment/positions/:resource_id
Update a recruitment/positions
Input Schema
object
object
object
Typescript
type InputSchema = {
resource_id: number;
data: {
type: string;
attributes: {
id?: number;
name?: string;
job_description?: string;
status?: string;
target_date?: Date;
hiring_count?: number;
hired_count?: number;
hiring_reason?: string;
contract_type?: string;
requestor_id?: number;
pipeline_template_id?: number;
query_id?: number;
organizational_unit?: string;
related_project_id?: number | null;
related_organization_id?: number | null;
updated_at?: Date;
updated_by_id?: number;
};
};
};
post/api/v3/recruitment/positions/generate_job_description
Generate job description with AI
Input Schema
object
object
object
Typescript
type InputSchema = { data: { attributes: { prompt: string } } };