openapi: 3.2.0 info: title: Cacheflow User Groups API version: 0.0.3 servers: - url: https://api.getcacheflow.com description: 'Production. Calls are tenant-routed: send Host: .api.getcacheflow.com (per github.com/getcacheflow/api-examples SETUP.md). Host no longer resolves as of 2026-08-13.' - url: https://api.sandbox.getcacheflow.com description: Sandbox. Tenant-routed as .api.sandbox.getcacheflow.com. Host no longer resolves as of 2026-08-13. tags: - name: User Groups paths: /api/latest/data/groups: get: tags: - User Groups summary: List groups operationId: getAllGroups responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Group' post: tags: - User Groups summary: Create a group operationId: createGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' /api/latest/data/groups/{id}: get: tags: - User Groups summary: Retrieve a group operationId: getGroupById parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' put: tags: - User Groups summary: Update a group operationId: updateGroup parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' delete: tags: - User Groups summary: Delete a group operationId: deleteGroup parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/data/groups/{id}/users: get: tags: - User Groups summary: List users for a group operationId: getUsersByGroupId parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/User' delete: tags: - User Groups summary: Delete group users operationId: deleteUsersFromGroup parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsers' responses: '200': description: OK patch: tags: - User Groups summary: Update group users operationId: updateGroupUsers parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsers' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' components: schemas: GroupUsers: type: object properties: userIds: type: array items: type: string format: uuid User: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true username: type: string status: type: string enum: - pending - active - inactive source: type: string firstName: type: string lastName: type: string lastActiveAt: type: string format: date-time manager: $ref: '#/components/schemas/User' Group: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true roleType: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer name: type: string