Skip to main content
POST
/
api
/
v1
/
hr
/
attendance
/
clock
cURL
curl -sS -X POST "$FLUIDE_BASE_URL/api/v1/hr/attendance/clock" \
  -H "Authorization: Bearer $FLUIDE_ACCESS_TOKEN" \
  -H "X-Fluide-Api-Key: $FLUIDE_API_KEY" \
  -H "X-Fluide-Client-Id: fluide-developer" \
  -H "Content-Type: application/json" \
  -d '{}'
{
  "success": true,
  "message": "Operation completed successfully",
  "data": {}
}

Authorizations

Authorization
string
header
required

Access token JWT. Use as Authorization: Bearer . In the API playground, paste the JWT only.

X-Fluide-Api-Key
string
header
default:fl_dev_your_key
required

Developer API key (fl_dev_...). Required on every API call with a machine access token.

X-Fluide-Client-Id
string
header
default:fluide-developer
required

First-party client audience. Must match the fluide_client_id claim on the JWT. Use fluide-developer for Connect.

Headers

idempotency-key
string
required

Body

application/json
hrEmployeeId
string<uuid>
required
kind
enum<string>
required
Available options:
CLOCK_IN,
CLOCK_OUT
clientRequestId
string

Idempotency token (or send Idempotency-Key header). When set, duplicate submits return the same clock row.

Maximum string length: 128
occurredAt
string

ISO 8601 instant; defaults to server now

source
enum<string>
Available options:
WEB,
MOBILE,
KIOSK,
SYSTEM
note
string
Maximum string length: 500
latitude
number

Client-reported latitude (geofence adapters may use later)

Required range: -90 <= x <= 90
longitude
number

Client-reported longitude

Required range: -180 <= x <= 180
geofenceId
string

Logical geofence / site id from your mobile app

Maximum string length: 100
deviceId
string

Client device identifier for attestation / audit

Maximum string length: 128
deviceAttestation
string

Opaque device attestation / integrity blob

Maximum string length: 4000
biometricVendor
string

Biometric stack vendor label (e.g. passkey provider)

Maximum string length: 64
skipPairValidation
boolean

If true and caller holds hr:attendance:write, skips IN/OUT alternation validation (HR correction)

Response

Created successfully

success
boolean
required

Whether the request succeeded

Example:

true

message
string
required

Human-readable outcome message (localized when i18n is configured)

Example:

"Operation completed successfully"

data
object

Endpoint-specific payload