Job Catalog

Usage

Fetch job catalog levels, roles, and nodes:

import asyncio
import factorialhr

async def main():
    auth = factorialhr.AccessTokenAuth("your_access_token")
    async with factorialhr.ApiClient(auth=auth) as api:
        levels = factorialhr.LevelsEndpoint(api)
        for level in (await levels.all()).data():
            print(level.name)
        roles = factorialhr.RolesEndpoint(api)
        response = await roles.get(params={"page": 1})
        for role in response.data():
            print(role.name)
        tree = factorialhr.TreeNodesEndpoint(api)
        for node in (await tree.all()).data():
            print(node.name, node.node_type)

asyncio.run(main())

Enums

class factorialhr.JobCatalogNodeType(*values)[source]

Bases: StrEnum

Enum for job catalog node types.

FAMILY = 'jobcatalog_treefamily'
FUNCTION = 'jobcatalog_treefunction'
LEVEL = 'jobcatalog_treelevel'
ROLE = 'jobcatalog_treerole'
ROOT = 'jobcatalog_treeroot'

Models and endpoints

class factorialhr.Jobcataloglevel(*, id: int, role_id: int, name: str, role_name: str, order: int, archived: bool, is_default: bool)[source]

Model for job_catalog_level.

archived: bool

Shows if the role is archived

id: int

Identifier for the job catalog level

is_default: bool

Shows if the level is the default one

name: str

Level name

order: int

Order of the level

role_id: int

Identifier for the job catalog role

role_name: str

Role name

class factorialhr.JobCatalogNode(*, type: JobCatalogNodeType, uuid: str, ancestor_uuid: str | None = None, name: str, description: str | None = None, created_at: datetime, updated_at: datetime, full_path_to_root: Sequence[str] | None = None, job_catalog_title: str | None = None)[source]

Model for job_catalog_node. JobCatalog Tree Node.

ancestor_uuid: str | None

Parent node UUID

created_at: datetime

Creation date

description: str | None

Description

full_path_to_root: Sequence[str] | None

Full path from root to this node

job_catalog_title: str | None

Full title that represents the job position

name: str

Node name

type: JobCatalogNodeType

Node type

updated_at: datetime

Last update date

uuid: str

Node UUID

class factorialhr.Jobcatalogrole(*, id: int, company_id: int, name: str, description: str | None = None, legal_entities_ids: Sequence[int], supervisors_ids: Sequence[int] | None = None, competencies_ids: Sequence[int] | None = None, archived: bool)[source]

Model for job_catalog_role.

archived: bool

Shows if the role is archived

company_id: int

Identifier for the company

competencies_ids: Sequence[int] | None

List of competencies

description: str | None

Role description

id: int

Identifier for the job catalog role

legal_entities_ids: Sequence[int]

List of legal entities

name: str

Role name

supervisors_ids: Sequence[int] | None

List of supervisors

class factorialhr.LevelsEndpoint(api: ApiClient)[source]

Endpoint for job_catalog/levels operations.

async all(**kwargs) ListApiResponse[Jobcataloglevel][source]

Get all job catalog levels records.

Official documentation: job_catalog/levels

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing the list of records.

Return type:

ListApiResponse[Jobcataloglevel]

async get(**kwargs) MetaApiResponse[Jobcataloglevel][source]

Get job catalog levels with pagination metadata.

Official documentation: job_catalog/levels

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing records and pagination metadata.

Return type:

MetaApiResponse[Jobcataloglevel]

async get_by_id(level_id: int | str, **kwargs) Jobcataloglevel[source]

Get a specific job catalog level by ID.

Official documentation: job_catalog/levels

Parameters:
  • level_id (int | str) – The unique identifier.

  • kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

The record.

Return type:

Jobcataloglevel

class factorialhr.NodeAttribute(*, id: int, type: str, attribute_id: int, value_competency: Any | None = None, value_it_management_asset: Any | None = None, value_salary_range: Any | None = None, value_working_conditions: Any | None = None)[source]

Model for job_catalog_node_attribute. JobCatalog Node Attributes.

attribute_id: int

Attribute identifier

id: int

Node attribute identifier

type: str

Type of the attribute

value_competency: Any | None

Value when type is competency

value_it_management_asset: Any | None

Value when type is it_management_asset

value_salary_range: Any | None

Value when type is salary_range

value_working_conditions: Any | None

Value when type is working_conditions

class factorialhr.NodeAttributesEndpoint(api: ApiClient)[source]

Endpoint for job_catalog/node_attributes operations.

async all(**kwargs) ListApiResponse[NodeAttribute][source]

Get all node attributes.

Official documentation: job_catalog/node_attributes

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing the list of records.

Return type:

ListApiResponse[NodeAttribute]

async get(**kwargs) MetaApiResponse[NodeAttribute][source]

Get node attributes with pagination metadata.

Official documentation: job_catalog/node_attributes

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing records and pagination metadata.

Return type:

MetaApiResponse[NodeAttribute]

class factorialhr.RolesEndpoint(api: ApiClient)[source]

Endpoint for job_catalog/roles operations.

async all(**kwargs) ListApiResponse[Jobcatalogrole][source]

Get all job catalog roles records.

Official documentation: job_catalog/roles

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing the list of records.

Return type:

ListApiResponse[Jobcatalogrole]

async get(**kwargs) MetaApiResponse[Jobcatalogrole][source]

Get job catalog roles with pagination metadata.

Official documentation: job_catalog/roles

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing records and pagination metadata.

Return type:

MetaApiResponse[Jobcatalogrole]

async get_by_id(role_id: int | str, **kwargs) Jobcatalogrole[source]

Get a specific job catalog role by ID.

Official documentation: job_catalog/roles

Parameters:
  • role_id (int | str) – The unique identifier.

  • kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

The record.

Return type:

Jobcatalogrole

class factorialhr.TreeNodesEndpoint(api: ApiClient)[source]

Endpoint for job_catalog/tree_nodes operations.

async all(**kwargs) ListApiResponse[JobCatalogNode][source]

Get all tree nodes.

Official documentation: job_catalog/tree_nodes

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing the list of records.

Return type:

ListApiResponse[JobCatalogNode]

async get(**kwargs) MetaApiResponse[JobCatalogNode][source]

Get tree nodes with pagination metadata.

Official documentation: job_catalog/tree_nodes

Parameters:

kwargs (optional) – Optional keyword arguments (e.g. params for query string) forwarded to the HTTP request.

Raises:

httpx.HTTPStatusError – When the API returns an error status code.

Returns:

Response containing records and pagination metadata.

Return type:

MetaApiResponse[JobCatalogNode]