openapi: 3.1.0 info: title: Shuffle Administration Users API description: Shuffle is an open source security automation platform (SOAR) built for and by security professionals. The Shuffle REST API provides programmatic access to all platform capabilities including workflow management, app integration, execution control, user management, organization administration, file storage, datastore operations, and webhook triggers. Everything available in the Shuffle frontend is accessible via the API. version: v1 contact: name: Shuffle Support url: https://shuffler.io/docs email: frikky@shuffler.io license: name: Apache 2.0 url: https://github.com/Shuffle/Shuffle/blob/main/LICENSE servers: - url: https://shuffler.io/api/v1 description: Shuffle Cloud - url: https://{domain}/api/v1 description: Shuffle On-Premises variables: domain: description: Your Shuffle instance domain default: localhost security: - BearerAuth: [] tags: - name: Users paths: /users/getusers: get: operationId: listUsers summary: List Users description: Returns all users in the organization. tags: - Users responses: '200': description: List of users content: application/json: schema: type: array items: $ref: '#/components/schemas/User' /users/register: post: operationId: registerUser summary: Register User description: Registers a new user in the organization. tags: - Users requestBody: required: true content: application/json: schema: type: object required: - username - password properties: username: type: string description: Username for the new user password: type: string description: Password for the new user responses: '200': description: User registered content: application/json: schema: $ref: '#/components/schemas/User' /users/updateuser: put: operationId: updateUser summary: Update User description: Updates user details including role assignment. tags: - Users requestBody: required: true content: application/json: schema: type: object required: - user_id properties: user_id: type: string description: ID of the user to update role: type: string description: New role for the user (admin, user) responses: '200': description: User updated content: application/json: schema: $ref: '#/components/schemas/ApiResponse' /users/{id}: delete: operationId: deleteUser summary: Delete User description: Removes a user from the organization. tags: - Users parameters: - name: id in: path required: true description: User ID schema: type: string responses: '200': description: User deleted content: application/json: schema: $ref: '#/components/schemas/ApiResponse' /users/generateapikey: get: operationId: generateApiKey summary: Generate API Key description: Generates a new API key for the authenticated user. tags: - Users responses: '200': description: New API key generated content: application/json: schema: type: object properties: success: type: boolean api_key: type: string components: schemas: User: type: object properties: id: type: string username: type: string role: type: string enum: - admin - user org_id: type: string active: type: boolean created: type: integer ApiResponse: type: object properties: success: type: boolean description: Whether the operation was successful reason: type: string description: Optional error message if success is false id: type: string description: Optional ID of created/affected resource securitySchemes: BearerAuth: type: http scheme: bearer description: 'API key obtained from Shuffle profile settings. Include as: Authorization: Bearer '