Actions
The ballerinax/microsoft.dynamics365.finance.hrdev package exposes the following clients:
| Client | Purpose |
|---|---|
Client | Provides full CRUD access to Microsoft Dynamics 365 Finance HR Development entities via the OData API. |
Client
Provides full CRUD access to Microsoft Dynamics 365 Finance HR Development entities via the OData API.
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
auth | OAuth2ClientCredentialsGrantConfig | Required | OAuth2 client credentials grant configuration used to authenticate with Microsoft Entra ID. |
httpVersion | http:HttpVersion | "2.0" | HTTP protocol version to use for outbound requests. |
http1Settings | http:ClientHttp1Settings | {} | HTTP/1.x client settings including keep-alive, chunking, and proxy configuration. |
secureSocket | http:ClientSecureSocket | () | SSL/TLS configuration for secure connections. |
proxy | http:ProxyConfig | () | Proxy server configuration. |
Initializing the client
import ballerinax/microsoft.dynamics365.finance.hrdev;
configurable string tokenUrl = ?;
configurable string clientId = ?;
configurable string clientSecret = ?;
configurable string serviceUrl = ?;
hrdev:Client fo = check new (
{
auth: {
tokenUrl,
clientId,
clientSecret
}
},
serviceUrl
);
Operations
Course Groups
listCourseGroups
Lists all course groups.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListCourseGroupsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: CourseGroupsCollection|error
Sample code:
hrdev:CourseGroupsCollection groups = check fo->listCourseGroups(
queries = {filter: "contains(Description,'Leadership')", top: 20}
);
createCourseGroups
Creates a course group.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | CourseGroup | Yes | Course group fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: CourseGroup|error
Sample code:
hrdev:CourseGroup created = check fo->createCourseGroups({
group: "LEAD",
description: "Leadership development"
});
getCourseGroups
Reads a course group by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
group | string | Yes | The group key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetCourseGroupsQueries | No | OData query parameters: $expand, $select. |
Returns: CourseGroup|error
Sample code:
hrdev:CourseGroup group = check fo->getCourseGroups("LEAD");
deleteCourseGroups
Deletes a course group.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
group | string | Yes | The group key field. |
headers | DeleteCourseGroupsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteCourseGroups("LEAD", headers = {ifMatch: eTag});
updateCourseGroups
Updates a course group.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
group | string | Yes | The group key field. |
payload | CourseGroup | Yes | Fields to update. |
headers | UpdateCourseGroupsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: CourseGroup|error
Sample code:
hrdev:CourseGroup updated = check fo->updateCourseGroups(
"LEAD",
{description: "Leadership & management development"},
headers = {ifMatch: eTag}
);
Job Tasks
listJobTasks
Lists all job tasks.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListJobTasksQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: JobTasksCollection|error
Sample code:
hrdev:JobTasksCollection tasks = check fo->listJobTasks(queries = {top: 25});
createJobTasks
Creates a job task.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | JobTask | Yes | Job task fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: JobTask|error
Sample code:
hrdev:JobTask created = check fo->createJobTasks({
jobTaskId: "JT-0100",
description: "Conduct client onboarding",
note: "Standard onboarding task"
});
getJobTasks
Reads a job task by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTaskId | string | Yes | The job task id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetJobTasksQueries | No | OData query parameters: $expand, $select. |
Returns: JobTask|error
Sample code:
hrdev:JobTask task = check fo->getJobTasks("JT-0100");
deleteJobTasks
Deletes a job task.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTaskId | string | Yes | The job task id key field. |
headers | DeleteJobTasksHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteJobTasks("JT-0100", headers = {ifMatch: eTag});
updateJobTasks
Updates a job task.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTaskId | string | Yes | The job task id key field. |
payload | JobTask | Yes | Fields to update. |
headers | UpdateJobTasksHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: JobTask|error
Sample code:
hrdev:JobTask updated = check fo->updateJobTasks(
"JT-0100",
{note: "Updated onboarding checklist"},
headers = {ifMatch: eTag}
);
Job Templates
listJobTemplates
Lists all job templates.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListJobTemplatesQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: JobTemplatesCollection|error
Sample code:
hrdev:JobTemplatesCollection templates = check fo->listJobTemplates();
createJobTemplates
Creates a job template.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | JobTemplate | Yes | Job template fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: JobTemplate|error
Sample code:
hrdev:JobTemplate created = check fo->createJobTemplates({
jobTemplate: "JOBTMPL-ENG-01",
description: "Software Engineer job template",
note: "Includes standard engineering job tasks"
});
getJobTemplates
Reads a job template by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTemplate | string | Yes | The job template key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetJobTemplatesQueries | No | OData query parameters: $expand, $select. |
Returns: JobTemplate|error
Sample code:
hrdev:JobTemplate template = check fo->getJobTemplates("JOBTMPL-ENG-01");
deleteJobTemplates
Deletes a job template.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTemplate | string | Yes | The job template key field. |
headers | DeleteJobTemplatesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteJobTemplates("JOBTMPL-ENG-01", headers = {ifMatch: eTag});
updateJobTemplates
Updates a job template.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
jobTemplate | string | Yes | The job template key field. |
payload | JobTemplate | Yes | Fields to update. |
headers | UpdateJobTemplatesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: JobTemplate|error
Sample code:
hrdev:JobTemplate updated = check fo->updateJobTemplates(
"JOBTMPL-ENG-01",
{description: "Senior Software Engineer job template"},
headers = {ifMatch: eTag}
);
Labor Unions
listLaborUnions
Lists all labor unions.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListLaborUnionsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: LaborUnionsCollection|error
Sample code:
hrdev:LaborUnionsCollection unions = check fo->listLaborUnions();
createLaborUnions
Creates a labor union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | LaborUnions | Yes | Labor union fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: LaborUnions|error
Sample code:
hrdev:LaborUnions created = check fo->createLaborUnions({
unionID: "LU-100",
name: "Metalworkers Union Local 100",
negotiator: "Yes"
});
getLaborUnions
Reads a labor union by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionID | string | Yes | The union id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetLaborUnionsQueries | No | OData query parameters: $expand, $select. |
Returns: LaborUnions|error
Sample code:
hrdev:LaborUnions union = check fo->getLaborUnions("LU-100");
deleteLaborUnions
Deletes a labor union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionID | string | Yes | The union id key field. |
headers | DeleteLaborUnionsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteLaborUnions("LU-100", headers = {ifMatch: eTag});
updateLaborUnions
Updates a labor union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionID | string | Yes | The union id key field. |
payload | LaborUnions | Yes | Fields to update. |
headers | UpdateLaborUnionsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: LaborUnions|error
Sample code:
hrdev:LaborUnions updated = check fo->updateLaborUnions(
"LU-100",
{negotiator: "No"},
headers = {ifMatch: eTag}
);
Loan Items
listLoanItems
Lists all loan items.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListLoanItemsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: LoanItemsCollection|error
Sample code:
hrdev:LoanItemsCollection items = check fo->listLoanItems(
queries = {filter: "LoanTypeId eq 'IT-EQUIP'"}
);
createLoanItems
Creates a loan item.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | LoanItem | Yes | Loan item fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: LoanItem|error
Sample code:
hrdev:LoanItem created = check fo->createLoanItems({
loanItemId: "LAPTOP-0007",
description: "Dell Latitude laptop",
gracePeriodDays: 5,
serialNumber: "SN-88213",
loanDays: 365,
loanTypeId: "IT-EQUIP",
personInCharge: "emp-00231",
taxReporting: "Taxable"
});
getLoanItems
Reads a loan item by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanItemId | string | Yes | The loan item id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetLoanItemsQueries | No | OData query parameters: $expand, $select. |
Returns: LoanItem|error
Sample code:
hrdev:LoanItem item = check fo->getLoanItems("LAPTOP-0007");
deleteLoanItems
Deletes a loan item.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanItemId | string | Yes | The loan item id key field. |
headers | DeleteLoanItemsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteLoanItems("LAPTOP-0007", headers = {ifMatch: eTag});
updateLoanItems
Updates a loan item.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanItemId | string | Yes | The loan item id key field. |
payload | LoanItem | Yes | Fields to update. |
headers | UpdateLoanItemsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: LoanItem|error
Sample code:
hrdev:LoanItem updated = check fo->updateLoanItems(
"LAPTOP-0007",
{personInCharge: "emp-00456"},
headers = {ifMatch: eTag}
);
Loan Types
listLoanTypes
Lists all loan types.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListLoanTypesQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: LoanTypesCollection|error
Sample code:
hrdev:LoanTypesCollection types = check fo->listLoanTypes();
createLoanTypes
Creates a loan type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | LoanType | Yes | Loan type fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: LoanType|error
Sample code:
hrdev:LoanType created = check fo->createLoanTypes({
loanTypeId: "IT-EQUIP",
description: "IT equipment loans",
gracePeriodDays: 5
});
getLoanTypes
Reads a loan type by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanTypeId | string | Yes | The loan type id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetLoanTypesQueries | No | OData query parameters: $expand, $select. |
Returns: LoanType|error
Sample code:
hrdev:LoanType loanType = check fo->getLoanTypes("IT-EQUIP");
deleteLoanTypes
Deletes a loan type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanTypeId | string | Yes | The loan type id key field. |
headers | DeleteLoanTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteLoanTypes("IT-EQUIP", headers = {ifMatch: eTag});
updateLoanTypes
Updates a loan type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
loanTypeId | string | Yes | The loan type id key field. |
payload | LoanType | Yes | Fields to update. |
headers | UpdateLoanTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: LoanType|error
Sample code:
hrdev:LoanType updated = check fo->updateLoanTypes(
"IT-EQUIP",
{gracePeriodDays: 7},
headers = {ifMatch: eTag}
);
Position Types
listPositionTypes
Lists all position types.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListPositionTypesQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: PositionTypesCollection|error
Sample code:
hrdev:PositionTypesCollection types = check fo->listPositionTypes();
createPositionTypes
Creates a position type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | PositionType | Yes | Position type fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: PositionType|error
Sample code:
hrdev:PositionType created = check fo->createPositionTypes({
positionTypeId: "FTE-ENG",
description: "Full-time engineering position",
classification: "FullTime"
});
getPositionTypes
Reads a position type by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
positionTypeId | string | Yes | The position type id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetPositionTypesQueries | No | OData query parameters: $expand, $select. |
Returns: PositionType|error
Sample code:
hrdev:PositionType positionType = check fo->getPositionTypes("FTE-ENG");
deletePositionTypes
Deletes a position type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
positionTypeId | string | Yes | The position type id key field. |
headers | DeletePositionTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deletePositionTypes("FTE-ENG", headers = {ifMatch: eTag});
updatePositionTypes
Updates a position type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
positionTypeId | string | Yes | The position type id key field. |
payload | PositionType | Yes | Fields to update. |
headers | UpdatePositionTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: PositionType|error
Sample code:
hrdev:PositionType updated = check fo->updatePositionTypes(
"FTE-ENG",
{classification: "PartTime"},
headers = {ifMatch: eTag}
);
Rating Levels
listRatingLevels
Lists all rating levels.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListRatingLevelsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: RatingLevelsCollection|error
Sample code:
hrdev:RatingLevelsCollection levels = check fo->listRatingLevels(
queries = {filter: "RatingModelId eq 'TECH-SKILLS'"}
);
createRatingLevels
Creates a rating level.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | RatingLevel | Yes | Rating level fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: RatingLevel|error
Sample code:
hrdev:RatingLevel created = check fo->createRatingLevels({
ratingLevelId: "EXPERT",
ratingModelId: "TECH-SKILLS",
description: "Expert proficiency",
factor: 5,
note: "Recognized subject matter expert"
});
getRatingLevels
Reads a rating level by its composite key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingLevelId | string | Yes | The rating level id key field. |
ratingModelId | string | Yes | The rating model id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetRatingLevelsQueries | No | OData query parameters: $expand, $select. |
Returns: RatingLevel|error
Sample code:
hrdev:RatingLevel level = check fo->getRatingLevels("EXPERT", "TECH-SKILLS");
deleteRatingLevels
Deletes a rating level.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingLevelId | string | Yes | The rating level id key field. |
ratingModelId | string | Yes | The rating model id key field. |
headers | DeleteRatingLevelsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteRatingLevels("EXPERT", "TECH-SKILLS", headers = {ifMatch: eTag});
updateRatingLevels
Updates a rating level.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingLevelId | string | Yes | The rating level id key field. |
ratingModelId | string | Yes | The rating model id key field. |
payload | RatingLevel | Yes | Fields to update. |
headers | UpdateRatingLevelsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: RatingLevel|error
Sample code:
hrdev:RatingLevel updated = check fo->updateRatingLevels(
"EXPERT",
"TECH-SKILLS",
{factor: 6},
headers = {ifMatch: eTag}
);
Rating Models
listRatingModels
Lists all rating models.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListRatingModelsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: RatingModelsCollection|error
Sample code:
hrdev:RatingModelsCollection models = check fo->listRatingModels();
createRatingModels
Creates a rating model.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | RatingModel | Yes | Rating model fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: RatingModel|error
Sample code:
hrdev:RatingModel created = check fo->createRatingModels({
ratingModelId: "TECH-SKILLS",
description: "Technical skills rating model"
});
getRatingModels
Reads a rating model by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingModelId | string | Yes | The rating model id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetRatingModelsQueries | No | OData query parameters: $expand, $select. |
Returns: RatingModel|error
Sample code:
hrdev:RatingModel model = check fo->getRatingModels("TECH-SKILLS");
deleteRatingModels
Deletes a rating model.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingModelId | string | Yes | The rating model id key field. |
headers | DeleteRatingModelsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteRatingModels("TECH-SKILLS", headers = {ifMatch: eTag});
updateRatingModels
Updates a rating model.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
ratingModelId | string | Yes | The rating model id key field. |
payload | RatingModel | Yes | Fields to update. |
headers | UpdateRatingModelsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: RatingModel|error
Sample code:
hrdev:RatingModel updated = check fo->updateRatingModels(
"TECH-SKILLS",
{description: "Technical & platform skills rating model"},
headers = {ifMatch: eTag}
);
Skill Types
listSkillTypes
Lists all skill types.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListSkillTypesQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: SkillTypesCollection|error
Sample code:
hrdev:SkillTypesCollection types = check fo->listSkillTypes();
createSkillTypes
Creates a skill type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | SkillType | Yes | Skill type fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: SkillType|error
Sample code:
hrdev:SkillType created = check fo->createSkillTypes({
skillType: "TECHNICAL",
description: "Technical skills",
color: 4
});
getSkillTypes
Reads a skill type by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skillType | string | Yes | The skill type key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetSkillTypesQueries | No | OData query parameters: $expand, $select. |
Returns: SkillType|error
Sample code:
hrdev:SkillType skillType = check fo->getSkillTypes("TECHNICAL");
deleteSkillTypes
Deletes a skill type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skillType | string | Yes | The skill type key field. |
headers | DeleteSkillTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteSkillTypes("TECHNICAL", headers = {ifMatch: eTag});
updateSkillTypes
Updates a skill type.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skillType | string | Yes | The skill type key field. |
payload | SkillType | Yes | Fields to update. |
headers | UpdateSkillTypesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: SkillType|error
Sample code:
hrdev:SkillType updated = check fo->updateSkillTypes(
"TECHNICAL",
{color: 6},
headers = {ifMatch: eTag}
);
Skills
listSkills
Lists all skills.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListSkillsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: SkillsCollection|error
Sample code:
hrdev:SkillsCollection skills = check fo->listSkills(
queries = {filter: "SkillTypeId eq 'TECHNICAL'"}
);
createSkills
Creates a skill.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | Skill | Yes | Skill fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: Skill|error
Sample code:
hrdev:Skill created = check fo->createSkills({
skill: "INTEGRATION-DEV",
ratingId: "TECH-SKILLS",
description: "Integration platform development",
note: "Includes API and connector design",
skillTypeId: "TECHNICAL"
});
getSkills
Reads a skill by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skill | string | Yes | The skill key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetSkillsQueries | No | OData query parameters: $expand, $select. |
Returns: Skill|error
Sample code:
hrdev:Skill skill = check fo->getSkills("INTEGRATION-DEV");
deleteSkills
Deletes a skill.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skill | string | Yes | The skill key field. |
headers | DeleteSkillsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteSkills("INTEGRATION-DEV", headers = {ifMatch: eTag});
updateSkills
Updates a skill.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
skill | string | Yes | The skill key field. |
payload | Skill | Yes | Fields to update. |
headers | UpdateSkillsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: Skill|error
Sample code:
hrdev:Skill updated = check fo->updateSkills(
"INTEGRATION-DEV",
{note: "Includes API, connector, and event-driven design"},
headers = {ifMatch: eTag}
);
Team Members
listTeamMembers
Lists all team members.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListTeamMembersQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: TeamMembersCollection|error
Sample code:
hrdev:TeamMembersCollection members = check fo->listTeamMembers(
queries = {filter: "TeamPartyNumber eq '000123'"}
);
createTeamMembers
Creates a team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | TeamMember | Yes | Team member fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: TeamMember|error
Sample code:
hrdev:TeamMember created = check fo->createTeamMembers({
relationshipTypeId: "TeamMember",
teamMemberPartyNumber: "000512",
teamPartyNumber: "000123",
teamMemberName: "Jordan Lee",
teamName: "Platform Engineering",
validFrom: "2026-01-01T00:00:00Z",
validTo: "2154-12-31T00:00:00Z"
});
getTeamMembers
Reads a team member by its composite key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
relationshipTypeId | string | Yes | The relationship type id key field. |
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamPartyNumber | string | Yes | The team party number key field. |
validTo | string | Yes | The valid to key field. |
validFrom | string | Yes | The valid from key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetTeamMembersQueries | No | OData query parameters: $expand, $select. |
Returns: TeamMember|error
Sample code:
hrdev:TeamMember member = check fo->getTeamMembers(
"TeamMember",
"000512",
"000123",
"2154-12-31T00:00:00Z",
"2026-01-01T00:00:00Z"
);
deleteTeamMembers
Deletes a team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
relationshipTypeId | string | Yes | The relationship type id key field. |
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamPartyNumber | string | Yes | The team party number key field. |
validTo | string | Yes | The valid to key field. |
validFrom | string | Yes | The valid from key field. |
headers | DeleteTeamMembersHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteTeamMembers(
"TeamMember",
"000512",
"000123",
"2154-12-31T00:00:00Z",
"2026-01-01T00:00:00Z",
headers = {ifMatch: eTag}
);
updateTeamMembers
Updates a team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
relationshipTypeId | string | Yes | The relationship type id key field. |
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamPartyNumber | string | Yes | The team party number key field. |
validTo | string | Yes | The valid to key field. |
validFrom | string | Yes | The valid from key field. |
payload | TeamMember | Yes | Fields to update. |
headers | UpdateTeamMembersHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: TeamMember|error
Sample code:
hrdev:TeamMember updated = check fo->updateTeamMembers(
"TeamMember",
"000512",
"000123",
"2154-12-31T00:00:00Z",
"2026-01-01T00:00:00Z",
{teamMemberName: "Jordan A. Lee"},
headers = {ifMatch: eTag}
);
Team Members V2
listTeamMembersV2
Lists all V2 team members.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListTeamMembersV2Queries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: TeamMembersV2Collection|error
Sample code:
hrdev:TeamMembersV2Collection members = check fo->listTeamMembersV2(
queries = {filter: "TeamName eq 'Platform Engineering'"}
);
createTeamMembersV2
Creates a V2 team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | TeamMemberV2 | Yes | Team member fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: TeamMemberV2|error
Sample code:
hrdev:TeamMemberV2 created = check fo->createTeamMembersV2({
teamMemberPartyNumber: "000512",
teamName: "Platform Engineering",
teamMemberName: "Jordan Lee",
isTeamLead: "No",
validFrom: "2026-01-01T00:00:00Z",
validTo: "2154-12-31T00:00:00Z"
});
getTeamMembersV2
Reads a V2 team member by its composite key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamName | string | Yes | The team name key field. |
validFrom | string | Yes | The valid from key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetTeamMembersV2Queries | No | OData query parameters: $expand, $select. |
Returns: TeamMemberV2|error
Sample code:
hrdev:TeamMemberV2 member = check fo->getTeamMembersV2(
"000512",
"Platform Engineering",
"2026-01-01T00:00:00Z"
);
deleteTeamMembersV2
Deletes a V2 team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamName | string | Yes | The team name key field. |
validFrom | string | Yes | The valid from key field. |
headers | DeleteTeamMembersV2Headers | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteTeamMembersV2(
"000512",
"Platform Engineering",
"2026-01-01T00:00:00Z",
headers = {ifMatch: eTag}
);
updateTeamMembersV2
Updates a V2 team member.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
teamMemberPartyNumber | string | Yes | The team member party number key field. |
teamName | string | Yes | The team name key field. |
validFrom | string | Yes | The valid from key field. |
payload | TeamMemberV2 | Yes | Fields to update. |
headers | UpdateTeamMembersV2Headers | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: TeamMemberV2|error
Sample code:
hrdev:TeamMemberV2 updated = check fo->updateTeamMembersV2(
"000512",
"Platform Engineering",
"2026-01-01T00:00:00Z",
{isTeamLead: "Yes"},
headers = {ifMatch: eTag}
);
Teams
listTeams
Lists all teams.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListTeamsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: TeamsCollection|error
Sample code:
hrdev:TeamsCollection teams = check fo->listTeams(
queries = {filter: "IsActive eq 'Yes'"}
);
createTeams
Creates a team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | Team | Yes | Team fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: Team|error
Sample code:
hrdev:Team created = check fo->createTeams({
partyNumber: "000123",
name: "Platform Engineering",
teamTypeName: "Project",
description: "Owns integration platform services",
administrator: "000501",
isActive: "Yes"
});
getTeams
Reads a team by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
partyNumber | string | Yes | The party number key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetTeamsQueries | No | OData query parameters: $expand, $select. |
Returns: Team|error
Sample code:
hrdev:Team team = check fo->getTeams("000123");
deleteTeams
Deletes a team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
partyNumber | string | Yes | The party number key field. |
headers | DeleteTeamsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteTeams("000123", headers = {ifMatch: eTag});
updateTeams
Updates a team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
partyNumber | string | Yes | The party number key field. |
payload | Team | Yes | Fields to update. |
headers | UpdateTeamsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: Team|error
Sample code:
hrdev:Team updated = check fo->updateTeams(
"000123",
{administrator: "000502"},
headers = {ifMatch: eTag}
);
Teams V2
listTeamsV2
Lists all V2 teams.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListTeamsV2Queries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: TeamsV2Collection|error
Sample code:
hrdev:TeamsV2Collection teams = check fo->listTeamsV2(
queries = {filter: "IsActive eq 'Yes'"}
);
createTeamsV2
Creates a V2 team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | TeamV2 | Yes | Team fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: TeamV2|error
Sample code:
hrdev:TeamV2 created = check fo->createTeamsV2({
name: "Platform Engineering",
partyNumber: "000123",
teamTypeName: "Project",
description: "Owns integration platform services",
administrator: "000501",
isActive: "Yes"
});
getTeamsV2
Reads a V2 team by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetTeamsV2Queries | No | OData query parameters: $expand, $select. |
Returns: TeamV2|error
Sample code:
hrdev:TeamV2 team = check fo->getTeamsV2("Platform Engineering");
deleteTeamsV2
Deletes a V2 team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name key field. |
headers | DeleteTeamsV2Headers | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteTeamsV2("Platform Engineering", headers = {ifMatch: eTag});
updateTeamsV2
Updates a V2 team.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name key field. |
payload | TeamV2 | Yes | Fields to update. |
headers | UpdateTeamsV2Headers | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: TeamV2|error
Sample code:
hrdev:TeamV2 updated = check fo->updateTeamsV2(
"Platform Engineering",
{administrator: "000502"},
headers = {ifMatch: eTag}
);
Unions
listUnions
Lists all unions.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListUnionsQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: UnionsCollection|error
Sample code:
hrdev:UnionsCollection unions = check fo->listUnions();
createUnions
Creates a union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | Unions | Yes | Union fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: Unions|error
Sample code:
hrdev:Unions created = check fo->createUnions({
unionId: "UN-200",
name: "Office Workers Union",
entitledToNegotiate: "Yes"
});
getUnions
Reads a union by key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionId | string | Yes | The union id key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetUnionsQueries | No | OData query parameters: $expand, $select. |
Returns: Unions|error
Sample code:
hrdev:Unions union = check fo->getUnions("UN-200");
deleteUnions
Deletes a union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionId | string | Yes | The union id key field. |
headers | DeleteUnionsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteUnions("UN-200", headers = {ifMatch: eTag});
updateUnions
Updates a union.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
unionId | string | Yes | The union id key field. |
payload | Unions | Yes | Fields to update. |
headers | UpdateUnionsHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: Unions|error
Sample code:
hrdev:Unions updated = check fo->updateUnions(
"UN-200",
{entitledToNegotiate: "No"},
headers = {ifMatch: eTag}
);
Vesting Rules
listVestingRules
Lists all vesting rules.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | ListVestingRulesQueries | No | OData query parameters: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select. |
Returns: VestingRulesCollection|error
Sample code:
hrdev:VestingRulesCollection rules = check fo->listVestingRules(
queries = {filter: "dataAreaId eq 'usmf'"}
);
createVestingRules
Creates a vesting rule.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
payload | VestingRule | Yes | Vesting rule fields to create. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
Returns: VestingRule|error
Sample code:
hrdev:VestingRule created = check fo->createVestingRules({
dataAreaId: "usmf",
vestingRule: "STD-4YR",
description: "Standard four-year vesting schedule",
note: "Applies to retirement plan contributions"
});
getVestingRules
Reads a vesting rule by its composite key.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataAreaId | string | Yes | The company data area identifier. |
vestingRule | string | Yes | The vesting rule key field. |
headers | map<string|string[]> | No | Additional HTTP request headers. |
queries | GetVestingRulesQueries | No | OData query parameters: $expand, $select. |
Returns: VestingRule|error
Sample code:
hrdev:VestingRule rule = check fo->getVestingRules("usmf", "STD-4YR");
deleteVestingRules
Deletes a vesting rule.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataAreaId | string | Yes | The company data area identifier. |
vestingRule | string | Yes | The vesting rule key field. |
headers | DeleteVestingRulesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: error?
Sample code:
check fo->deleteVestingRules("usmf", "STD-4YR", headers = {ifMatch: eTag});
updateVestingRules
Updates a vesting rule.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
dataAreaId | string | Yes | The company data area identifier. |
vestingRule | string | Yes | The vesting rule key field. |
payload | VestingRule | Yes | Fields to update. |
headers | UpdateVestingRulesHeaders | No | Optional ifMatch ETag header for optimistic concurrency. |
Returns: VestingRule|error
Sample code:
hrdev:VestingRule updated = check fo->updateVestingRules(
"usmf",
"STD-4YR",
{note: "Applies to retirement plan contributions and 401(k) match"},
headers = {ifMatch: eTag}
);