Skip to main content

EntryRow

A row represents a unique combination of entry column values (project, codes, comment). Each row aggregates entries across all dates in the period.

Note that the exact keys present here (e.g., code3+) may depend on other system settings, including whether additional entry columns are activated system-wide.

projectstringnullable

Project ID for this row

Example: p_d_1_1
project_namestring

Project display name

Example: D.01.01 Delta Maine Portland
code0stringnullable

Activity/Task code

Example: Meetings
code0_namestring

Activity/Task display name

Example: Meetings
code1stringnullable

Pay type code (time) or expense type code

Example: Regular
code1_namestring

Pay/expense type display name

Example: Regular
code2stringnullable

Bill type code (time) or currency code (expense)

Example: Standard
code2_namestring

Bill/currency type display name

Example: Standard
code3stringnullable

Additional code column (if configured)

code3_namestring

Additional code display name

code4stringnullable

Additional code column (if configured)

code4_namestring

Additional code display name

code5stringnullable

Additional code column (if configured)

code5_namestring

Additional code display name

code6stringnullable

Additional code column (if configured)

code6_namestring

Additional code display name

commentstring

Text comment for this row

Example: Team standup meeting
totalnumber<float>required

Sum of amounts across all cells in this row

Example: 40
read_onlyboolean

Whether this row is read-only (e.g., submitted/approved entries)

Example: false
interim_submittedboolean

Whether this row has been interim submitted

Example: false
interim_approvedboolean

Whether this row has been interim approved

Example: false
id_suggestionstringnullable

ID of the suggestion that generated this row (if any)

Example: null
suggestionobjectnullable

Details about the suggestion that generated this row

cells object[]required

Array of cells (one per date in the period)

  • Array [
  • datestringrequired

    Date in F8 format (YYYYMMDD)

    Possible values: Value must match regular expression ^\d{8}$

    Example: 20251103
    amountnumber<float>required

    The entry amount for this cell:

    • For time: hours (e.g., 8.0)
    • For expense: monetary amount or mileage
    • For custom: distance
    Example: 8
    idsstring[]

    Array of entry record IDs that contribute to this cell's total. Multiple IDs indicate multiple entries for the same row/date combination.

    Example: ["time_rec_12345","time_rec_67890"]
    attachments object[]

    File attachments associated with this cell

  • Array [
  • uniqueidstringrequired

    Encoded unique identifier for the attachment. Used to retrieve or delete the attachment.

    This can be provided to the getAttachmentByEncodedId legacy API method to retrieve the file.

    Example: dGltZV9hdHRhY2htZW50czoxMjM0NQ==
    creatorstringrequired

    User ID of the person who uploaded the attachment

    Example: alice
    create_timestampnumber<double>required

    Unix timestamp when the attachment was uploaded

    Example: 1762196180
    notestring

    Optional description or note about the attachment

    Example: Receipt for client lunch meeting
    filenamestringrequired

    Original filename of the uploaded file

    Example: receipt_2025-11-03.pdf
    mimetypestring

    MIME type of the file

    Example: application/pdf
    sizeinteger

    File size in bytes

    Example: 524288
  • ]
  • notes object[]

    Diary notes associated with this cell

  • Array [
  • idstringrequired

    Unique identifier for the note

    Example: note_12345
    textstringrequired

    The note text content

    Example: Worked on bug fixes for the login module
    modifiedboolean

    Whether the note has been modified since creation

    Example: false
  • ]
  • locations object[]

    GPS locations recorded for entries in this cell

  • Array [
  • coords objectrequired

    Geographic coordinates

    latitudenumber<double>required

    Latitude in decimal degrees

    Example: 30.0613632
    longitudenumber<double>required

    Longitude in decimal degrees

    Example: -99.1363072
    altitudenumber<double>nullable

    Altitude in meters above sea level (when available).

    Example: null
    accuracynumber<float>

    Horizontal accuracy in meters. A geofence can have a minimum required accuracy, but different devices may have different capabilities.

    Example: 963.78847
    notesstring

    Additional notes or description for this location. This is only rarely provided / available.

    Example:
    timestampnumber<double>required

    Unix timestamp (milliseconds) when the location was captured

    Example: 1762542072875
  • ]
  • ]
  • punchlists object[]

    Punch-in/punch-out times for this row (time entries only with job start/stop). Job-based punches are attached to rows rather than individual dates.

  • Array [
  • punches object[]

    List of punch-in/punch-out pairs. (Each pair is a single object here.)

  • Array [
  • time_instringrequired

    Punch-in time in HH:MM format (24-hour)

    Example: 08:00
    time_in_unix_epochnumber<double>required

    Punch-in time as Unix timestamp

    Example: 1730894400
    time_in_ISO_8601string<date-time>required

    Punch-in time in ISO 8601 format

    Example: 2025-11-04T08:00:00-06:00
    time_in_location object

    Location captured at punch-in time (optional)

    coords objectrequired

    Geographic coordinates

    latitudenumber<double>required

    Latitude in decimal degrees

    Example: 30.0613632
    longitudenumber<double>required

    Longitude in decimal degrees

    Example: -99.1363072
    altitudenumber<double>nullable

    Altitude in meters above sea level (when available).

    Example: null
    accuracynumber<float>

    Horizontal accuracy in meters. A geofence can have a minimum required accuracy, but different devices may have different capabilities.

    Example: 963.78847
    notesstring

    Additional notes or description for this location. This is only rarely provided / available.

    Example:
    timestampnumber<double>required

    Unix timestamp (milliseconds) when the location was captured

    Example: 1762542072875
    time_outstringnullable

    Punch-out time in HH:MM format (24-hour). Null for open punches (not yet punched out).

    Example: 12:00
    time_out_unix_epochnumber<double>nullable

    Punch-out time as Unix timestamp

    Example: 1762279200
    time_out_ISO_8601string<date-time>nullable

    Punch-out time in ISO 8601 format

    Example: 2025-11-04T12:00:00-06:00
    time_out_location object

    Location captured at punch-out time (optional)

    coords objectrequired

    Geographic coordinates

    latitudenumber<double>required

    Latitude in decimal degrees

    Example: 30.0613632
    longitudenumber<double>required

    Longitude in decimal degrees

    Example: -99.1363072
    altitudenumber<double>nullable

    Altitude in meters above sea level (when available).

    Example: null
    accuracynumber<float>

    Horizontal accuracy in meters. A geofence can have a minimum required accuracy, but different devices may have different capabilities.

    Example: 963.78847
    notesstring

    Additional notes or description for this location. This is only rarely provided / available.

    Example:
    timestampnumber<double>required

    Unix timestamp (milliseconds) when the location was captured

    Example: 1762542072875
  • ]
  • ]
  • EntryRow
    {
    "project": "p_d_1_1",
    "project_name": "D.01.01 Delta Maine Portland",
    "code0": "Meetings",
    "code0_name": "Meetings",
    "code1": "Regular",
    "code1_name": "Regular",
    "code2": "Standard",
    "code2_name": "Standard",
    "code3": "string",
    "code3_name": "string",
    "code4": "string",
    "code4_name": "string",
    "code5": "string",
    "code5_name": "string",
    "code6": "string",
    "code6_name": "string",
    "comment": "Team standup meeting",
    "total": 40,
    "read_only": false,
    "interim_submitted": false,
    "interim_approved": false,
    "id_suggestion": null,
    "suggestion": {},
    "cells": [
    {
    "date": "20251103",
    "amount": 8,
    "ids": [
    "time_rec_12345",
    "time_rec_67890"
    ],
    "attachments": [
    {
    "uniqueid": "dGltZV9hdHRhY2htZW50czoxMjM0NQ==",
    "creator": "alice",
    "create_timestamp": 1762196180,
    "note": "Receipt for client lunch meeting",
    "filename": "receipt_2025-11-03.pdf",
    "mimetype": "application/pdf",
    "size": 524288
    }
    ],
    "notes": [
    {
    "id": "note_12345",
    "text": "Worked on bug fixes for the login module",
    "modified": false
    }
    ],
    "locations": [
    {
    "coords": {
    "latitude": 30.0613632,
    "longitude": -99.1363072,
    "altitude": null,
    "accuracy": 963.78847
    },
    "notes": "",
    "timestamp": 1762542072875
    }
    ]
    }
    ],
    "punchlists": [
    {
    "punches": [
    {
    "time_in": "08:00",
    "time_in_unix_epoch": 1730894400,
    "time_in_ISO_8601": "2025-11-04T08:00:00-06:00",
    "time_in_location": {
    "coords": {
    "latitude": 30.0613632,
    "longitude": -99.1363072,
    "altitude": null,
    "accuracy": 963.78847
    },
    "notes": "",
    "timestamp": 1762542072875
    },
    "time_out": "12:00",
    "time_out_unix_epoch": 1762279200,
    "time_out_ISO_8601": "2025-11-04T12:00:00-06:00",
    "time_out_location": {
    "coords": {
    "latitude": 30.0613632,
    "longitude": -99.1363072,
    "altitude": null,
    "accuracy": 963.78847
    },
    "notes": "",
    "timestamp": 1762542072875
    }
    }
    ]
    }
    ]
    }