---
updatedAt: 2026-01-28T14:52:06.000Z
---

Fetch the complete documentation index at: https://developer.connecteam.com/llms.txt. Use this file to discover all available pages before exploring further.

# 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

| Method | Endpoint                                                   | Description                   |
| :----- | :--------------------------------------------------------- | :---------------------------- |
| GET    | /time-clock/v1/time-clocks/{timeClockId}/shift-attachments | Get shift attachment settings |
| GET    | /time-clock/v1/time-clocks/{timeClockId}/manual-breaks     | Get 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

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

### Response

```json
{
  "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

| Type           | Description         | Value Fields                   |
| :------------- | :------------------ | :----------------------------- |
| `freeText`     | Text input          | `freeText`                     |
| `number`       | Numeric input       | `number`                       |
| `dropdownList` | Selection from list | `itemId`                       |
| `image`        | Photo capture       | `images`                       |
| `file`         | File upload         | `fileName`, `fileUrl`, `files` |
| `signature`    | Digital signature   | `image` (base64)               |

### Response Fields

| Field      | Type    | Description                           |
| :--------- | :------ | :------------------------------------ |
| id         | string  | Attachment identifier                 |
| type       | string  | Attachment type                       |
| name       | string  | Display name                          |
| isRequired | boolean | Whether employees must fill this      |
| isEnabled  | boolean | Whether attachment is active          |
| items      | array   | For 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

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

### Response

```json
{
  "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

| Field                  | Type    | Description                              |
| :--------------------- | :------ | :--------------------------------------- |
| areManualBreaksEnabled | boolean | Whether manual breaks feature is enabled |
| manualBreaks           | array   | List of available break types            |

### Manual Break Fields

| Field    | Type    | Description                                    |
| :------- | :------ | :--------------------------------------------- |
| id       | string  | Break type identifier (use in time activities) |
| name     | string  | Display name                                   |
| isPaid   | boolean | Whether break is paid time                     |
| duration | integer | Default 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

```javascript
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:

```json
{
  "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](https://developer.connecteam.com/reference/)