CRUD operations for talent profiles, portfolio assets, tags, and availability.
| Method | Endpoint | Description |
|---|---|---|
| GET | /v1/talents | List talents with filtering, sorting, pagination |
| POST | /v1/talents | Create a new talent profile |
| GET | /v1/talents/:id | Get talent profile by ID |
| PATCH | /v1/talents/:id | Update talent profile fields |
| DELETE | /v1/talents/:id | Soft-delete a talent profile |
| POST | /v1/talents/:id/tags | Add tags to a talent |
| DELETE | /v1/talents/:id/tags/:tagId | Remove a tag from a talent |
| GET | /v1/talents/:id/availability | Get talent availability calendar |
| PUT | /v1/talents/:id/availability | Set talent availability blocks |
| GET | /v1/talents/:id/assets | List talent portfolio assets |
| POST | /v1/talents/:id/assets | Add asset to talent portfolio |
GET /v1/talents?category=model&status=active&sort=created_at:desc&limit=20
Authorization: Bearer YOUR_TOKEN
X-Tenant-Id: tnt_abc123
// Response:
{
"data": [
{
"id": "tal_001",
"name": "Jane Doe",
"category": "model",
"status": "active",
"verified": true,
"stats": { "height": "5'9\"", "bust": "34", "waist": "24", "hips": "35" },
"tags": ["runway", "commercial"],
"created_at": "2026-01-15T08:30:00Z"
}
],
"pagination": { "cursor": "cur_...", "has_more": true }
}