Settings & Configuration

Retrieve time clock configuration including shift attachments and manual break settings. These endpoints help you understand what data fields are available when working with time activities.

Endpoints

MethodEndpointDescription
GET/time-clock/v1/time-clocks/{timeClockId}/shift-attachmentsGet shift attachment settings
GET/time-clock/v1/time-clocks/{timeClockId}/manual-breaksGet manual break settings

Shift Attachments

Shift attachments are custom data fields that employees can fill when clocking in/out. They capture additional information like mileage, equipment used, or client signatures.

Get Shift Attachments

curl --request GET \
  --url https://api.connecteam.com/time-clock/v1/time-clocks/12345/shift-attachments \
  --header 'X-API-KEY: YOUR_API_KEY'

Response

{
  "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "data": {
    "shiftAttachments": [
      {
        "id": "attach-001",
        "type": "freeText",
        "name": "Work Summary",
        "isRequired": true,
        "isEnabled": true
      },
      {
        "id": "attach-002",
        "type": "number",
        "name": "Miles Driven",
        "isRequired": false,
        "isEnabled": true
      },
      {
        "id": "attach-003",
        "type": "dropdownList",
        "name": "Equipment Used",
        "isRequired": true,
        "isEnabled": true,
        "items": [
          {
            "id": "item-001",
            "name": "Forklift",
            "isEnabled": true
          },
          {
            "id": "item-002",
            "name": "Crane",
            "isEnabled": true
          },
          {
            "id": "item-003",
            "name": "Delivery Van",
            "isEnabled": false
          }
        ]
      },
      {
        "id": "attach-004",
        "type": "signature",
        "name": "Client Signature",
        "isRequired": false,
        "isEnabled": true
      },
      {
        "id": "attach-005",
        "type": "image",
        "name": "Site Photo",
        "isRequired": false,
        "isEnabled": true
      },
      {
        "id": "attach-006",
        "type": "file",
        "name": "Inspection Report",
        "isRequired": false,
        "isEnabled": true
      }
    ]
  }
}

Attachment Types

TypeDescriptionValue Fields
freeTextText inputfreeText
numberNumeric inputnumber
dropdownListSelection from listitemId
imagePhoto captureimages
fileFile uploadfileName, fileUrl, files
signatureDigital signatureimage (base64)

Response Fields

FieldTypeDescription
idstringAttachment identifier
typestringAttachment type
namestringDisplay name
isRequiredbooleanWhether employees must fill this
isEnabledbooleanWhether attachment is active
itemsarrayFor dropdown type - available options

Manual Breaks

Manual breaks are predefined break types that users can record. Get this list to understand what break IDs to use when creating time activities.

Get Manual Breaks

curl --request GET \
  --url https://api.connecteam.com/time-clock/v1/time-clocks/12345/manual-breaks \
  --header 'X-API-KEY: YOUR_API_KEY'

Response

{
  "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "data": {
    "areManualBreaksEnabled": true,
    "manualBreaks": [
      {
        "id": "break-001",
        "name": "Lunch Break",
        "isPaid": false,
        "duration": 30
      },
      {
        "id": "break-002",
        "name": "Coffee Break",
        "isPaid": true,
        "duration": 15
      },
      {
        "id": "break-003",
        "name": "Rest Period",
        "isPaid": true,
        "duration": 10
      }
    ]
  }
}

Response Fields

FieldTypeDescription
areManualBreaksEnabledbooleanWhether manual breaks feature is enabled
manualBreaksarrayList of available break types

Manual Break Fields

FieldTypeDescription
idstringBreak type identifier (use in time activities)
namestringDisplay name
isPaidbooleanWhether break is paid time
durationintegerDefault duration in minutes
📝

Using Break IDs

When creating manual break time activities, use the id from this response as the id field in your create request.


Integration Example

async function getTimeClockConfiguration(timeClockId) {
  const [attachmentsRes, breaksRes] = await Promise.all([
    fetch(`https://api.connecteam.com/time-clock/v1/time-clocks/${timeClockId}/shift-attachments`, {
      headers: { 'X-API-KEY': 'YOUR_API_KEY' }
    }),
    fetch(`https://api.connecteam.com/time-clock/v1/time-clocks/${timeClockId}/manual-breaks`, {
      headers: { 'X-API-KEY': 'YOUR_API_KEY' }
    })
  ]);

  const [attachments, breaks] = await Promise.all([
    attachmentsRes.json(),
    breaksRes.json()
  ]);

  return {
    shiftAttachments: attachments.data.shiftAttachments,
    manualBreaksEnabled: breaks.data.areManualBreaksEnabled,
    manualBreaks: breaks.data.manualBreaks
  };
}

// Get configuration
const config = await getTimeClockConfiguration(12345);

// Find required attachments
const requiredFields = config.shiftAttachments.filter(a => a.isRequired);
console.log('Required fields:', requiredFields.map(a => a.name));

// Find paid breaks
const paidBreaks = config.manualBreaks.filter(b => b.isPaid);
console.log('Paid break options:', paidBreaks.map(b => b.name));

Reading Shift Attachment Values

When you retrieve time activities, shift attachments appear with their values:

{
  "shiftAttachments": [
    {
      "shiftAttachmentId": "attach-001",
      "attachment": {
        "freeText": "Completed all deliveries"
      }
    },
    {
      "shiftAttachmentId": "attach-002",
      "attachment": {
        "number": 45.5
      }
    },
    {
      "shiftAttachmentId": "attach-003",
      "attachment": {
        "itemId": "item-001"
      }
    },
    {
      "shiftAttachmentId": "attach-005",
      "attachment": {
        "images": [
          "https://storage.connecteam.com/image1.jpg",
          "https://storage.connecteam.com/image2.jpg"
        ]
      }
    }
  ]
}

API Reference