Attendance

The attendance resource is used to track contact attendance.

Attendance object

{
  "id": "01993393-9747-7e6e-8322-498f9666bae9",
  "tenant": "01988bb8-1cfb-7c87-9326-93op0349288e",
  "location": "0198cf96-fb27-7b89-8a53-bbee33829cf4",
  "contact": "0198a643-d4d6-74d1-aab2-jw4zf7n6s8gq",
  "setting": "onsite",
  "unit": null,
  "time_in": "2025-09-10 11:52:00",
  "time_out": "2025-09-10 21:00:00",
  "archived_at": null,
  "created_at": "2025-09-10 12:22:14",
  "updated_at": "2025-09-15 15:41:40"
}

Fields

  • id
    required readonly string
    Unique ID of the record.
  • tenant
    required readonly string
    Unique ID of the tenant.
  • location
    nullable string
    Unique ID of the location.
  • contact
    required string
    Unique ID of the contact.
  • setting
    required string
    One of:
    • offsite
    • onsite
    • virtual
  • unit
    nullable string
    Unique ID of the unit.
  • time_in
    required string
    UTC timestamp of when the contact checked in.
  • time_out
    nullable string
    UTC timestamp of when the contact checked out. This value must be after time_in.
  • archived_at
    nullable string
    UTC timestamp of when the record was archived.
  • created_at
    required readonly string
    UTC timestamp of when the record was created.
  • updated_at
    nullable readonly string
    UTC timestamp of when the record was last updated.

Create an attendance

POST /tenants/{tenantId}/attendance

The request body must include an attendance object.

Required permissions

attendance:create locations:read contacts:read options:read

Response

HTTP status Title Description Schema
201 Created Successfully created Attendance object
400 Bad Request Invalid or missing field(s) Error object
404 Not Found Tenant not found Error object
409 Conflict Contact already checked in Error object

List attendance

GET /tenants/{tenantId}/attendance

This endpoint also supports filtering records to only those associated with specific contact types using query parameters.

  • ?member=true: Returns only records associated with contacts that are members. Requires the members:read permission.
  • ?member=false: Returns only records associated with contacts that are not members. Requires the members:read permission.
  • ?staff=true: Returns only records associated with contacts that are staff. Requires the staff:read permission.
  • ?staff=false: Returns only records associated with contacts that are not staff. Requires the staff:read permission.

Required permissions

attendance:read locations:read contacts:read options:read

Response

HTTP status Title Description Schema
200 OK An associative array of attendance objects
400 Bad Request Invalid parameters in the request query Error object
404 Not Found Tenant not found Error object

Read an attendance

GET /tenants/{tenantId}/attendance/{id}

Required permissions

attendance:read locations:read contacts:read options:read

Response

HTTP status Title Description Schema
200 OK Attendance object
400 Bad Request Invalid parameters in the request query Error object
404 Not Found Tenant or attendance ID not found Error object

Update an attendance

PATCH /tenants/{tenantId}/attendance/{id}

The request body must include parts of an attendance object.

Required permissions

attendance:update locations:read contacts:read options:read

Response

HTTP status Title Description Schema
200 OK Updated attendance record Attendance object
400 Bad Request Invalid or missing field(s) Error object
404 Not Found Tenant or attendance ID not found Error object
409 Conflict Contact already checked in Error object

Delete an attendance

DELETE /tenants/{tenantId}/attendance/{id}

Required permissions

attendance:delete

Response

HTTP status Title Description Schema
204 No content Successfully deleted
404 Not Found Tenant ID not found Error object
Was this page helpful?
© 2026 Bloom Data · System status