Set role-based access control for a script.

Authentication: JWT token required Authorization: Admin level access required (ADMIN or SUPERADMIN) Purpose: Configure which user roles can access and execute a script

Path Parameters:

  • script_id: Script identifier/slug or numeric ID

Request Schema:

{
  "roles": ["ADMIN", "SUPERADMIN"]
}

Request Fields:

  • roles: Array of role names that should have access (empty array removes restrictions)

Valid Roles:

  • USER: Regular users
  • ADMIN: Administrator users
  • SUPERADMIN: Super administrator users

Response Schema:

{
  "data": {
    "script_id": "12345",
    "restricted": true,
    "allowed_roles": ["ADMIN", "SUPERADMIN"],
    "allowed_users": [],
    "access_type": "role_restricted"
  }
}

Behavior:

  • Empty roles array removes all role restrictions
  • Non-empty array restricts access to specified roles only
  • Users with specified roles can access script regardless of user-specific restrictions
  • Higher privilege roles (SUPERADMIN) can access scripts restricted to lower roles

Use Cases:

  • Restrict sensitive analysis scripts to admin users only
  • Make scripts available to all authenticated users
  • Create role-based script catalogs
  • Implement script security policies

Error Responses:

  • 400 Bad Request: Missing 'roles' field or invalid role names
  • 401 Unauthorized: JWT token required
  • 403 Forbidden: Admin privileges required
  • 404 Not Found: Script does not exist
  • 500 Internal Server Error: Failed to update access controls
put/api/v1/script/{script_id}/access/roles

Path parameters

script_idstring required

Path parameter: script_id

Request body

object required

Response

Success

object required

Changes