Read PaySpace employees, organization, payroll runs, payslips and leave records. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one employee's biographical record by EmployeeId (the numeric id from payspace_list_employees). Personal data. GET /odata/v2.0/{company}/Employee({id}).
EmployeeId, a whole number
PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them.
Get one employee's biographical record by EmployeeId (the numeric id from payspace_list_employees). Personal data. GET /odata/v2.0/{company}/Employee({id}).
| Argument | Type | Description |
|---|---|---|
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
| employee_id* | string | EmployeeId, a whole number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"employee_id"
],
"properties": {
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
},
"employee_id": {
"type": "string",
"pattern": "^[0-9]{1,15}$",
"description": "EmployeeId, a whole number"
}
}
}List all employees of a company including terminated ones. Personal data. GET /odata/v2.0/{company}/Employee/all.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| select | string | OData $select: comma-separated field names to return (smaller replies). |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"select": {
"type": "string",
"maxLength": 500,
"description": "OData $select: comma-separated field names to return (smaller replies)."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the companies (id, code, name, group) the API credentials can access. Company ids go into the company_id argument of the other tools. From the token reply of POST /connect/token.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List employee position records (job, organization unit, grade, manager, effective dates). GET /odata/v2.0/{company}/EmployeePosition.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List active employees of a company with their biographical details (name, employee number, contact, dates). Personal data. GET /odata/v2.0/{company}/Employee. Use payspace_list_all_employees to include terminated employees.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| select | string | OData $select: comma-separated field names to return (smaller replies). |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
List employee employment status records (hire, termination, reason, dates). GET /odata/v2.0/{company}/EmployeeEmploymentStatus.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the jobs defined in job management for a company. GET /odata/v2.0/{company}/JobManagement.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List employee leave adjustments (manual changes to leave balances). Personal data. GET /odata/v2.0/{company}/EmployeeLeaveAdjustment.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List employee leave applications (type, dates, days, status). Give year and month together to restrict to a period. Personal data (absence). GET /odata/v2.0/{company}/EmployeeLeaveApplication[/{year}/{month}].
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| year | integer | Year, for example 2026. |
| count | boolean | Include the total number of matching records as @odata.count. |
| month | integer | Month, 1 to 12. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
List employee leave setup entitlements (leave type, days per cycle). GET /odata/v2.0/{company}/EmployeeLeaveSetupEntitlement.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the organization positions (position details) defined for a company. GET /odata/v2.0/{company}/OrganizationPositionDetail.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the organization hierarchy units (departments, divisions, cost centres) of a company. GET /odata/v2.0/{company}/OrganizationUnit.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the company's payroll components (earnings, deductions, contributions) with their codes, for one payroll frequency and run. Get frequency from payspace_list_payroll_frequencies and period from payspace_list_payroll_runs. GET /odata/v2.0/{company}/ComponentCompany?frequency=&period=.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| period* | string | Payroll run (period), required by PaySpace. A value from payspace_list_payroll_runs (the CompanyRun lookup) for the chosen frequency. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| frequency* | string | Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup). |
List the payroll frequencies of a company (the CompanyFrequency lookup). A value goes into the frequency argument of payspace_list_payroll_components, payspace_list_payroll_runs and payspace_list_recurring_components. GET /odata/v2.0/{company}/Lookup/CompanyFrequency.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List the payroll runs (periods) of a company for one frequency (the CompanyRun lookup). A value goes into the period argument of payspace_list_payroll_components and payspace_list_recurring_components. GET /odata/v2.0/{company}/Lookup/CompanyRun?frequency=.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| frequency* | string | Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup). |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
List the payslip lines (one per component per employee: code, description, amount) for a calendar year and month. Personal data (pay). GET /odata/v2.0/{company}/EmployeePayslipLine/{year}/{month}.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| year* | integer | Year, for example 2026. |
| count | boolean | Include the total number of matching records as @odata.count. |
| month* | integer | Month, 1 to 12. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
List employee payslips (totals per employee) for a calendar year and month. Personal data (pay). GET /odata/v2.0/{company}/EmployeePayslip/{year}/{month}.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| year* | integer | Year, for example 2026. |
| count | boolean | Include the total number of matching records as @odata.count. |
| month* | integer | Month, 1 to 12. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
List records of another read-only entity set: CompanyEmploymentCategory, CompanyEmploymentSubCategory, CompanyLeaveReason, CompanyPositionFamily, CompanyPositionFunctionArea, CompanyTrainingCourse, CompanyQualification, CostingProjectActivity, OrganizationGrade, EmployeeAsset, EmployeeClaim, EmployeeDependant, EmployeeIncident, EmployeePayRate, EmployeeProject, EmployeeQualification, EmployeeSkill, EmployeeOutOfOffice. GET /odata/v2.0/{company}/{entity}. Employee-level entities contain personal data.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| entity* | string | Entity set name. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| select | string | OData $select: comma-separated field names to return (smaller replies). |
| orderby | string | OData $orderby, for example `LastName asc`. |
List the recurring payroll components (EmployeeComponent) or loans (EmployeeLoan) of ONE employee for a payroll frequency and run. Personal data (pay). Get frequency from payspace_list_payroll_frequencies and period from payspace_list_payroll_runs. GET /odata/v2.0/{company}/{entity}?frequency=&period=&$filter=EmployeeNumber eq '...'.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| entity* | string | EmployeeComponent (recurring components) or EmployeeLoan (loans). |
| period* | string | Payroll run (period), required by PaySpace. A value from payspace_list_payroll_runs (the CompanyRun lookup) for the chosen frequency. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| frequency* | string | Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup). |
List the company's regions. GET /odata/v2.0/{company}/CompanyRegion.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}List employee suspension records. GET /odata/v2.0/{company}/EmployeeSuspension.
| Argument | Type | Description |
|---|---|---|
| top | integer | Page size ($top, default and maximum 100). |
| skip | integer | Records to skip ($skip), for paging: page 2 of size 100 is skip=100. |
| count | boolean | Include the total number of matching records as @odata.count. |
| filter | string | OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity. |
| orderby | string | OData $orderby, for example `LastName asc`. |
| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"select": {
"type": "string",
"maxLength": 500,
"description": "OData $select: comma-separated field names to return (smaller replies)."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1990,
"description": "Year, for example 2026."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Month, 1 to 12."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"frequency",
"period"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"period": {
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,50}$",
"description": "Payroll run (period), required by PaySpace. A value from payspace_list_payroll_runs (the CompanyRun lookup) for the chosen frequency."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"frequency": {
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,50}$",
"description": "Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup)."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"frequency"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"frequency": {
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,50}$",
"description": "Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup)."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"year",
"month"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1990,
"description": "Year, for example 2026."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Month, 1 to 12."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"year",
"month"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1990,
"description": "Year, for example 2026."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Month, 1 to 12."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entity"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"entity": {
"enum": [
"CompanyEmploymentCategory",
"CompanyEmploymentSubCategory",
"CompanyLeaveReason",
"CompanyPositionFamily",
"CompanyPositionFunctionArea",
"CompanyTrainingCourse",
"CompanyQualification",
"CostingProjectActivity",
"OrganizationGrade",
"EmployeeAsset",
"EmployeeClaim",
"EmployeeDependant",
"EmployeeIncident",
"EmployeePayRate",
"EmployeeProject",
"EmployeeQualification",
"EmployeeSkill",
"EmployeeOutOfOffice"
],
"type": "string",
"description": "Entity set name."
},
"filter": {
"type": "string",
"maxLength": 1000,
"description": "OData $filter, for example `EmployeeNumber eq 'E001'` or `contains(LastName,'Smith')`. Field names: see the vendor docs for the entity."
},
"select": {
"type": "string",
"maxLength": 500,
"description": "OData $select: comma-separated field names to return (smaller replies)."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
}
}
}| company_id | string | PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them. |
| employee_number* | string | Employee number (the EmployeeNumber field of payspace_list_employees). PaySpace requires this filter for recurring components. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"entity",
"frequency",
"period",
"employee_number"
],
"properties": {
"top": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size ($top, default and maximum 100)."
},
"skip": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Records to skip ($skip), for paging: page 2 of size 100 is skip=100."
},
"count": {
"type": "boolean",
"description": "Include the total number of matching records as @odata.count."
},
"entity": {
"enum": [
"EmployeeComponent",
"EmployeeLoan"
],
"type": "string",
"description": "EmployeeComponent (recurring components) or EmployeeLoan (loans)."
},
"period": {
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,50}$",
"description": "Payroll run (period), required by PaySpace. A value from payspace_list_payroll_runs (the CompanyRun lookup) for the chosen frequency."
},
"orderby": {
"type": "string",
"maxLength": 200,
"description": "OData $orderby, for example `LastName asc`."
},
"frequency": {
"type": "string",
"pattern": "^[A-Za-z0-9 _.-]{1,50}$",
"description": "Payroll frequency, required by PaySpace. A value from payspace_list_payroll_frequencies (the CompanyFrequency lookup)."
},
"company_id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,49}$",
"description": "PaySpace company id or company code. Optional when the credentials give access to exactly one company; call payspace_list_companies to see them."
},
"employee_number": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,50}$",
"description": "Employee number (the EmployeeNumber field of payspace_list_employees). PaySpace requires this filter for recurring components."
}
}
}