Skip to main content

Actions

The ballerinax/microsoft.dynamics365.finance.hrdev package exposes the following clients:

ClientPurpose
ClientProvides 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

FieldTypeDefaultDescription
authOAuth2ClientCredentialsGrantConfigRequiredOAuth2 client credentials grant configuration used to authenticate with Microsoft Entra ID.
httpVersionhttp:HttpVersion"2.0"HTTP protocol version to use for outbound requests.
http1Settingshttp:ClientHttp1Settings{}HTTP/1.x client settings including keep-alive, chunking, and proxy configuration.
secureSockethttp:ClientSecureSocket()SSL/TLS configuration for secure connections.
proxyhttp: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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListCourseGroupsQueriesNoOData 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:

NameTypeRequiredDescription
payloadCourseGroupYesCourse group fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
groupstringYesThe group key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetCourseGroupsQueriesNoOData query parameters: $expand, $select.

Returns: CourseGroup|error

Sample code:

hrdev:CourseGroup group = check fo->getCourseGroups("LEAD");
deleteCourseGroups

Deletes a course group.

Parameters:

NameTypeRequiredDescription
groupstringYesThe group key field.
headersDeleteCourseGroupsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteCourseGroups("LEAD", headers = {ifMatch: eTag});
updateCourseGroups

Updates a course group.

Parameters:

NameTypeRequiredDescription
groupstringYesThe group key field.
payloadCourseGroupYesFields to update.
headersUpdateCourseGroupsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListJobTasksQueriesNoOData 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:

NameTypeRequiredDescription
payloadJobTaskYesJob task fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
jobTaskIdstringYesThe job task id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetJobTasksQueriesNoOData query parameters: $expand, $select.

Returns: JobTask|error

Sample code:

hrdev:JobTask task = check fo->getJobTasks("JT-0100");
deleteJobTasks

Deletes a job task.

Parameters:

NameTypeRequiredDescription
jobTaskIdstringYesThe job task id key field.
headersDeleteJobTasksHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteJobTasks("JT-0100", headers = {ifMatch: eTag});
updateJobTasks

Updates a job task.

Parameters:

NameTypeRequiredDescription
jobTaskIdstringYesThe job task id key field.
payloadJobTaskYesFields to update.
headersUpdateJobTasksHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListJobTemplatesQueriesNoOData 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:

NameTypeRequiredDescription
payloadJobTemplateYesJob template fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
jobTemplatestringYesThe job template key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetJobTemplatesQueriesNoOData query parameters: $expand, $select.

Returns: JobTemplate|error

Sample code:

hrdev:JobTemplate template = check fo->getJobTemplates("JOBTMPL-ENG-01");
deleteJobTemplates

Deletes a job template.

Parameters:

NameTypeRequiredDescription
jobTemplatestringYesThe job template key field.
headersDeleteJobTemplatesHeadersNoOptional 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:

NameTypeRequiredDescription
jobTemplatestringYesThe job template key field.
payloadJobTemplateYesFields to update.
headersUpdateJobTemplatesHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListLaborUnionsQueriesNoOData 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:

NameTypeRequiredDescription
payloadLaborUnionsYesLabor union fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
unionIDstringYesThe union id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetLaborUnionsQueriesNoOData query parameters: $expand, $select.

Returns: LaborUnions|error

Sample code:

hrdev:LaborUnions union = check fo->getLaborUnions("LU-100");
deleteLaborUnions

Deletes a labor union.

Parameters:

NameTypeRequiredDescription
unionIDstringYesThe union id key field.
headersDeleteLaborUnionsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteLaborUnions("LU-100", headers = {ifMatch: eTag});
updateLaborUnions

Updates a labor union.

Parameters:

NameTypeRequiredDescription
unionIDstringYesThe union id key field.
payloadLaborUnionsYesFields to update.
headersUpdateLaborUnionsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListLoanItemsQueriesNoOData 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:

NameTypeRequiredDescription
payloadLoanItemYesLoan item fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
loanItemIdstringYesThe loan item id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetLoanItemsQueriesNoOData query parameters: $expand, $select.

Returns: LoanItem|error

Sample code:

hrdev:LoanItem item = check fo->getLoanItems("LAPTOP-0007");
deleteLoanItems

Deletes a loan item.

Parameters:

NameTypeRequiredDescription
loanItemIdstringYesThe loan item id key field.
headersDeleteLoanItemsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteLoanItems("LAPTOP-0007", headers = {ifMatch: eTag});
updateLoanItems

Updates a loan item.

Parameters:

NameTypeRequiredDescription
loanItemIdstringYesThe loan item id key field.
payloadLoanItemYesFields to update.
headersUpdateLoanItemsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListLoanTypesQueriesNoOData 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:

NameTypeRequiredDescription
payloadLoanTypeYesLoan type fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
loanTypeIdstringYesThe loan type id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetLoanTypesQueriesNoOData query parameters: $expand, $select.

Returns: LoanType|error

Sample code:

hrdev:LoanType loanType = check fo->getLoanTypes("IT-EQUIP");
deleteLoanTypes

Deletes a loan type.

Parameters:

NameTypeRequiredDescription
loanTypeIdstringYesThe loan type id key field.
headersDeleteLoanTypesHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteLoanTypes("IT-EQUIP", headers = {ifMatch: eTag});
updateLoanTypes

Updates a loan type.

Parameters:

NameTypeRequiredDescription
loanTypeIdstringYesThe loan type id key field.
payloadLoanTypeYesFields to update.
headersUpdateLoanTypesHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListPositionTypesQueriesNoOData 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:

NameTypeRequiredDescription
payloadPositionTypeYesPosition type fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
positionTypeIdstringYesThe position type id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetPositionTypesQueriesNoOData query parameters: $expand, $select.

Returns: PositionType|error

Sample code:

hrdev:PositionType positionType = check fo->getPositionTypes("FTE-ENG");
deletePositionTypes

Deletes a position type.

Parameters:

NameTypeRequiredDescription
positionTypeIdstringYesThe position type id key field.
headersDeletePositionTypesHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deletePositionTypes("FTE-ENG", headers = {ifMatch: eTag});
updatePositionTypes

Updates a position type.

Parameters:

NameTypeRequiredDescription
positionTypeIdstringYesThe position type id key field.
payloadPositionTypeYesFields to update.
headersUpdatePositionTypesHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListRatingLevelsQueriesNoOData 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:

NameTypeRequiredDescription
payloadRatingLevelYesRating level fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
ratingLevelIdstringYesThe rating level id key field.
ratingModelIdstringYesThe rating model id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetRatingLevelsQueriesNoOData query parameters: $expand, $select.

Returns: RatingLevel|error

Sample code:

hrdev:RatingLevel level = check fo->getRatingLevels("EXPERT", "TECH-SKILLS");
deleteRatingLevels

Deletes a rating level.

Parameters:

NameTypeRequiredDescription
ratingLevelIdstringYesThe rating level id key field.
ratingModelIdstringYesThe rating model id key field.
headersDeleteRatingLevelsHeadersNoOptional 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:

NameTypeRequiredDescription
ratingLevelIdstringYesThe rating level id key field.
ratingModelIdstringYesThe rating model id key field.
payloadRatingLevelYesFields to update.
headersUpdateRatingLevelsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListRatingModelsQueriesNoOData 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:

NameTypeRequiredDescription
payloadRatingModelYesRating model fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
ratingModelIdstringYesThe rating model id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetRatingModelsQueriesNoOData query parameters: $expand, $select.

Returns: RatingModel|error

Sample code:

hrdev:RatingModel model = check fo->getRatingModels("TECH-SKILLS");
deleteRatingModels

Deletes a rating model.

Parameters:

NameTypeRequiredDescription
ratingModelIdstringYesThe rating model id key field.
headersDeleteRatingModelsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteRatingModels("TECH-SKILLS", headers = {ifMatch: eTag});
updateRatingModels

Updates a rating model.

Parameters:

NameTypeRequiredDescription
ratingModelIdstringYesThe rating model id key field.
payloadRatingModelYesFields to update.
headersUpdateRatingModelsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListSkillTypesQueriesNoOData 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:

NameTypeRequiredDescription
payloadSkillTypeYesSkill type fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
skillTypestringYesThe skill type key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetSkillTypesQueriesNoOData query parameters: $expand, $select.

Returns: SkillType|error

Sample code:

hrdev:SkillType skillType = check fo->getSkillTypes("TECHNICAL");
deleteSkillTypes

Deletes a skill type.

Parameters:

NameTypeRequiredDescription
skillTypestringYesThe skill type key field.
headersDeleteSkillTypesHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteSkillTypes("TECHNICAL", headers = {ifMatch: eTag});
updateSkillTypes

Updates a skill type.

Parameters:

NameTypeRequiredDescription
skillTypestringYesThe skill type key field.
payloadSkillTypeYesFields to update.
headersUpdateSkillTypesHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListSkillsQueriesNoOData 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:

NameTypeRequiredDescription
payloadSkillYesSkill fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
skillstringYesThe skill key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetSkillsQueriesNoOData query parameters: $expand, $select.

Returns: Skill|error

Sample code:

hrdev:Skill skill = check fo->getSkills("INTEGRATION-DEV");
deleteSkills

Deletes a skill.

Parameters:

NameTypeRequiredDescription
skillstringYesThe skill key field.
headersDeleteSkillsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteSkills("INTEGRATION-DEV", headers = {ifMatch: eTag});
updateSkills

Updates a skill.

Parameters:

NameTypeRequiredDescription
skillstringYesThe skill key field.
payloadSkillYesFields to update.
headersUpdateSkillsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListTeamMembersQueriesNoOData 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:

NameTypeRequiredDescription
payloadTeamMemberYesTeam member fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
relationshipTypeIdstringYesThe relationship type id key field.
teamMemberPartyNumberstringYesThe team member party number key field.
teamPartyNumberstringYesThe team party number key field.
validTostringYesThe valid to key field.
validFromstringYesThe valid from key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetTeamMembersQueriesNoOData 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:

NameTypeRequiredDescription
relationshipTypeIdstringYesThe relationship type id key field.
teamMemberPartyNumberstringYesThe team member party number key field.
teamPartyNumberstringYesThe team party number key field.
validTostringYesThe valid to key field.
validFromstringYesThe valid from key field.
headersDeleteTeamMembersHeadersNoOptional 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:

NameTypeRequiredDescription
relationshipTypeIdstringYesThe relationship type id key field.
teamMemberPartyNumberstringYesThe team member party number key field.
teamPartyNumberstringYesThe team party number key field.
validTostringYesThe valid to key field.
validFromstringYesThe valid from key field.
payloadTeamMemberYesFields to update.
headersUpdateTeamMembersHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListTeamMembersV2QueriesNoOData 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:

NameTypeRequiredDescription
payloadTeamMemberV2YesTeam member fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
teamMemberPartyNumberstringYesThe team member party number key field.
teamNamestringYesThe team name key field.
validFromstringYesThe valid from key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetTeamMembersV2QueriesNoOData 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:

NameTypeRequiredDescription
teamMemberPartyNumberstringYesThe team member party number key field.
teamNamestringYesThe team name key field.
validFromstringYesThe valid from key field.
headersDeleteTeamMembersV2HeadersNoOptional 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:

NameTypeRequiredDescription
teamMemberPartyNumberstringYesThe team member party number key field.
teamNamestringYesThe team name key field.
validFromstringYesThe valid from key field.
payloadTeamMemberV2YesFields to update.
headersUpdateTeamMembersV2HeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListTeamsQueriesNoOData 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:

NameTypeRequiredDescription
payloadTeamYesTeam fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
partyNumberstringYesThe party number key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetTeamsQueriesNoOData query parameters: $expand, $select.

Returns: Team|error

Sample code:

hrdev:Team team = check fo->getTeams("000123");
deleteTeams

Deletes a team.

Parameters:

NameTypeRequiredDescription
partyNumberstringYesThe party number key field.
headersDeleteTeamsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteTeams("000123", headers = {ifMatch: eTag});
updateTeams

Updates a team.

Parameters:

NameTypeRequiredDescription
partyNumberstringYesThe party number key field.
payloadTeamYesFields to update.
headersUpdateTeamsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListTeamsV2QueriesNoOData 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:

NameTypeRequiredDescription
payloadTeamV2YesTeam fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
namestringYesThe name key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetTeamsV2QueriesNoOData query parameters: $expand, $select.

Returns: TeamV2|error

Sample code:

hrdev:TeamV2 team = check fo->getTeamsV2("Platform Engineering");
deleteTeamsV2

Deletes a V2 team.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field.
headersDeleteTeamsV2HeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteTeamsV2("Platform Engineering", headers = {ifMatch: eTag});
updateTeamsV2

Updates a V2 team.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field.
payloadTeamV2YesFields to update.
headersUpdateTeamsV2HeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListUnionsQueriesNoOData 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:

NameTypeRequiredDescription
payloadUnionsYesUnion fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
unionIdstringYesThe union id key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetUnionsQueriesNoOData query parameters: $expand, $select.

Returns: Unions|error

Sample code:

hrdev:Unions union = check fo->getUnions("UN-200");
deleteUnions

Deletes a union.

Parameters:

NameTypeRequiredDescription
unionIdstringYesThe union id key field.
headersDeleteUnionsHeadersNoOptional ifMatch ETag header for optimistic concurrency.

Returns: error?

Sample code:

check fo->deleteUnions("UN-200", headers = {ifMatch: eTag});
updateUnions

Updates a union.

Parameters:

NameTypeRequiredDescription
unionIdstringYesThe union id key field.
payloadUnionsYesFields to update.
headersUpdateUnionsHeadersNoOptional 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:

NameTypeRequiredDescription
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesListVestingRulesQueriesNoOData 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:

NameTypeRequiredDescription
payloadVestingRuleYesVesting rule fields to create.
headersmap<string|string[]>NoAdditional 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:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier.
vestingRulestringYesThe vesting rule key field.
headersmap<string|string[]>NoAdditional HTTP request headers.
queriesGetVestingRulesQueriesNoOData query parameters: $expand, $select.

Returns: VestingRule|error

Sample code:

hrdev:VestingRule rule = check fo->getVestingRules("usmf", "STD-4YR");
deleteVestingRules

Deletes a vesting rule.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier.
vestingRulestringYesThe vesting rule key field.
headersDeleteVestingRulesHeadersNoOptional 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:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier.
vestingRulestringYesThe vesting rule key field.
payloadVestingRuleYesFields to update.
headersUpdateVestingRulesHeadersNoOptional 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}
);