Mission Tests

    Run freeform mission tests against an IVR. A mission test places a real call, drives the conversation against a sector and mission you specify, and writes the verdict to a structured run record. Long-running. Poll the run id to track status.

    5 endpoints

    Real-time updates

    The platform UI subscribes to a WebSocket gateway for live status as runs complete. The WebSocket gateway is Cognito-authenticated and not exposed to API-key callers. Poll GET /testing/mission-tests/{id} or GET /testing/compliance-reports/{phoneNumber} for status from the SDK.

    POST/testing/mission-tests

    Create and launch a freeform mission test. Long-running. Poll the returned id for status.

    Body Parameters

    NameTypeRequiredDescription
    sectorstringrequiredSector key from the catalogue (e.g. "banking", "healthcare")
    missionstringrequiredThe objective the agent should pursue on the call
    acceptancestringrequiredAcceptance criteria used to grade the run
    profileobjectrequiredCaller profile to drive the conversation
    phoneNumberstringrequiredPhone number to dial in E.164 format (e.g. +441234567890)
    namestringoptionalOptional caller display name

    Request

    bash
    curl -X POST -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"sector":"banking","mission":"Reset my online banking password","acceptance":"Agent verifies identity and resets password","profile":{"phoneNumber":"+441234567890"}}' \
      https://api.nopaque.co.uk/testing/mission-tests

    Response

    json
    {
      "id": "mtr_abc123",
      "kind": "freeform",
      "sector": "banking",
      "mission": "Reset my online banking password",
      "acceptance": "Agent verifies identity and resets password",
      "profile": {
        "phoneNumber": "+441234567890"
      },
      "status": "queued",
      "createdAt": "2026-05-06T12: 00: 00Z"
    }
    GET/testing/mission-tests

    List mission test runs in the workspace, paginated.

    Query Parameters

    NameTypeRequiredDescription
    limitnumberoptionalMaximum items to return (default 50)
    nextTokenstringoptionalPagination token from previous response

    Request

    bash
    curl -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/testing/mission-tests

    Response

    json
    {
      "items": [
        {
          "id": "mtr_abc123",
          "kind": "freeform",
          "status": "completed",
          "createdAt": "2026-05-06T12: 00: 00Z"
        }
      ],
      "nextToken": null
    }
    GET/testing/mission-tests/defaults

    Get the default sector, mission, and acceptance values used to seed an ad-hoc run. Returns 503 with errorCode CATALOG_NOT_READY until the mission-tester service has published its SSM payload.

    Request

    bash
    curl -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/testing/mission-tests/defaults

    Response

    json
    {
      "sector": "banking",
      "mission": "Reset my online banking password",
      "acceptance": "Agent verifies identity and resets password"
    }
    GET/testing/mission-tests/{id}

    Get a single mission test run by id. Poll this endpoint to track status.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredMission test run id

    Request

    bash
    curl -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/testing/mission-tests/mtr_abc123

    Response

    json
    {
      "id": "mtr_abc123",
      "kind": "freeform",
      "sector": "banking",
      "mission": "Reset my online banking password",
      "acceptance": "Agent verifies identity and resets password",
      "profile": {
        "phoneNumber": "+441234567890"
      },
      "status": "completed",
      "verdict": "pass",
      "createdAt": "2026-05-06T12: 00: 00Z",
      "completedAt": "2026-05-06T12: 05: 00Z"
    }
    POST/testing/mission-tests/{id}/cancel

    Cancel an in-flight mission test run.

    Path Parameters

    NameTypeRequiredDescription
    idstringrequiredMission test run id

    Request

    bash
    curl -X POST -H "x-api-key: YOUR_API_KEY" \
      https://api.nopaque.co.uk/testing/mission-tests/mtr_abc123/cancel

    Response

    json
    {
      "id": "mtr_abc123",
      "status": "cancelled",
      "cancelledAt": "2026-05-06T12: 03: 00Z"
    }