Create a contractor timesheet
Changed onCreates a timesheet on behalf of a contractor employment.
The timesheet is created as an open draft, matching a timesheet the contractor creates themselves: the contractor can still edit the hours, and the customer approves them through the contractor's invoice rather than the timesheet. Contractor timesheets can't be submitted or approved through the API.
The hours are immediately available to the contractor in the Remote UI for self-serve invoice creation (Invoices → Create invoice → "Use Time Tracking").
This endpoint is restricted to contractor employments. Calls against EOR or Global Payroll employments are rejected with 422.
Authentication
This endpoint accepts any one of the following token types:
- Company-scoped access token (OAuth2AuthorizationCode) — obtained through the Authorization Code flow or the Refresh Token flow. See Authentication for partners.
- Customer API token (CustomerAPIToken) — generated by the customer on their Integration Settings page. See Authorization for customers.
Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage timeoffs (time_and_attendance) | - | Manage timesheets (timesheet:write) |
Request
- Base URL: https://gateway.remote.com
- URL: https://gateway.remote.com/v1/contractors/employments/{employment_id}/timesheets
- Auth: HTTP bearer and OAuth 2 (authorization code, authorization URL /auth/oauth2/authorize, token URL /auth/oauth2/token, scopes: https://gateway.remote.com/company.manage, timesheet:write, time_and_attendance, all:write)
Path parameters
Contractor employment ID
Request body
Example request
{
"end_date": "2021-07-01",
"start_date": "2021-07-01",
"time_trackings": [
{
"clock_in": "2021-07-15T18:18:17Z",
"clock_out": "2021-07-15T18:18:17Z",
"notes": "Project Alpha",
"timezone": "Etc/UTC",
"type": "regular_hours"
}
]
}Response
Success
Example response
{
"data": {
"timesheet": {
"break_hours": {
"hours": 35,
"minutes": 13
},
"country_code": "PRT",
"employment_id": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
"end_date": "2021-07-01",
"id": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
"notes": null,
"on_call_hours": {
"hours": 35,
"minutes": 13
},
"regular_hours": {
"hours": 35,
"minutes": 13
},
"start_date": "2021-07-01",
"status": "open",
"submitted_at": null,
"time_trackings": [
{
"clock_in": "2021-07-15T18:18:17Z",
"clock_out": "2021-07-15T18:18:17Z",
"notes": "Project Alpha",
"timezone": "Etc/UTC",
"total_hours": {
"hours": 35,
"minutes": 13
},
"type": "regular_hours"
}
],
"total_hours": {
"hours": 35,
"minutes": 13
}
}
}
}Changes
- info
added the required property
//to the response with the status
- info
- breaking
the response's body type changed from
objectto no type for status - info
added to the response body
anyOflist for the response status - info
removed
subschema #1subschema #2from the response bodyanyOflist for the response status
- breaking