Create a contractor timesheet
Creates 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 by a company manager through the Authorization Code flow or the Refresh Token flow. See Authentication for partners.
- Company-scoped access token (assertion) (OAuth2CompanyManagerAssertion) — obtained through the urn:ietf:params:oauth:grant-type:jwt-bearer grant for a company manager. See OAuth Assertion.
- Customer API token (CustomerAPIToken) — generated by the customer on their Integration Settings page, with the scopes they choose there. See Authorization for customers.
Scopes
Any one of the scopes in a token type's row is enough. all:write works too.
| Token type | Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|---|
| Company-scoped access token | Manage timeoffs (time_and_attendance) | - | Manage timesheets (timesheet:write) |
| Company-scoped access token (assertion) | Manage timeoffs (time_and_attendance) | - | Manage timesheets (timesheet:write) |
| Customer API token | Manage timeoffs (time_and_attendance) | - | Manage timesheets (timesheet:write) |
Request
- Base URLhttps://gateway.remote.com
- URLhttps://gateway.remote.com/v1/contractors/employments/{employment_id}/timesheets
- Auth
- OAuth 2Authorization code: /auth/oauth2/authorizeToken URL: /auth/oauth2/token scopes: https://gateway.remote.com/company.manage
- or OAuth 2Authorization code: /auth/oauth2/authorizeToken URL: /auth/oauth2/token scopes: timesheet:write
- or OAuth 2Authorization code: /auth/oauth2/authorizeToken URL: /auth/oauth2/token scopes: all:write
- or OAuth 2Client credentialsToken URL: /auth/oauth2/token scopes: timesheet:write
- or OAuth 2Client credentialsToken URL: /auth/oauth2/token scopes: all:write
- or HTTP bearer
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
No recorded changes to this operation across all 1 revision of this API.