openapi: 3.1.0 info: title: Zesty Accounts Apps Groups 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: Groups description: Manage media groups (folders within bins). paths: /groups: get: operationId: getGroups summary: Zesty List all media groups description: Returns a list of all media groups (folders) for organizing files within bins. tags: - Groups security: - sessionToken: [] parameters: - name: binZUID in: query schema: type: string description: Filter groups by bin ZUID. responses: '200': description: A list of media groups. content: application/json: schema: type: object properties: code: type: integer data: type: array items: $ref: '#/components/schemas/Group' '401': description: Unauthorized. post: operationId: createGroup summary: Zesty Create a media group description: Creates a new media group (folder) within a bin. tags: - Groups security: - sessionToken: [] requestBody: required: true content: application/json: schema: type: object required: - name - binZUID properties: name: type: string description: The name of the group. binZUID: type: string description: The bin ZUID to create the group in. groupZUID: type: string description: The parent group ZUID for nesting. responses: '201': description: Group created successfully. '400': description: Invalid request. '401': description: Unauthorized. /groups/{groupZUID}: get: operationId: getGroup summary: Zesty Get a media group description: Returns details for a specific media group. tags: - Groups security: - sessionToken: [] parameters: - name: groupZUID in: path required: true schema: type: string description: The ZUID of the group. responses: '200': description: Group details. content: application/json: schema: type: object properties: code: type: integer data: $ref: '#/components/schemas/Group' '401': description: Unauthorized. '404': description: Group not found. put: operationId: updateGroup summary: Zesty Update a media group description: Updates the details of a specific media group. tags: - Groups security: - sessionToken: [] parameters: - name: groupZUID in: path required: true schema: type: string description: The ZUID of the group. requestBody: required: true content: application/json: schema: type: object properties: name: type: string responses: '200': description: Group updated successfully. '401': description: Unauthorized. '404': description: Group not found. delete: operationId: deleteGroup summary: Zesty Delete a media group description: Deletes a specific media group. tags: - Groups security: - sessionToken: [] parameters: - name: groupZUID in: path required: true schema: type: string description: The ZUID of the group. responses: '200': description: Group deleted successfully. '401': description: Unauthorized. '404': description: Group not found. components: schemas: Group: type: object properties: ZUID: type: string description: The Zesty Universal Identifier for the group. name: type: string description: The name of the group. binZUID: type: string description: The bin this group belongs to. groupZUID: type: string description: The parent group ZUID if nested. 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