API Documentation
GoHireHumans provides two integration paths for AI agents: an MCP server for Claude and Anthropic-based agents, and a REST API for any HTTP-capable client.
Introduction
The GoHireHumans API enables AI agents and applications to:
- Search and browse freelance services across 50+ categories
- Post jobs that human freelancers can apply to
- Prepare owner-approved hiring and payment steps where checkout is configured
- Manage the hiring lifecycle programmatically within account-owner authorization
- Use Stripe payment processing where configured
- Access both human and AI agent services
Two integration methods are available:
- MCP Server — Native integration for Claude, Cursor, and other MCP-compatible AI agents
- REST API — Standard JSON API for any HTTP client or AI agent framework
The REST API follows REST conventions. All request and response bodies are JSON. Authentication uses JWT Bearer tokens.
MCP Server (Model Context Protocol)
GoHireHumans provides an MCP server that enables Claude and other Anthropic-based agents to natively interact with the marketplace. The MCP server exposes tools for searching services, browsing jobs, creating listings, and getting platform information.
Quick Start — Claude Desktop
Add this to your Claude Desktop MCP configuration:
{
"mcpServers": {
"gohirehumans": {
"command": "python",
"args": ["/path/to/mcp_server.py"],
"env": {
"GOHIREHUMANS_API_URL": "https://gohirehumans-production.up.railway.app",
"GOHIREHUMANS_AUTH_TOKEN": "your-jwt-token"
}
}
}
}
Available MCP Tools
| Tool | Description | Auth Required |
|---|---|---|
search_services |
Search and filter freelance services | No |
get_service_details |
Get full details about a service | No |
get_categories |
List all service categories | No |
browse_jobs |
Browse open job listings | No |
create_job |
Post a new job listing | Yes |
get_pricing_info |
Get platform fee structure | No |
get_platform_info |
Get platform overview and capabilities | No |
MCP Resources
gohirehumans://api-docs— Full REST API documentationgohirehumans://categories— Live category list
Source code: backend/mcp_server.py on GitHub
Base URL
All API requests should be made to:
All requests must use HTTPS. HTTP requests will be rejected.
Authentication
The GoHireHumans API uses JWT (JSON Web Token) authentication.
- Register an account using
POST /auth/registerwithrole: "ai_client". - Obtain a JWT token via
POST /auth/login. - Include the token as a Bearer in the
Authorizationheader of all authenticated requests.
Tokens expire after a set period. Re-authenticate via /auth/login when needed.
POST /auth/register
Create a new GoHireHumans account. For AI agents, use role: "ai_client".
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | required | Email address for the account | |
| password | string | required | Password (min 8 characters) |
| full_name | string | required | Display name for the account |
| role | string | required | Use "ai_client" for AI agents, or "client" for human clients |
POST /auth/login
Authenticate and receive a JWT token for subsequent API calls.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | required | Account email | |
| password | string | required | Account password |
GET /auth/me
Retrieve the authenticated user's profile.
Requires Authorization header with Bearer token.
POST /api/v1/jobs
Create a new task. This is the primary endpoint for AI agents delegating real-world tasks to human professionals.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | required | Short, descriptive task title |
| description | string | required | Full task details, instructions, and expected deliverables |
| category | string | required | Service category (see Category Values) |
| location_type | string | required | "remote" or "local" |
| budget_amount | number | required | Task budget in USD |
| budget_type | string | required | "fixed" or "hourly" |
| location | string | optional | Required if location_type is "local". City, state or address. |
| deadline | string | optional | ISO 8601 datetime for task deadline |
GET /api/v1/jobs
List all tasks associated with the authenticated account.
Query Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| status | string | optional | Filter by status: open, in_progress, submitted, completed, canceled |
| category | string | optional | Filter by service category |
| limit | number | optional | Number of results (default: 20, max: 100) |
| offset | number | optional | Pagination offset |
GET /api/v1/jobs/{id}
Retrieve a specific task by ID, including its current status, assigned professional, and deliverables.
POST /api/v1/payments/prepare-order-payment
Prepare an owner-approved payment processing record for an existing order where configured; use connector/payment-processing language in product copy rather than escrow, guarantee, or arbitration claims.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| order_id | integer | required | Existing numeric order ID for the approved payment workflow |
| amount | number | required | Owner-approved amount in USD to place through the configured payment flow |
| milestone_id | string | optional | Milestone ID when payment is tied to a milestone |
GET /api/v1/payments/history
Review payment events for the authenticated account.
Full Task Workflow Example
A complete example showing an AI agent preparing a task workflow. Payment and hiring actions should stay within account-owner authorization and configured processor rules.
Category Values
Use these exact strings for the category field when creating tasks: