POST
/
v1
/
reviews
/
assign
{
  "400": {},
  "404": {},
  "assigned": 123,
  "failed": 123,
  "assignments": [
    {
      "reviewId": "<string>",
      "assignedTo": "<string>",
      "status": "<string>",
      "error": "<string>"
    }
  ],
  "summary": {
    "userId": "<string>",
    "assignedCount": 123,
    "totalWorkload": 123
  }
}

Assign Reviews

Bulk assign multiple reviews to reviewers with intelligent distribution options.

Request

reviewIds
array
required
Array of review IDs to assign
assignmentStrategy
object
required
Assignment strategy configuration
priority
string
Override priority for all reviews: low, normal, high, urgent
deadline
string
Set deadline for all reviews (ISO 8601)
notifyReviewers
boolean
default:true
Send notifications to assigned reviewers

Response

assigned
integer
Number of successfully assigned reviews
failed
integer
Number of failed assignments
assignments
array
Assignment results
summary
object
Assignment summary by reviewer

Examples

# Round-robin assignment
curl -X POST https://api.authentivoice.com/v1/reviews/assign \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reviewIds": ["rev_123", "rev_456", "rev_789"],
    "assignmentStrategy": {
      "type": "round_robin",
      "pool": ["user_001", "user_002", "user_003"],
      "maxPerReviewer": 10
    },
    "priority": "high",
    "deadline": "2024-01-16T17:00:00Z"
  }'

Response Example

{
  "assigned": 3,
  "failed": 0,
  "assignments": [
    {
      "reviewId": "rev_123",
      "assignedTo": "user_001",
      "status": "success"
    },
    {
      "reviewId": "rev_456",
      "assignedTo": "user_002",
      "status": "success"
    },
    {
      "reviewId": "rev_789",
      "assignedTo": "user_003",
      "status": "success"
    }
  ],
  "summary": [
    {
      "userId": "user_001",
      "assignedCount": 1,
      "totalWorkload": 8
    },
    {
      "userId": "user_002",
      "assignedCount": 1,
      "totalWorkload": 7
    },
    {
      "userId": "user_003",
      "assignedCount": 1,
      "totalWorkload": 9
    }
  ]
}

Assignment Strategies

Specific Assignment

Assign to specific reviewers:
{
  "type": "specific",
  "assignTo": ["user_001", "user_002"]
}

Round Robin

Distribute evenly in order:
{
  "type": "round_robin",
  "pool": ["user_001", "user_002", "user_003"]
}

Load Balanced

Assign based on current workload:
{
  "type": "load_balanced",
  "pool": ["user_001", "user_002", "user_003"],
  "maxPerReviewer": 20
}

Expertise Based

Match reviewer expertise to call type:
{
  "type": "expertise_based",
  "pool": ["user_001", "user_002", "user_003"],
  "considerWorkload": true
}

Error Responses

400
Bad Request
Invalid request
{
  "error": {
    "code": "INVALID_STRATEGY",
    "message": "Unknown assignment strategy type"
  }
}
404
Not Found
Reviews not found
{
  "error": {
    "code": "REVIEWS_NOT_FOUND",
    "message": "Some review IDs were not found",
    "invalidIds": ["rev_999"]
  }
}