Skip to main content

Overview

Replicas are the avatar/voice personas used by AI Interviewers. Use these endpoints to list the replicas available to a team or to register a new one. A replica’s id is what you pass as aiConfiguration.replicaId when creating an AI interview.
Only safe replica fields are returned. Provider credentials and sync internals are never exposed by the API.

List Replicas

List the replicas available to the team. Endpoint: GET /qsi/gather/replicas
teamId
string
Override the team context for this request.
curl https://api.prod.qualifi.hr/qsi/gather/replicas \
  -H "x-api-key: ${API_KEY}"
{
  "data": {
    "replicas": [
      {
        "id": "replica-uuid",
        "name": "Professional Avatar",
        "photoUrl": "https://example.com/avatar.png",
        "replicaId": "replica-ext-id",
        "organizationId": "org-uuid",
        "teamId": "team-uuid",
        "createdById": "user-uuid",
        "createdAt": "2026-01-15T00:00:00Z",
        "updatedAt": "2026-01-15T00:00:00Z"
      }
    ]
  },
  "meta": {
    "requestId": "req-uuid",
    "timestamp": "2026-01-15T00:00:00Z"
  }
}

Create Replica

Register a new replica for the team. Endpoint: POST /qsi/gather/replicas
curl -X POST https://api.prod.qualifi.hr/qsi/gather/replicas \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Professional Avatar",
    "photoUrl": "https://example.com/avatar.png"
  }'
{
  "data": {
    "replica": {
      "id": "replica-uuid",
      "name": "Professional Avatar",
      "photoUrl": "https://example.com/avatar.png",
      "replicaId": "replica-ext-id",
      "organizationId": "org-uuid",
      "teamId": "team-uuid",
      "createdById": "user-uuid",
      "createdAt": "2026-01-15T00:00:00Z",
      "updatedAt": "2026-01-15T00:00:00Z"
    }
  },
  "meta": {
    "requestId": "req-uuid",
    "timestamp": "2026-01-15T00:00:00Z"
  }
}

Interviews

Configure AI interviewers that use a replica

Score Card Templates

Define scoring rubrics for interviews