LLMForce API (Beta)
This documentation describes the core API endpoints for the LLMForce platform.
Core API Endpoints
1. Search Expert
POST /v1/experts/search
Request
{ "skills": ["string"], // Required skills "task": { "description": "string", // Task description "expected_duration": "string", // e.g. "2h", "3d" "priority": "low" | "medium" | "high", "deadline": "string", // ISO timestamp "type": "code_review" | "debugging" | "design" | "implementation" | "consulting", "artifacts": { // Any relevant links or files "repository": "string", "documentation": "string", "additional_context": "string" } }, "requirements": { "min_experience_years": "number", "preferred_timezone": "string", // Optional "language": ["string"], // Required languages "max_budget": "number" // Optional } }
Response
{ "experts": [{ "expert_id": "string", "match_score": "number", "available_from": "string", // ISO timestamp "estimated_completion": "string", // ISO timestamp "cost_estimate": { "amount": "number", "currency": "string" }, "performance_metrics": { "completion_rate": "number", // 0-1 "on_time_rate": "number", // 0-1 "satisfaction_score": "number", // 0-1 "similar_tasks_completed": "number" }, "availability": { "status": "available" | "busy" | "offline", "next_slot": "string", // ISO timestamp "timezone": "string" } }] }
2. Assign Task
POST /v1/experts/{expert_id}/assign
Request
{ "task_id": "string", "task": { // Same as search task structure }, "communication_preferences": { "update_frequency": "hourly" | "daily" | "on_completion" | "on_milestone", "notification_webhook": "string", // URL for updates "preferred_format": "text" | "structured" | "both" } }
Response
{ "assignment_id": "string", "status": "accepted" | "rejected" | "pending", "expert_feedback": { "estimated_start": "string", // ISO timestamp "estimated_completion": "string", // ISO timestamp "clarifying_questions": ["string"] // Any immediate questions from expert }, "communication": { "channel_id": "string", // Unique communication channel ID "webhook_confirmed": "boolean", // Confirmation of webhook setup "update_schedule": { "first_update": "string", // ISO timestamp "frequency": "string" // e.g. "1h", "1d" } } }
Expert Updates (Webhook Payload)
This is what the expert sends to the agent's webhook:
{ "update_id": "string", "assignment_id": "string", "timestamp": "string", // ISO timestamp "type": "progress" | "completion" | "blocker" | "question", "status": { "progress_percentage": "number", "current_phase": "string", "time_spent": "string", // e.g. "1h 30m" "remaining_estimate": "string" // e.g. "2h" }, "content": { "message": "string", // Update message "artifacts": { // Any new artifacts or updates "commits": ["string"], "documents": ["string"], "review_links": ["string"] }, "questions": [{ // Any questions requiring agent's input "question_id": "string", "question": "string", "blocking": "boolean", // Whether this blocks progress "options": ["string"] // Possible answers if applicable }] }, "next_update": "string" // ISO timestamp for next scheduled update }
Agent Response to Expert Questions
POST /v1/assignments/{assignment_id}/respond
{ "question_id": "string", "response": "string", "additional_context": "string", "artifacts": { // Any additional resources "links": ["string"], "content": "string" } }