Download OpenAPI specification:Download
A public API that lets client organizations retrieve profile info, create inquiries, and manage job positions.
Create a new user via the public API. The wrapper will attempt to resolve or create company records and will enforce password confirmation and email uniqueness.
| type | string |
| name required | string |
| email required | string <email> |
| company_name | string |
| company_id | integer |
| password required | string |
| confirm_password required | string |
| phone | string |
{- "type": "client",
- "name": "Alice Developer",
- "email": "alice@example.com",
- "company_name": "Example Oy",
- "company_id": 0,
- "password": "securepassword",
- "confirm_password": "securepassword",
- "phone": "+358401234567"
}{- "message": "New user added"
}Update user fields. The public wrapper merges partial payloads with existing user data and enforces email uniqueness and password confirmation when changing password.
| id required | integer Numeric DB id of the user to update |
| name | string |
string <email> | |
object | |
| phone | string |
| type | string |
| password | string |
| confirm_password | string |
{- "name": "Chaw Chaw",
- "email": "updated@example.com",
- "company": {
- "id": 0,
- "name": "string"
}, - "phone": "+358401234567",
- "type": "client",
- "password": "NewPass1234",
- "confirm_password": "NewPass1234"
}{- "message": "New user added"
}Perform a soft-delete on the user record. This public wrapper only performs soft-delete and does not permanently remove records.
| id required | integer Numeric DB id of the user to soft-delete |
{- "message": "New user added"
}Allows a client to submit a new inquiry with basic metadata and one or more position needs.
| title required | string |
| description | string |
required | object |
| main_contact | string |
required | Array of objects (HirePosition) |
{- "title": "Fullstack Developer",
- "description": "<div>Project to build backend system</div>",
- "industry": {
- "name": "Software"
}, - "main_contact": "Lawunn (lawunnkhaing16@gmail.com, +358402224007)",
- "hires": [
- {
- "stage": "draft",
- "title": "Backend Dev",
- "type": "external",
- "experience_level": "Intermediate",
- "is_remote_work": "no",
- "budget": "5000",
- "allocation": "10",
- "language_reqs": "Finnish",
- "job_start": "2025-11-01T16:30:00.000Z",
- "job_end": "2025-11-30T16:00:00.000Z",
- "description": "<div>fx</div>",
- "order_need_reqs": [
- {
- "name": "C#",
- "importance": 3
}
]
}
]
}{- "inquiry_id": "inq_abc123",
- "status": "draft"
}Retrieve a list of all inquiries created by the authenticated user.
{- "inquiries_total": 19,
- "search_progress": 5,
- "contracts_signed": 0,
- "group_name": "@gmail.com",
- "total": 5,
- "orders": [
- {
- "id": 16,
- "title": "Software Dev",
- "description": "fx",
- "industry": "Software",
- "stage": "pending",
- "job_start": "2025-11-01 15:00:00",
- "job_end": "2025-11-30 15:00:00",
- "created_at": "2025-11-06T12:33:32.000Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}Cancel an entire inquiry (order) and all its positions. This public endpoint forwards the request to the internal user API and returns the internal response.
| orderId required | integer ID of the inquiry (order) to cancel |
{- "message": "Inquiry successfully cancelled"
}Retrieve the list of positions under a given inquiry ID.
| orderId required | integer ID of the inquiry (order) |
[- {
- "id": 0,
- "order_id": 0,
- "title": "string",
- "stage": "string",
- "experience_level": "string",
- "location": "string",
- "job_start": "2019-08-24T14:15:22Z",
- "job_end": "2019-08-24T14:15:22Z",
- "language_reqs": "string",
- "allocation": 0,
- "budget": "string"
}
]Cancels an existing position (hire) under a given inquiry (order) using the public API.
| orderId required | integer ID of the inquiry (order) |
| positionId required | integer ID of the position to cancel |
{- "message": "Position successfully canceled"
}Adds a new job position to an existing inquiry.
| orderId required | integer ID of the inquiry to add the position to |
| stage required | string |
| title required | string |
| type required | string |
| experience_level | string |
| is_remote_work | string |
| budget required | string |
| allocation | string |
| language_reqs | string |
| job_start required | string <date-time> |
| job_end required | string <date-time> |
| description required | string |
Array of objects |
{- "stage": "draft",
- "title": "Backend Dev",
- "type": "external",
- "experience_level": "Intermediate",
- "is_remote_work": "no",
- "budget": "5000",
- "allocation": "10",
- "language_reqs": "Finnish",
- "job_start": "2025-11-01T16:30:00.000Z",
- "job_end": "2025-11-30T16:00:00.000Z",
- "description": "<div>fx</div>",
- "order_need_reqs": [
- {
- "name": "C#",
- "importance": 3
}
]
}{- "message": "New position successfully added"
}Create a new contract. The public wrapper will attempt to resolve company names and create consultant records when provided.
| the_contract_id | string |
| client_contract_id | string |
| status | string |
| service_code | string |
| contract_start | string <date> |
| contract_end | string or null <date> |
| is_infinite | boolean |
| type | string |
| work_scope | string |
| notice_period | string |
| allocation | number |
| max_hours | integer |
| client_price | number |
| vendor_price | number |
| vat | number |
| seller_id | integer |
| hour_report | string |
| invoicing_channel | string |
| client_company_name | string |
| client_company_id | integer |
| client_business_id | string |
| unit | string |
| client_contact | string |
| client_purchase_order | string |
| vendor_company_name | string |
| vendor_company_for_client | string |
| vendor_contact | string |
| notes | string |
object | |
Array of strings or string |
{- "the_contract_id": "CNTR-2026-0005",
- "client_contract_id": "CL-5555",
- "status": "ongoing",
- "service_code": "SVC-01",
- "contract_start": "2026-01-22",
- "contract_end": "2019-08-24",
- "is_infinite": true,
- "type": "hourly",
- "work_scope": "Development and consulting",
- "notice_period": "14 days",
- "allocation": 100,
- "max_hours": 160,
- "client_price": 120.5,
- "vendor_price": 95,
- "vat": 24,
- "seller_id": 3,
- "hour_report": "weekly",
- "invoicing_channel": "email",
- "client_company_name": "La",
- "client_company_id": 0,
- "client_business_id": "FI12345678",
- "unit": "hours",
- "client_contact": "John Doe",
- "client_purchase_order": "PO-9876",
- "vendor_company_name": "Law",
- "vendor_company_for_client": "Provider for client view",
- "vendor_contact": "Vendor Contact Name",
- "notes": "Created via API - test contract",
- "selected_consultant": {
- "id": 0,
- "name": "string",
- "title": "string"
}, - "consult_skills": [
- "string"
]
}{- "message": "Contract created successfully",
- "id": 26,
- "the_contract_id": "CNTR-2026-0005"
}Terminate a contract and (optionally) delete it from records via the public wrapper.
| the_contract_id required | string Public contract id (e.g. CNTR-2026-0005) |
{- "message": "Contract deleted successfully"
}Lookup contract by numeric DB id and perform termination via internal API dispatch.
| id required | integer Numeric DB id of the contract |
{- "message": "Contract deleted successfully"
}Update contract fields. The public wrapper will merge partial payloads with existing contract data to avoid clearing required fields.
| the_contract_id required | string Public contract id |
| client_price | number |
| vendor_price | number |
| type | string |
| contract_start | string <date> |
| contract_end | string or null <date> |
| is_infinite | boolean |
| allocation | number |
| max_hours | integer |
| unit | string |
| service_code | string |
| work_scope | string |
| notice_period | string |
| client_company_name | string |
| client_company_id | integer |
| vendor_company_name | string |
| vendor_company_for_client | string |
| vendor_contact | string |
| notes | string |
object | |
Array of strings or string |
{- "client_price": 150,
- "vendor_price": 120,
- "type": "hourly",
- "contract_start": "2019-08-24",
- "contract_end": "2019-08-24",
- "is_infinite": true,
- "allocation": 75,
- "max_hours": 0,
- "unit": "string",
- "service_code": "string",
- "work_scope": "string",
- "notice_period": "string",
- "client_company_name": "string",
- "client_company_id": 0,
- "vendor_company_name": "string",
- "vendor_company_for_client": "string",
- "vendor_contact": "string",
- "notes": "string",
- "selected_consultant": {
- "id": 0,
- "name": "string",
- "title": "string"
}, - "consult_skills": [
- "string"
]
}{- "message": "Contract updated successfully"
}Update contract fields by numeric DB id.
| id required | integer Numeric DB id of the contract |
| client_price | number |
| vendor_price | number |
| type | string |
| contract_start | string <date> |
| contract_end | string or null <date> |
| is_infinite | boolean |
| allocation | number |
| max_hours | integer |
| unit | string |
| service_code | string |
| work_scope | string |
| notice_period | string |
| client_company_name | string |
| client_company_id | integer |
| vendor_company_name | string |
| vendor_company_for_client | string |
| vendor_contact | string |
| notes | string |
object | |
Array of strings or string |
{- "client_price": 150,
- "vendor_price": 120,
- "type": "hourly",
- "contract_start": "2019-08-24",
- "contract_end": "2019-08-24",
- "is_infinite": true,
- "allocation": 75,
- "max_hours": 0,
- "unit": "string",
- "service_code": "string",
- "work_scope": "string",
- "notice_period": "string",
- "client_company_name": "string",
- "client_company_id": 0,
- "vendor_company_name": "string",
- "vendor_company_for_client": "string",
- "vendor_contact": "string",
- "notes": "string",
- "selected_consultant": {
- "id": 0,
- "name": "string",
- "title": "string"
}, - "consult_skills": [
- "string"
]
}{- "message": "Contract updated successfully"
}