openapi: 3.1.0 info: title: Zesty Accounts Apps Roles API description: The Zesty.io Accounts API is used to manage users, roles, instances, teams, tokens, ecosystems, webhooks, and apps. It provides administrative control over the organizational structure of a Zesty.io account. All endpoints require authentication via a session token obtained from the Auth API. version: 1.0.0 contact: name: Zesty.io url: https://www.zesty.io/ license: name: Proprietary url: https://www.zesty.io/ servers: - url: https://accounts.api.zesty.io/v1 description: Zesty Accounts API Production Server tags: - name: Roles description: Manage roles and permissions. paths: /roles: get: operationId: getRoles summary: Zesty List all roles description: Returns a list of all roles available in the account. tags: - Roles security: - sessionToken: [] responses: '200': description: A list of roles. content: application/json: schema: type: object properties: code: type: integer data: type: array items: $ref: '#/components/schemas/Role' '401': description: Unauthorized. post: operationId: createRole summary: Zesty Create a new role description: Creates a new role with specified permissions. tags: - Roles security: - sessionToken: [] requestBody: required: true content: application/json: schema: type: object required: - name properties: name: type: string description: The name of the role. instanceZUID: type: string description: The instance ZUID to assign this role to. responses: '201': description: Role created successfully. '400': description: Invalid request. '401': description: Unauthorized. /roles/{roleZUID}: get: operationId: getRole summary: Zesty Get a role description: Returns details for a specific role by its ZUID. tags: - Roles security: - sessionToken: [] parameters: - name: roleZUID in: path required: true schema: type: string description: The ZUID of the role. responses: '200': description: Role details. content: application/json: schema: type: object properties: code: type: integer data: $ref: '#/components/schemas/Role' '401': description: Unauthorized. '404': description: Role not found. put: operationId: updateRole summary: Zesty Update a role description: Updates the details of a specific role. tags: - Roles security: - sessionToken: [] parameters: - name: roleZUID in: path required: true schema: type: string description: The ZUID of the role. requestBody: required: true content: application/json: schema: type: object properties: name: type: string responses: '200': description: Role updated successfully. '401': description: Unauthorized. '404': description: Role not found. delete: operationId: deleteRole summary: Zesty Delete a role description: Deletes a specific role. tags: - Roles security: - sessionToken: [] parameters: - name: roleZUID in: path required: true schema: type: string description: The ZUID of the role. responses: '200': description: Role deleted successfully. '401': description: Unauthorized. '404': description: Role not found. components: schemas: Role: type: object properties: ZUID: type: string description: The Zesty Universal Identifier for the role. name: type: string instanceZUID: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time securitySchemes: sessionToken: type: apiKey in: header name: Authorization description: A session token obtained from the Auth API login endpoint. externalDocs: description: Zesty Accounts API Documentation url: https://docs.zesty.io/docs/accounts