Shuffle website screenshot

Shuffle

Shuffle is an open source security automation platform (SOAR) built for and by security professionals. The platform enables security teams to orchestrate workflows across their entire security tool stack using a no-code/low-code interface powered by OpenAPI integrations. Shuffle provides workflow automation, app integration, webhook triggers, scheduled executions, file storage, and organization management via a comprehensive REST API. It follows the Unix philosophy of doing one thing well — connecting security tools through REST APIs.

1 APIs 0 Features
SecurityWorkflowsAutomationSOAROrchestrationOpen Source

APIs

Shuffle API

The Shuffle REST API provides programmatic access to all platform capabilities including workflow management, app integration, execution control, user and organization managemen...

Collections

Pricing Plans

Shuffle Plans Pricing

3 plans

PLANS

Rate Limits

Shuffle Rate Limits

5 limits

RATE LIMITS

FinOps

Semantic Vocabularies

Shuffle Context

13 classes · 18 properties

JSON-LD

API Governance Rules

Shuffle API Rules

9 rules · 5 errors 4 warnings

SPECTRAL

JSON Structure

Shuffle Workflow Structure

0 properties

JSON STRUCTURE

Example Payloads

Resources

🔗
LinkedIn
LinkedIn
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Shuffle API
  version: v1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Workflows
    type: folder
  items:
  - info:
      name: List Workflows
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/workflows
      params:
      - name: truncate
        value: ''
        type: query
        description: Whether to truncate workflow details in the response
    docs: Returns all workflows accessible to the authenticated user.
  - info:
      name: Create Workflow
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/workflows
      body:
        type: json
        data: '{}'
    docs: Creates a new automation workflow.
  - info:
      name: Get Workflow
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/workflows/:id
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
    docs: Retrieves a specific workflow by ID.
  - info:
      name: Update Workflow
      type: http
    http:
      method: PUT
      url: https://shuffler.io/api/v1/workflows/:id
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      body:
        type: json
        data: '{}'
    docs: Updates an existing workflow with a full workflow object.
  - info:
      name: Delete Workflow
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/workflows/:id
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
    docs: Deletes a workflow by ID.
  - info:
      name: Execute Workflow
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/workflows/:id/execute
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      body:
        type: json
        data: '{}'
    docs: Triggers execution of a workflow with an optional execution argument.
  - info:
      name: Get Workflow Executions
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/workflows/:id/executions
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      - name: top
        value: ''
        type: query
        description: Number of executions to return
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor
    docs: Returns the execution history for a workflow.
  - info:
      name: Abort Workflow Execution
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/workflows/:id/executions/:exec_id/abort
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      - name: exec_id
        value: ''
        type: path
        description: Execution ID to abort
    docs: Aborts a running workflow execution.
  - info:
      name: Schedule Workflow
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/workflows/:id/schedule
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      body:
        type: json
        data: '{}'
    docs: Creates a scheduled trigger for a workflow.
  - info:
      name: Delete Workflow Schedule
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/workflows/:id/schedule/:sched_id
      params:
      - name: id
        value: ''
        type: path
        description: Workflow ID
      - name: sched_id
        value: ''
        type: path
        description: Schedule ID to delete
    docs: Removes a scheduled trigger from a workflow.
  - info:
      name: List Workflow Schedules
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/workflows/schedules
    docs: Returns all workflow schedules for the organization.
  - info:
      name: Get Execution Results
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/streams/results
      body:
        type: json
        data: '{}'
    docs: Retrieves results of a specific workflow execution.
- info:
    name: Apps
    type: folder
  items:
  - info:
      name: List Apps
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/apps
    docs: Returns all apps available to the organization.
  - info:
      name: Delete App
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/apps/:id
      params:
      - name: id
        value: ''
        type: path
        description: App ID
    docs: Deletes a custom app by ID.
  - info:
      name: Upload App
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/apps/upload
      body:
        type: multipart-form
        data:
        - name: file
          type: text
          value: ''
    docs: Uploads a custom app as a ZIP file.
  - info:
      name: Search Apps
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/apps/search
      body:
        type: json
        data: '{}'
    docs: Searches the global app library.
  - info:
      name: List App Authentications
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/apps/authentication
    docs: Returns all app authentication configurations.
  - info:
      name: Create App Authentication
      type: http
    http:
      method: PUT
      url: https://shuffler.io/api/v1/apps/authentication
      body:
        type: json
        data: '{}'
    docs: Creates a new authentication configuration for an app.
  - info:
      name: Delete App Authentication
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/apps/authentication/:id
      params:
      - name: id
        value: ''
        type: path
        description: Authentication ID
    docs: Removes an app authentication configuration.
  - info:
      name: List App Categories
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/apps/categories
    docs: Returns all available app categories.
  - info:
      name: Run App Category Action
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/apps/categories/run
      body:
        type: json
        data: '{}'
    docs: Executes an action within an app category using AI-assisted routing.
- info:
    name: Triggers
    type: folder
  items:
  - info:
      name: Create Webhook
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/hooks
      body:
        type: json
        data: '{}'
    docs: Creates a webhook trigger that can start a workflow when called.
  - info:
      name: Delete Webhook
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/hooks/:id
      params:
      - name: id
        value: ''
        type: path
        description: Webhook ID
    docs: Removes a webhook trigger.
- info:
    name: Files
    type: folder
  items:
  - info:
      name: Create File
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/files/create
      body:
        type: json
        data: '{}'
    docs: Creates a file record in the Shuffle file store.
  - info:
      name: List Files
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/files
    docs: Returns all files accessible to the organization.
  - info:
      name: Upload File Content
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/files/:id/upload
      params:
      - name: id
        value: ''
        type: path
        description: File ID
      body:
        type: multipart-form
        data:
        - name: file
          type: text
          value: ''
    docs: Uploads content to an existing file record.
  - info:
      name: Get File Content
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/files/:id/content
      params:
      - name: id
        value: ''
        type: path
        description: File ID
    docs: Downloads the content of a file.
  - info:
      name: Get File Metadata
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/files/:id
      params:
      - name: id
        value: ''
        type: path
        description: File ID
    docs: Retrieves metadata for a specific file.
  - info:
      name: Delete File
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/files/:id
      params:
      - name: id
        value: ''
        type: path
        description: File ID
      - name: remove_metadata
        value: ''
        type: query
        description: Whether to also remove file metadata
    docs: Deletes a file from the file store.
- info:
    name: Datastore
    type: folder
  items:
  - info:
      name: Set Cache Value
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/orgs/:org_id/set_cache
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
    docs: Stores a key-value pair in the organization datastore.
  - info:
      name: Get Cache Value
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/orgs/:org_id/get_cache
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
    docs: Retrieves a value from the organization datastore by key.
  - info:
      name: List Cache Items
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/orgs/:org_id/list_cache
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      - name: top
        value: ''
        type: query
        description: Number of items to return
      - name: cursor
        value: ''
        type: query
        description: Pagination cursor
      - name: category
        value: ''
        type: query
        description: Filter by category
    docs: Lists all cache items in the organization datastore.
  - info:
      name: Delete Cache Item
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/orgs/:org_id/delete_cache
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
    docs: Removes a key-value pair from the organization datastore.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: List Users
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/users/getusers
    docs: Returns all users in the organization.
  - info:
      name: Register User
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/users/register
      body:
        type: json
        data: '{}'
    docs: Registers a new user in the organization.
  - info:
      name: Update User
      type: http
    http:
      method: PUT
      url: https://shuffler.io/api/v1/users/updateuser
      body:
        type: json
        data: '{}'
    docs: Updates user details including role assignment.
  - info:
      name: Delete User
      type: http
    http:
      method: DELETE
      url: https://shuffler.io/api/v1/users/:id
      params:
      - name: id
        value: ''
        type: path
        description: User ID
    docs: Removes a user from the organization.
  - info:
      name: Generate API Key
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/users/generateapikey
    docs: Generates a new API key for the authenticated user.
- info:
    name: Organizations
    type: folder
  items:
  - info:
      name: List Organizations
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/orgs
    docs: Returns all organizations accessible to the user.
  - info:
      name: Get Organization
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/orgs/:id
      params:
      - name: id
        value: ''
        type: path
        description: Organization ID
    docs: Retrieves details of a specific organization.
  - info:
      name: Update Organization
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/orgs/:id
      params:
      - name: id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
    docs: Updates organization details.
  - info:
      name: Get Organization Stats
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/orgs/:org_id/stats
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
    docs: Returns usage statistics for an organization.
- info:
    name: Notifications
    type: folder
  items:
  - info:
      name: List Notifications
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/notifications
      params:
      - name: status
        value: ''
        type: query
        description: Filter by status
      - name: type
        value: ''
        type: query
        description: Filter by notification type
      - name: severity
        value: ''
        type: query
        description: Filter by severity level
    docs: Returns notifications for the organization.
  - info:
      name: Create Notification
      type: http
    http:
      method: POST
      url: https://shuffler.io/api/v1/notifications
      body:
        type: json
        data: '{}'
    docs: Creates a new notification in the organization.
  - info:
      name: Clear Notifications
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/notifications/clear
    docs: Clears all notifications for the organization.
  - info:
      name: Mark Notification As Read
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/notifications/:id/markasread
      params:
      - name: id
        value: ''
        type: path
        description: Notification ID
    docs: Marks a specific notification as read.
- info:
    name: Administration
    type: folder
  items:
  - info:
      name: List Environments
      type: http
    http:
      method: GET
      url: https://shuffler.io/api/v1/getenvironments
    docs: Returns all execution environments (workers) configured for the organization.
bundled: true