openapi: 3.1.0 info: title: Harvest API v2 Clients Roles API version: 2.0.0 description: 'REST API for Harvest time tracking, projects, clients, invoices, estimates, expenses, tasks, users, roles, company settings, and reports. Authentication uses a personal access token or OAuth 2.0 bearer token in the Authorization header together with the Harvest-Account-Id header. ' contact: name: Harvest API Documentation url: https://help.getharvest.com/api-v2/ servers: - url: https://api.harvestapp.com/v2 description: Harvest production API security: - bearerAuth: [] tags: - name: Roles paths: /roles: get: summary: List roles operationId: listRoles tags: - Roles responses: '200': description: List of roles. post: summary: Create a role operationId: createRole tags: - Roles responses: '201': description: Role created. /roles/{role_id}: get: summary: Retrieve a role operationId: getRole tags: - Roles parameters: - in: path name: role_id required: true schema: type: integer responses: '200': description: Role details. patch: summary: Update a role operationId: updateRole tags: - Roles parameters: - in: path name: role_id required: true schema: type: integer responses: '200': description: Role updated. delete: summary: Delete a role operationId: deleteRole tags: - Roles parameters: - in: path name: role_id required: true schema: type: integer responses: '200': description: Role deleted. components: securitySchemes: bearerAuth: type: http scheme: bearer description: 'Personal access token or OAuth 2.0 access token passed in the Authorization header. The Harvest-Account-Id header (or account_id query parameter) is also required. '