openapi: 3.1.0 info: title: Shuffle Administration Organizations 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: Organizations paths: /orgs: get: operationId: listOrganizations summary: List Organizations description: Returns all organizations accessible to the user. tags: - Organizations responses: '200': description: List of organizations content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' /orgs/{id}: get: operationId: getOrganization summary: Get Organization description: Retrieves details of a specific organization. tags: - Organizations parameters: - name: id in: path required: true description: Organization ID schema: type: string responses: '200': description: Organization details content: application/json: schema: $ref: '#/components/schemas/Organization' post: operationId: updateOrganization summary: Update Organization description: Updates organization details. tags: - Organizations parameters: - name: id in: path required: true description: Organization ID schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Organization name description: type: string description: Organization description image: type: string description: Organization logo URL responses: '200': description: Organization updated content: application/json: schema: $ref: '#/components/schemas/ApiResponse' /orgs/{org_id}/stats: get: operationId: getOrganizationStats summary: Get Organization Stats description: Returns usage statistics for an organization. tags: - Organizations parameters: - name: org_id in: path required: true description: Organization ID schema: type: string responses: '200': description: Organization statistics content: application/json: schema: type: object components: schemas: Organization: type: object properties: id: type: string name: type: string description: type: string image: type: string users: type: array items: $ref: '#/components/schemas/User' org_id: type: string created: type: integer 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 '