HR & People · Schema

Employment

An Employment record representing a position an employee holds at a company, aligned with HRIS, unified-HRIS, and payroll APIs.

HRHRISPeople OperationsPayrollTalent AcquisitionPerformance ManagementEmployee EngagementPeople DataWorkforce ManagementUnified-API

Properties

Name Type Description
id string Unique identifier for the employment record.
employeeId string Identifier of the employee this employment record applies to.
remoteId stringnull Identifier in the source HRIS or payroll system.
jobTitle stringnull Job title for the employment record.
department stringnull Department associated with this employment record.
team stringnull Team within the department.
businessUnit stringnull Business unit or division.
workLocationId stringnull Identifier of the work location for this employment record.
managerId stringnull Employee id of the manager for this employment.
employmentType stringnull Type of employment relationship.
workerType stringnull Worker classification.
ftEquivalent numbernull Full-time equivalent expressed as a fraction (1.0 = full-time).
payRate numbernull Pay rate amount for this employment.
payCurrency stringnull ISO 4217 currency code for the pay rate.
payPeriod stringnull Period the pay rate is expressed over.
payFrequency stringnull How often the employee is paid.
effectiveDate stringnull Date this employment record becomes effective.
endDate stringnull Date this employment record ends, if applicable.
isPrimary boolean Whether this is the employee's primary employment record.
createdAt stringnull
updatedAt stringnull
View JSON Schema on GitHub

JSON Schema

hr-and-people-employment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hr-and-people/refs/heads/main/json-schema/hr-and-people-employment-schema.json",
  "title": "Employment",
  "description": "An Employment record representing a position an employee holds at a company, aligned with HRIS, unified-HRIS, and payroll APIs.",
  "type": "object",
  "required": ["id", "employeeId"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the employment record."
    },
    "employeeId": {
      "type": "string",
      "description": "Identifier of the employee this employment record applies to."
    },
    "remoteId": {
      "type": ["string", "null"],
      "description": "Identifier in the source HRIS or payroll system."
    },
    "jobTitle": {
      "type": ["string", "null"],
      "description": "Job title for the employment record.",
      "example": "Senior Software Engineer"
    },
    "department": {
      "type": ["string", "null"],
      "description": "Department associated with this employment record.",
      "example": "Engineering"
    },
    "team": {
      "type": ["string", "null"],
      "description": "Team within the department."
    },
    "businessUnit": {
      "type": ["string", "null"],
      "description": "Business unit or division."
    },
    "workLocationId": {
      "type": ["string", "null"],
      "description": "Identifier of the work location for this employment record."
    },
    "managerId": {
      "type": ["string", "null"],
      "description": "Employee id of the manager for this employment."
    },
    "employmentType": {
      "type": ["string", "null"],
      "enum": [null, "full_time", "part_time", "contractor", "intern", "temporary", "freelance", "other"],
      "description": "Type of employment relationship."
    },
    "workerType": {
      "type": ["string", "null"],
      "enum": [null, "employee", "contractor", "contingent", "intern"],
      "description": "Worker classification."
    },
    "ftEquivalent": {
      "type": ["number", "null"],
      "description": "Full-time equivalent expressed as a fraction (1.0 = full-time).",
      "minimum": 0,
      "maximum": 1
    },
    "payRate": {
      "type": ["number", "null"],
      "description": "Pay rate amount for this employment."
    },
    "payCurrency": {
      "type": ["string", "null"],
      "description": "ISO 4217 currency code for the pay rate.",
      "example": "USD"
    },
    "payPeriod": {
      "type": ["string", "null"],
      "enum": [null, "hour", "day", "week", "biweekly", "semimonthly", "month", "quarter", "year"],
      "description": "Period the pay rate is expressed over."
    },
    "payFrequency": {
      "type": ["string", "null"],
      "enum": [null, "weekly", "biweekly", "semimonthly", "monthly"],
      "description": "How often the employee is paid."
    },
    "effectiveDate": {
      "type": ["string", "null"],
      "format": "date",
      "description": "Date this employment record becomes effective."
    },
    "endDate": {
      "type": ["string", "null"],
      "format": "date",
      "description": "Date this employment record ends, if applicable."
    },
    "isPrimary": {
      "type": "boolean",
      "description": "Whether this is the employee's primary employment record.",
      "default": true
    },
    "createdAt": {
      "type": ["string", "null"],
      "format": "date-time"
    },
    "updatedAt": {
      "type": ["string", "null"],
      "format": "date-time"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hr-and-people-employment"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.