Shuffle Users API

The Users API from Shuffle — 5 operation(s) for users.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shuffle-users-api-openapi.yml Raw ↑
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 <APIKEY>'