Skip to main content
GET
/
scenarios
/
assignments
List scenario assignments
curl --request GET \
  --url https://api.exec.com/rest/v1/scenarios/assignments \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "a1b2c3d4e5f6",
      "user": {
        "id": "u1a2b3c4d5e6",
        "email": "[email protected]",
        "first_name": "Jane",
        "last_name": "Smith"
      },
      "scenario": {
        "id": "s1a2b3c4d5e6",
        "name": "Procurement Discovery",
        "slug": "procurement-discovery"
      },
      "status": "completed",
      "due_date": "2026-04-15T00:00:00Z",
      "best_score": 88,
      "best_rank": "gold",
      "attempt_count": 3,
      "attempt_min": 1,
      "attempt_max": null,
      "rank_min": "silver",
      "program": null,
      "created_at": "2026-03-01T10:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 50,
    "total_count": 1,
    "total_pages": 1
  }
}

Authorizations

Authorization
string
header
required

API key created in Settings > API.

Format: exec_live_ followed by 40 alphanumeric characters.

Query Parameters

user_ids
string

Comma-separated user IDs to filter by. When combined with user_emails, results are unioned (all matching users from either list are included).

user_emails
string

Comma-separated user email addresses to filter by. When combined with user_ids, results are unioned (all matching users from either list are included).

scenario_ids
string

Comma-separated scenario IDs to filter by

program_ids
string

Comma-separated program IDs to filter by

status
enum<string>[]

Filter by one or more assignment statuses

Available options:
not_started,
in_progress,
completed,
past_due,
did_not_pass
Example:
["completed", "past_due"]
page
integer
default:1

Page number (1-indexed)

Required range: x >= 1
page_size
integer
default:50

Number of results per page (max 100)

Required range: 1 <= x <= 100

Response

Paginated list of assignments

data
object[]
pagination
object