Positions
The positions resource is used to track employment positions.
Position object
{
"id": "0198bf9e-788d-708b-a7a4-237c54d87f5e",
"tenant": "01988bb8-1cfb-7c87-9326-93op0349288e",
"location": null,
"employer": "0198bf9e-788a-7de1-96d9-qb0ri8dmu035",
"staff_contact": null,
"member": "0198aee3-e20a-72e4-9ed9-zqjlbvi6ifqd",
"position_identifier": null,
"title": "Sales Associate ",
"category": "ie",
"type": "part_time",
"industry": "other",
"hours_week": 20,
"notes": null,
"meta": null,
"date_start": "2024-01-01",
"date_end": "2025-07-31",
"archived_at": null,
"created_at": "2025-08-18 19:58:10",
"updated_at": "2025-09-30 12:30:01"
}
Fields
- idrequired readonly stringUnique ID of the record.
- tenantrequired readonly stringUnique ID of the tenant.
- locationnullable stringUnique ID of the location.
- employerrequired stringUnique ID of the employer.
- staff_contactnullable stringUnique ID of the staff contact.
- membernullable stringUnique ID of the member.
- position_identifiernullable stringUnique identifier for the position within the tenant.
- titlerequired stringTitle of the position.
- categoryrequired stringOne of:
dy(One day job)gp(Group placement)ie(Independent employment)te(Transitional employment)se(Supported employment)other(Other)
- typerequired stringOne of:
part_time(Part-time)full_time(Full-time)per_diem(Per diem)contract(Contract)internship(Internship)seasonal(Seasonal)self_employed(Self-employed)temporary(Temporary)
- industryrequired stringOne of:
administrative(Administrative)agriculture(Agriculture)construction(Construction)education(Education)finance(Finance)food(Food service)healthcare(Healthcare)manufacturing(Manufacturing)professional(Professional services)real_estate(Real estate)retail(Retail)service(Services)trades(Trades)transportation(Transportation)utilities(Utilities)other(Other)
- hours_weekrequired integerApproximate number of hours per week.
- notesnullable stringAdditional notes about the position.
- metanullable objectAdditional metadata about the position.
- date_startrequired stringStart date of the position (YYYY-MM-DD).
- date_endnullable stringEnd date of the position (YYYY-MM-DD). This value must be after
date_start. - archived_atnullable stringUTC timestamp of when the record was archived.
- created_atrequired readonly stringUTC timestamp of when the record was created.
- updated_atnullable readonly stringUTC timestamp of when the record was last updated.
Create a position
POST /tenants/{tenantId}/posiitons
The request body must include a position object.
Required permissions
positions:create locations:read contacts:read members:read staff:read
Response
| HTTP status | Title | Description | Schema |
|---|---|---|---|
| 201 | Created | Successfully created | Position object |
| 400 | Bad Request | Invalid or missing field(s) | Error object |
| 404 | Not Found | Tenant not found | Error object |
| 409 | Conflict | Position identifier already exists for teannt | Error object |
List positions
GET /tenants/{tenantId}/positions
Required permissions
positions:read locations:read contacts:read members:read staff:read
Response
| HTTP status | Title | Description | Schema |
|---|---|---|---|
| 200 | OK | An associative array of position objects | |
| 400 | Bad Request | Invalid parameters in the request query | Error object |
| 404 | Not Found | Tenant not found | Error object |
Read a position
GET /tenants/{tenantId}/positions/{id}
Required permissions
positions:read locations:read contacts:read members:read staff:read
Response
| HTTP status | Title | Description | Schema |
|---|---|---|---|
| 200 | OK | Position object | |
| 400 | Bad Request | Invalid parameters in the request query | Error object |
| 404 | Not Found | Tenant or attendance ID not found | Error object |
Update a position
PATCH /tenants/{tenantId}/positions/{id}
The request body must include parts of an position object.
Required permissions
positions:update locations:read contacts:read members:read staff:read
Response
| HTTP status | Title | Description | Schema |
|---|---|---|---|
| 200 | OK | Updated position record | Position object |
| 400 | Bad Request | Invalid or missing field(s) | Error object |
| 404 | Not Found | Tenant or position ID not found | Error object |
| 409 | Conflict | Contact already checked in | Error object |
Delete a position
DELETE /tenants/{tenantId}/positions/{id}
Required permissions
positions:delete
Response
| HTTP status | Title | Description | Schema |
|---|---|---|---|
| 204 | No content | Successfully deleted | |
| 404 | Not Found | Tenant ID not found | Error object |
Was this page helpful?