openapi: 3.1.0 info: title: Zoho People REST Attendance Forms API version: 1.0.0 description: 'OpenAPI specification for the Zoho People HRMS REST API. Endpoints are organized around the seven `ZOHOPEOPLE` OAuth scopes that the provider publishes: `employee`, `forms`, `dashboard`, `automation`, `timetracker`, `attendance`, and `leave`. All requests are authenticated with Zoho Accounts OAuth 2.0 bearer tokens issued for the relevant scope and operation type (READ, CREATE, UPDATE, DELETE, ALL). Reference: https://www.zoho.com/people/api/overview.html ' contact: name: Zoho People url: https://www.zoho.com/people/ license: name: Zoho Terms of Service url: https://www.zoho.com/terms.html servers: - url: https://people.zoho.com/people/api description: Zoho People — US data center (default) - url: https://people.zoho.eu/people/api description: Zoho People — EU data center - url: https://people.zoho.in/people/api description: Zoho People — India data center - url: https://people.zoho.com.au/people/api description: Zoho People — Australia data center - url: https://people.zoho.jp/people/api description: Zoho People — Japan data center - url: https://people.zoho.com.cn/people/api description: Zoho People — China data center - url: https://people.zohocloud.ca/people/api description: Zoho People — Canada data center - url: https://people.zoho.sa/people/api description: Zoho People — Saudi Arabia data center security: - ZohoOAuth2: [] tags: - name: Forms description: Custom and standard form record operations. paths: /forms/{formName}/records: get: tags: - Forms summary: List Form Records operationId: listFormRecords description: Fetch records from a Zoho People form (employee form, custom form, etc.). parameters: - $ref: '#/components/parameters/FormName' - name: searchParams in: query schema: type: string description: JSON-encoded search criteria. - name: sIndex in: query schema: type: integer default: 1 - name: rec_limit in: query schema: type: integer default: 100 maximum: 200 responses: '200': description: Records returned. content: application/json: schema: type: object properties: response: type: object properties: result: type: array items: $ref: '#/components/schemas/FormRecord' post: tags: - Forms summary: Insert Form Record operationId: insertFormRecord description: Insert a new record into a Zoho People form. parameters: - $ref: '#/components/parameters/FormName' requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: inputData: type: string description: JSON string of field name/value pairs to insert. responses: '200': description: Record created. /forms/{formName}/updateRecord: post: tags: - Forms summary: Update Form Record operationId: updateFormRecord description: Update an existing record in a Zoho People form. parameters: - $ref: '#/components/parameters/FormName' - name: recordId in: query required: true schema: type: string requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: inputData: type: string responses: '200': description: Record updated. components: parameters: FormName: name: formName in: path required: true schema: type: string description: Linkname of the Zoho People form (e.g. employee, leave, P_EmployeeView). schemas: FormRecord: type: object additionalProperties: true properties: recordId: type: string addedTime: type: string format: date-time modifiedTime: type: string format: date-time securitySchemes: ZohoOAuth2: type: oauth2 description: 'Zoho Accounts OAuth 2.0 — Authorization Code grant. Access tokens live for 1 hour; refresh tokens are long-lived until revoked. Scope syntax is `ZOHOPEOPLE..` where scope is one of employee, forms, dashboard, automation, timetracker, attendance, leave; operation is ALL, READ, CREATE, UPDATE, or DELETE. ' flows: authorizationCode: authorizationUrl: https://accounts.zoho.com/oauth/v2/auth tokenUrl: https://accounts.zoho.com/oauth/v2/token refreshUrl: https://accounts.zoho.com/oauth/v2/token scopes: ZohoPeople.employee.ALL: Full access to employee records ZohoPeople.forms.ALL: Full access to form records ZohoPeople.forms.READ: Read form records ZohoPeople.forms.CREATE: Create form records ZohoPeople.forms.UPDATE: Update form records ZohoPeople.leave.ALL: Full access to leave operations ZohoPeople.leave.READ: Read leave records ZohoPeople.leave.CREATE: Submit leave requests ZohoPeople.leave.UPDATE: Update leave requests ZohoPeople.attendance.ALL: Full access to attendance operations ZohoPeople.timetracker.ALL: Full access to time-tracker operations ZohoPeople.dashboard.ALL: Full access to dashboard reads ZohoPeople.automation.ALL: Full access to automation / workflows