> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # Jobs > Retrieves a paged list of job titles with location, GL account, and responsibility data. At least one date filter (ModifiedOnStart or ModifiedOnEnd) is required. **Security** The requesting user must have the following permission to retrieve job titles: - Labor → Jobs → View Jobs ## OpenAPI ````json GET /public/v1/labor/jobs { "openapi": "3.0.1", "info": { "title": "R365 Public API", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/v1/labor/jobs": { "get": { "tags": [ "labor" ], "summary": "Jobs", "description": "Retrieves a paged list of job titles with location, GL account, and responsibility data. At least one date filter (ModifiedOnStart or ModifiedOnEnd) is required.\n\n**Security**\n\nThe requesting user must have the following permission to retrieve job titles:\n\n- Labor → Jobs → View Jobs", "parameters": [ { "$ref": "#/components/parameters/TenantId" }, { "name": "ModifiedOnStart", "in": "query", "description": "Earliest modified date to return. When provided without ModifiedOnEnd, scopes results to that single day", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "ModifiedOnEnd", "in": "query", "description": "Latest modified date to return. When provided without ModifiedOnStart, scopes results to that single day", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "locations", "in": "query", "description": "Comma-separated list of location identifiers (GUIDs) to include. When omitted, all accessible locations are included", "required": false, "schema": { "type": "string" } }, { "name": "legalEntities", "in": "query", "description": "Comma-separated list of legal entity identifiers (GUIDs) to include. When omitted, all accessible legal entities are included", "required": false, "schema": { "type": "string" } }, { "name": "pageSize", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32", "minimum": 1, "maximum": 250, "default": 250 }, "description": "Maximum number of top-level objects to return in one page." }, { "name": "continuationToken", "in": "query", "description": "Opaque token from NextLink of a prior response. Omit on the first request; pass verbatim to fetch the next page", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Paged response containing job titles for the current page and a link to the next page when available.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JobExternalPagedResponse" } } } }, "400": { "description": "Bad Request — a parameter value is malformed, of the wrong type, or outside its allowed range." }, "401": { "description": "Unauthorized — the bearer token is missing, invalid or expired, or is not valid for the specified tenant." }, "403": { "description": "Forbidden — the caller lacks the permission required for this operation." }, "404": { "description": "Not Found — the requested resource does not exist, or the supplied continuation token is unknown or has expired." }, "409": { "description": "Conflict — the request conflicts with the current state of the resource and cannot be applied." }, "422": { "description": "Unprocessable Entity — a required parameter is missing, or a supplied parameter value is invalid." }, "429": { "description": "Too Many Requests — the caller has exceeded the rate limit; retry after a short delay." }, "500": { "description": "Internal Server Error — an unexpected error occurred while processing the request." } } } } }, "components": { "parameters": { "TenantId": { "name": "x-r365-context-tenant-id", "in": "header", "required": true, "description": "Identifies the R365 tenant the request applies to. Required on every request.", "schema": { "type": "string" } } }, "schemas": { "JobExternalPagedResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/JobExternalResponse" }, "description": "Job titles for the current page." }, "nextLink": { "type": "string", "description": "Relative URL to retrieve the next page of results. Null when this is the last page.", "nullable": true } }, "additionalProperties": false }, "JobExternalResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the job title.", "format": "uuid" }, "name": { "type": "string", "description": "Job title name." }, "code": { "type": "string", "description": "Job code.", "nullable": true }, "department": { "type": "string", "description": "Department the job belongs to.", "nullable": true }, "payRate": { "type": "number", "description": "Base pay rate for the job title.", "format": "double" }, "excludeFromSchedule": { "type": "boolean", "description": "Indicates whether the job title is excluded from scheduling." }, "excludeFromPOSImport": { "type": "boolean", "description": "Indicates whether the job title is excluded from POS import." }, "location": { "$ref": "#/components/schemas/JobLocation" }, "generalLedgerAccount": { "$ref": "#/components/schemas/GeneralLedgerAccount" }, "responsibilities": { "type": "array", "items": { "$ref": "#/components/schemas/ResponsibilityItem" }, "description": "Responsibilities assigned to the job title. Null when no responsibilities are configured.", "nullable": true } }, "additionalProperties": false }, "JobLocation": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the location.", "format": "uuid" }, "name": { "type": "string", "description": "Location display name." }, "number": { "type": "string", "description": "Location number." } }, "additionalProperties": false }, "GeneralLedgerAccount": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the GL account.", "format": "uuid" }, "name": { "type": "string", "description": "GL account name." }, "number": { "type": "string", "description": "GL account number." }, "glType": { "type": "string", "description": "GL account type." } }, "additionalProperties": false }, "ResponsibilityItem": { "type": "object", "properties": { "responsibility": { "type": "string", "description": "Responsibility description.", "nullable": true } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "http", "scheme": "Bearer" } } } } ````