Skip to main content
POST
/
v1
/
timekeeping
/
timecard
/
punches
Create Timecard Punch
curl --request POST \
  --url https://app.untetherlabs.com/api/v1/timekeeping/timecard/punches \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "provider": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "action": "clock_in",
  "time": "2024-11-20T07:43:34+0000",
  "timecard": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "state": "pending",
  "providerNote": "Felt sick, had to leave early.",
  "adminNote": "Adjusted to schedule."
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "timecardId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "providerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "createdAt": "2024-11-20T07:43:34+0000",
  "updatedAt": "2024-11-20T07:43:34+0000",
  "action": "clock_in",
  "state": "pending",
  "time": "2024-11-20T07:43:34+0000",
  "providerNote": "Felt sick, had to leave early.",
  "adminNote": "Adjusted to schedule.",
  "generated": false
}
Create a new punch for a specific timecard

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
provider
string<uuid>
required
action
enum<string>
required
Available options:
clock_in,
clock_out,
break_start,
break_end
time
string
required
Example:

"2024-11-20T07:43:34+0000"

timecard
string<uuid>

The ID of the timecard to associate the punch. Must not be present for clock_in, required for all other states.

state
enum<string>
default:pending
Available options:
pending,
approved,
rejected
providerNote
string
Example:

"Felt sick, had to leave early."

adminNote
string
Example:

"Adjusted to schedule."

Response

id
string<uuid>
required
timecardId
string<uuid>
required
providerId
string<uuid>
required
createdAt
string
required
Example:

"2024-11-20T07:43:34+0000"

updatedAt
string
required
Example:

"2024-11-20T07:43:34+0000"

action
enum<string>
required
Available options:
clock_in,
clock_out,
break_start,
break_end
state
enum<string>
required
Available options:
pending,
approved,
rejected
time
string
required
Example:

"2024-11-20T07:43:34+0000"

providerNote
string | null
required
Example:

"Felt sick, had to leave early."

adminNote
string | null
required
Example:

"Adjusted to schedule."

generated
boolean
default:false