---
title: "Perform a check-in"
method: POST
path: "/workorders/{workorderId}/universalCheckIn"
tags: ["WorkOrders"]
---

# Perform a check-in

`POST /workorders/{workorderId}/universalCheckIn`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/workorders/{workorderId}/universalCheckIn`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/workorders/:workorderId/universalCheckIn/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a check-in record of the indicated work type: travel, repair, or custom. Returns `MechanicId` for a successful request.
            See the [Check-In/Out guide](/guides/checkin/about-check-in-out/) for code snippets and detailed instructions.
            <br />***Note:*** [Special permission](/guides/checkin/before-you-start/#check-inout-permissions) is required for the Travel and Repair work types.
            <br />**Example Request**
            
                POST /workorders/{workorderId}/universalCheckIn
                {
                  "WorkTypeId": 1,
                  "UserId": 1544987,
                  "TechsCount": 2,
                  "Latitude": 40.736618,
                  "Longitude": -73.991806,
                  "CheckInTime": "2018-10-23T08:30:00Z"
                }

## Path parameters

- `workorderId` integer, required

## Request body

- ServiceChannelServicesMessagingWorkordersCheckInRequest: Check-in request
  - `WorkTypeId` integer: The unique ID of the work type. **Possible values:** `1` — Repair, `2` — Travel. Other values are possible when custom types are set up for the subscriber. **Default value:** 1.
  - `UserId` integer: The user ID of the technician that is checking in. Use the same `UserId` for one pair of check-in and check-out records. **Default value:** ID of the current user.
  - `TechsCount` integer: The number of technicians that are checking in. **Default value:** 1.
  - `Latitude` number, double, required: The latitude of the technician’s current position. Required for the Repair type. Not required for the Travel and custom types as well as for the Repair type when the [XML check-in/out permission](/guides/checkin/before-you-start/#xml-check-inout-permission) is enabled.
  - `Longitude` number, double, required: The longitude of the technician’s current position. Required for the Repair type. Not required for the Travel and custom types as well as for the Repair type when the [XML check-in/out permission](/guides/checkin/before-you-start/#xml-check-inout-permission) is enabled.
  - `CheckInTime` string, date-time: The date and time of the check-in. Either indicate in UTC or pass the current time and add the UTC offset. You can pass this value only when the [XML check-in/out permission](/guides/checkin/before-you-start/#xml-check-inout-permission) is enabled. **Default value:** current date and time.
  - `Actor` string: Optional, Actor

## Response `200`

The check-in record is created.

- ServiceChannelServicesMessagingCheckInOutCheckInOutResponse: Check In/Out Response
  - `MechanicId` integer: The unique ID of the reported check-in/out action.

## Other responses

- `400`: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc. <br/>Error codes: 502 - Work order not found 503 - Required data missing or incorrect 503 - Provide your location to perform check-in or check-out 503 - Work type not found 503 - Check-in or check-out premature 503 - Check-in or check-out time should be close to current location time 503 - Check-in or check-out out of date 804 - User has no permission to perform this action 917 - Invalid WO tracking number 921 - Cannot update work order in one of the completed statuses 924 - Work order has been invoiced and cannot be changed 924 - No changes can be made to this maintenance work order because it is expired or premature 924 - Cannot check in/out of work order in … status 924 - Client not participating in GPS check-in process; use IVR 924 - Store has no GPS coordinates 941 - Can’t perform check-in or check-out: out of ... mile range
- `401`: The request is not authorized. <br/>Error codes: 504 - Missing or incorrect authentication credentials
- `405`: The method is not allowed.

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
