Solo
Solo clients
Solo client request and response fields.
Base URL https://api.klockwork.org. Send the agency key and X-Klockwork-Talent (or talentId). The call acts as that active talent. /api/public/solo/public returns 404.
List clients
GET /api/public/solo/clients
Query:
| Field | Type | Required |
|---|---|---|
status | "active" or "archived" or "all" | no |
Response 200: { clients: Client[] }
| Field | Type | Required |
|---|---|---|
id | string (uuid) | yes |
clerkUserId | string, min 1 | yes |
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
status | "active" or "archived" | yes |
unpaidBreakHours | number, min 0 or null | yes |
billingAddress | string or null | yes |
billingStreet | string or null | yes |
billingCity | string or null | yes |
billingState | string or null | yes |
billingPostal | string or null | yes |
billingCountry | string or null | yes |
paymentTermsOverride | string or null | yes |
internalNotes | string or null | yes |
colorTag | string or null | yes |
lastUsedAt | string or null | yes |
useGlobalWeekSchedule | boolean | yes |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | yes |
workDaysPerWeek | integer, min 1, max 7 or null | yes |
createdAt | string | yes |
updatedAt | string | yes |
Create a client
POST /api/public/solo/clients
Request body:
| Field | Type | Required |
|---|---|---|
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
unpaidBreakHours | number, min 0 or null | no |
billingAddress | string or null | no |
billingStreet | string or null | no |
billingCity | string or null | no |
billingState | string or null | no |
billingPostal | string or null | no |
billingCountry | string or null | no |
paymentTermsOverride | string or null | no |
internalNotes | string or null | no |
colorTag | string or null | no |
useGlobalWeekSchedule | boolean, default true | no |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | no |
workDaysPerWeek | integer, min 1, max 7 or null | no |
Response 201: { client: Client }
| Field | Type | Required |
|---|---|---|
id | string (uuid) | yes |
clerkUserId | string, min 1 | yes |
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
status | "active" or "archived" | yes |
unpaidBreakHours | number, min 0 or null | yes |
billingAddress | string or null | yes |
billingStreet | string or null | yes |
billingCity | string or null | yes |
billingState | string or null | yes |
billingPostal | string or null | yes |
billingCountry | string or null | yes |
paymentTermsOverride | string or null | yes |
internalNotes | string or null | yes |
colorTag | string or null | yes |
lastUsedAt | string or null | yes |
useGlobalWeekSchedule | boolean | yes |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | yes |
workDaysPerWeek | integer, min 1, max 7 or null | yes |
createdAt | string | yes |
updatedAt | string | yes |
Get a client
GET /api/public/solo/clients/{id}
Response 200: { client: Client }
| Field | Type | Required |
|---|---|---|
id | string (uuid) | yes |
clerkUserId | string, min 1 | yes |
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
status | "active" or "archived" | yes |
unpaidBreakHours | number, min 0 or null | yes |
billingAddress | string or null | yes |
billingStreet | string or null | yes |
billingCity | string or null | yes |
billingState | string or null | yes |
billingPostal | string or null | yes |
billingCountry | string or null | yes |
paymentTermsOverride | string or null | yes |
internalNotes | string or null | yes |
colorTag | string or null | yes |
lastUsedAt | string or null | yes |
useGlobalWeekSchedule | boolean | yes |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | yes |
workDaysPerWeek | integer, min 1, max 7 or null | yes |
createdAt | string | yes |
updatedAt | string | yes |
Update a client
PATCH /api/public/solo/clients/{id}
Every field is optional.
Request body:
| Field | Type | Required |
|---|---|---|
displayName | string, min 1 | no |
contactPersonName | string, min 1 | no |
invoiceEmail | string (email) | no |
hourlyRate | number, min 0 | no |
currency | string, min 1, max 8 | no |
hoursPerDay | number | no |
shiftStart | string | no |
shiftEnd | string | no |
timezone | string, min 1 | no |
unpaidBreakHours | number, min 0 or null | no |
billingAddress | string or null | no |
billingStreet | string or null | no |
billingCity | string or null | no |
billingState | string or null | no |
billingPostal | string or null | no |
billingCountry | string or null | no |
paymentTermsOverride | string or null | no |
internalNotes | string or null | no |
colorTag | string or null | no |
useGlobalWeekSchedule | boolean, default true | no |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | no |
workDaysPerWeek | integer, min 1, max 7 or null | no |
status | "active" or "archived" | no |
Response 200: { client: Client }
| Field | Type | Required |
|---|---|---|
id | string (uuid) | yes |
clerkUserId | string, min 1 | yes |
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
status | "active" or "archived" | yes |
unpaidBreakHours | number, min 0 or null | yes |
billingAddress | string or null | yes |
billingStreet | string or null | yes |
billingCity | string or null | yes |
billingState | string or null | yes |
billingPostal | string or null | yes |
billingCountry | string or null | yes |
paymentTermsOverride | string or null | yes |
internalNotes | string or null | yes |
colorTag | string or null | yes |
lastUsedAt | string or null | yes |
useGlobalWeekSchedule | boolean | yes |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | yes |
workDaysPerWeek | integer, min 1, max 7 or null | yes |
createdAt | string | yes |
updatedAt | string | yes |
Delete a client
DELETE /api/public/solo/clients/{id}
Response 200: { ok: true }
Touch a client
POST /api/public/solo/clients/{id}/touch
No request body.
Response 200: { client: Client }
| Field | Type | Required |
|---|---|---|
id | string (uuid) | yes |
clerkUserId | string, min 1 | yes |
displayName | string, min 1 | yes |
contactPersonName | string, min 1 | yes |
invoiceEmail | string (email) | yes |
hourlyRate | number, min 0 | yes |
currency | string, min 1, max 8 | yes |
hoursPerDay | number | yes |
shiftStart | string | yes |
shiftEnd | string | yes |
timezone | string, min 1 | yes |
status | "active" or "archived" | yes |
unpaidBreakHours | number, min 0 or null | yes |
billingAddress | string or null | yes |
billingStreet | string or null | yes |
billingCity | string or null | yes |
billingState | string or null | yes |
billingPostal | string or null | yes |
billingCountry | string or null | yes |
paymentTermsOverride | string or null | yes |
internalNotes | string or null | yes |
colorTag | string or null | yes |
lastUsedAt | string or null | yes |
useGlobalWeekSchedule | boolean | yes |
weekStartsOn | "monday" or "tuesday" or "wednesday" or "thursday" or "friday" or "saturday" or "sunday" or null | yes |
workDaysPerWeek | integer, min 1, max 7 or null | yes |
createdAt | string | yes |
updatedAt | string | yes |
