# Check-ins

> Dailybot API endpoints for check-ins: create, list, retrieve, update, and delete check-in configurations, plus manage check-in responses with pagination, search, and date range.

Language: en
Canonical: https://www.dailybot.com/developers/api/check-ins
Markdown: send header `Accept: text/markdown` on any URL to receive Markdown instead of HTML.
Last Updated: 2026-07-10

---

# Check-ins

Dailybot API endpoints for the check-in surface: create, list, retrieve, update, and delete check-in configurations, plus manage the responses collected against them. A check-in collects structured answers from team members on a recurring schedule.

The interactive reference — with live parameter tables, request/response schemas, and copy-pasteable curl samples — is at [/developers/api/check-ins](/developers/api/check-ins).

> **Deprecation notice:** `GET /v1/followups/` and `GET /v1/followups/{uuid}/responses/` are deprecated. Use `GET /v1/checkins/` and `GET /v1/checkins/{uuid}/responses/` instead. The legacy paths continue to work but will be removed in a future release.

## Endpoints summary

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/v1/checkins/` | List all check-ins in the organization |
| POST | `/v1/checkins/` | Create a new check-in |
| GET | `/v1/checkins/{uuid}/` | Get a specific check-in |
| PATCH | `/v1/checkins/{uuid}/` | Update a check-in |
| DELETE | `/v1/checkins/{uuid}/` | Delete a check-in |
| GET | `/v1/checkins/{uuid}/responses/` | List responses for a check-in |

---

## GET /v1/checkins/

Returns all check-ins in the organization. Results are paginated (default ordering: `-created_at`).

### Query parameters

| Name | Type | Default | Description |
|------|------|---------|-------------|
| `page` | integer | 1 | Page number (1-indexed). `offset` is accepted as an alias. |
| `page_size` | integer | 50 | Items per page (max 200). `limit` is accepted as an alias. |
| `search` | string | — | Case-insensitive search on check-in name (max 256 chars). |
| `start_date` | string | — | Filter check-ins created on or after this date (`YYYY-MM-DD`, caller's timezone). |
| `end_date` | string | — | Filter check-ins created on or before this date (`YYYY-MM-DD`, caller's timezone). |
| `date` | string | — | Date for context (`YYYY-MM-DD`). Used for summary and pending users context. |
| `include_summary` | boolean | false | If true, include completion summary per check-in. |
| `include_pending_users` | boolean | false | If true (non-anonymous check-ins), include pending_users per check-in. |

```bash
curl -X GET "https://api.dailybot.com/v1/checkins/?page_size=50" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json"
```

**Response (200 OK):**

```json
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "ci_abc123",
      "name": "Daily Standup",
      "is_anonymous": false,
      "frequency_type": "daily"
    }
  ]
}
```

---

## POST /v1/checkins/

Creates a new check-in.

### Body parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | Yes | Check-in name. |
| `template` | string (UUID) | Yes | Template ID (from GET /v1/templates/). |
| `members_uuids` | array of strings | No | User UUIDs to add as members. |
| `teams_uuids` | array of strings | No | Team UUIDs whose members will be added. |
| `frequency_type` | string | No | e.g. `daily`, `weekly`. |
| `frequency` | string | No | e.g. `every_day`, `two`, `four`. |
| `frequency_on_days` | array of integers | No | Days of the week (0=Monday … 6=Sunday). |

```bash
curl -X POST "https://api.dailybot.com/v1/checkins/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weekly Team Standup",
    "template": "template-uuid-here",
    "members_uuids": ["user-uuid-1", "user-uuid-2"],
    "frequency_type": "weekly",
    "frequency_on_days": [0, 2, 4]
  }'
```

**Response (201 Created):**

```json
{
  "id": "ci_xyz789",
  "name": "Weekly Team Standup",
  "is_anonymous": false,
  "frequency_type": "weekly"
}
```

---

## GET /v1/checkins/{uuid}/responses/

Returns participants' responses for a specific check-in. Paginated (default ordering: `-created_at`).

### Query parameters

| Name | Type | Default | Description |
|------|------|---------|-------------|
| `page` | integer | 1 | Page number (1-indexed). |
| `page_size` | integer | 50 | Items per page (max 200). |
| `search` | string | — | Case-insensitive search on response content (max 256 chars). |
| `start_date` | string | Today (caller's timezone) | Inclusive start date (`YYYY-MM-DD`). Also accepted: `date_start`, `date_from`. |
| `end_date` | string | Today (caller's timezone) | Inclusive end date (`YYYY-MM-DD`). Also accepted: `date_end`, `date_to`. |
| `user` | string (UUID) | — | Filter to a specific participant. Admin/manager only — members always see only their own responses. Must be a valid UUID; otherwise returns `400 invalid_user_identifier`. Use the user's UUID from `GET /v1/users/`. |

> **Note:** `?all=true` is not applicable to check-in responses.

> **Validation errors:** Inverted date ranges return `400 invalid_date_range`. Search queries exceeding 256 characters return `400 search_query_too_long`.

> **Default behavior:** Without query parameters this endpoint returns **all participants' responses** for the given date range. To filter to a specific participant, admin or manager API key owners can pass `?user=<uuid>`.

**Request — all responses (last 7 days):**

```bash
curl -X GET "https://api.dailybot.com/v1/checkins/{uuid}/responses/?start_date=2026-06-30&end_date=2026-07-07" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"
```

**Response (200 OK):**

```json
{
  "count": 25,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "abc12345-...",
      "user": {
        "uuid": "user-uuid-1",
        "first_name": "Alice",
        "last_name": "Smith"
      },
      "responses": [
        {
          "uuid": "question-uuid-1",
          "question": "What did you work on?",
          "response": "Shipped the new dashboard feature."
        }
      ],
      "response_completed": true,
      "created_at": "2026-07-07T09:00:00Z"
    }
  ]
}
```

**Request — filter with search + date range:**

```bash
curl -X GET "https://api.dailybot.com/v1/checkins/{uuid}/responses/?start_date=2026-07-01&end_date=2026-07-31&search=blocker&page_size=100" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"
```

---

## See also

- [Templates](/developers/api/templates) — retrieve pre-built check-in templates.
- [Forms](/developers/api/forms) — list forms, submit responses, transition through workflow states, read audit history.

## Endpoints in this group

Create, configure, and archive check-ins with schedule, participants, and questions; list and manage responses. Prefer GET `/v1/checkins/{uuid}/detail/` for full authoring config.

| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/v1/checkins/` | List check-ins |
| POST | `/v1/checkins/create/` | Create a check-in with schedule and questions |
| GET | `/v1/checkins/{uuid}/` | Retrieve a check-in |
| GET | `/v1/checkins/{uuid}/detail/` | Check-in detail (canonical, full config) |
| PATCH | `/v1/checkins/{uuid}/config/` | Update check-in configuration |
| DELETE | `/v1/checkins/{uuid}/archive/` | Archive (deactivate) a check-in |
| POST | `/v1/checkins/{uuid}/questions/` | add check-in question |
| PATCH | `/v1/checkins/{uuid}/questions/{q_uuid}/` | patch check-in question |
| DELETE | `/v1/checkins/{uuid}/questions/{q_uuid}/delete/` | delete check-in question |
| GET | `/v1/checkins/{uuid}/responses/` | List check-in responses (all participants by default) |
| PUT | `/v1/checkins/{uuid}/questions/reorder/` | reorder check-in question |
| POST | `/v1/checkins/{uuid}/responses/` | Create a check-in response |
| PUT | `/v1/checkins/{uuid}/responses/` | Replace a check-in response |
| PATCH | `/v1/checkins/{uuid}/responses/` | Partially update a check-in response |
| GET | `/v1/followups/` | List follow-ups (DEPRECATED) |

### GET `/v1/checkins/`

**List check-ins**

List check-ins

- **Auth:** API key (`X-API-KEY`), CLI Bearer (read), OAuth 2.0
- **Rate limit:** `default`
- **Pagination:** Page-number pagination

#### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `page` | integer | No | Page number (1-indexed). Default: 1. |
| `page_size` | integer | No | Items per page. Default: 50, max: 200. Alias: limit. |
| `search` | string | No | Case-insensitive substring search on check-in name. Max 256 chars. |
| `date` | string (YYYY-MM-DD) | No | Date for context. When provided, used for summary and pending users context. |
| `team_uuid` | string (uuid) | No | Filter to check-ins belonging to a specific team. |
| `user_uuid` | string (uuid) | No | Filter to check-ins associated with a specific user. |
| `include_summary` | boolean | No | Include AI-generated summary in the response. |
| `include_pending_users` | boolean | No | Include list of users who have not yet responded. |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |

#### Example (curl)

```bash
curl -sS -X GET 'https://api.dailybot.com/v1/checkins/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### POST `/v1/checkins/create/`

**Create a check-in with schedule and questions**

Creates a check-in with schedule, questions, and participants (≥1 user or team required). Admin/manager only.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Request body

```json
{
  "name": "string (required)",
  "questions": "array (required)",
  "participants": "object (required)",
  "schedule": "object?",
  "report_channels": "string[]?"
}
```

#### Response body

```json
{
  "id": "uuid",
  "name": "string",
  "schedule": "object",
  "questions": "array",
  "participants": "object"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | questions_required, checkin_requires_participant, unknown_field |

#### Example (curl)

```bash
curl -sS -X POST 'https://api.dailybot.com/v1/checkins/create/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json' -d '{"name":"Daily Standup","questions":[{"type":"text","label":"Yesterday?","short_question":"Yesterday"}],"participants":{"user_uuids":["<uuid>"]}}'
```

#### Notes

- is_anonymous is irreversible once enabled (400 anonymous_irreversible).

### GET `/v1/checkins/{uuid}/`

**Retrieve a check-in**

Retrieve a check-in

- **Auth:** API key (`X-API-KEY`), CLI Bearer (read), OAuth 2.0
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |
| `404` | Not found or not visible |

#### Example (curl)

```bash
curl -sS -X GET 'https://api.dailybot.com/v1/checkins/{uuid}/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### GET `/v1/checkins/{uuid}/detail/`

**Check-in detail (canonical, full config)**

Returns full check-in metadata: schedule, questions, participants, report channels, and all configuration fields. Prefer over GET /v1/checkins/{uuid}/ for authoring.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (read)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Response body

```json
{
  "id": "uuid",
  "schedule": "object",
  "questions": "array",
  "participants": "object",
  "report_channels": "array"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `404` | checkin_not_found |

#### Example (curl)

```bash
curl -sS -X GET 'https://api.dailybot.com/v1/checkins/{uuid}/detail/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

#### Notes

- CLI: dailybot checkin show <uuid>

### PATCH `/v1/checkins/{uuid}/config/`

**Update check-in configuration**

Partial update. participants fully replaces current set when included. Unknown fields return 400 unknown_field.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Request body

```json
{
  "name": "string?",
  "schedule": "object?",
  "participants": "object?",
  "privacy": "string?",
  "reminders_max_count": "integer?"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | unknown_field, anonymous_irreversible, intelligence_requires_smart_checkin |

#### Example (curl)

```bash
curl -sS -X PATCH 'https://api.dailybot.com/v1/checkins/{uuid}/config/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json' -d '{"privacy":"everyone"}'
```

### DELETE `/v1/checkins/{uuid}/archive/`

**Archive (deactivate) a check-in**

Sets check-in inactive and archived. Idempotent.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `404` | checkin_not_found |

#### Example (curl)

```bash
curl -sS -X DELETE 'https://api.dailybot.com/v1/checkins/{uuid}/archive/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### POST `/v1/checkins/{uuid}/questions/`

**add check-in question**

Shared question management — same schema as forms. Supports logic, variations, is_blocker.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Request body

```json
{
  "type": "string",
  "label": "string",
  "short_question": "string"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | Validation errors — see errors reference |

#### Example (curl)

```bash
curl -sS -X POST 'https://api.dailybot.com/v1/checkins/{uuid}/questions/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'
```

### PATCH `/v1/checkins/{uuid}/questions/{q_uuid}/`

**patch check-in question**

Shared question management — same schema as forms. Supports logic, variations, is_blocker.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |
| `q_uuid` | string (uuid) | Yes | — |

#### Request body

```json
{
  "type": "string",
  "label": "string",
  "short_question": "string"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | Validation errors — see errors reference |

#### Example (curl)

```bash
curl -sS -X PATCH 'https://api.dailybot.com/v1/checkins/{uuid}/questions/{q_uuid}/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'
```

### DELETE `/v1/checkins/{uuid}/questions/{q_uuid}/delete/`

**delete check-in question**

Shared question management — same schema as forms. Supports logic, variations, is_blocker.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |
| `q_uuid` | string (uuid) | Yes | — |

#### Request body

```json
{
  "type": "string",
  "label": "string",
  "short_question": "string"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | Validation errors — see errors reference |

#### Example (curl)

```bash
curl -sS -X DELETE 'https://api.dailybot.com/v1/checkins/{uuid}/questions/{q_uuid}/delete/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'
```

### GET `/v1/checkins/{uuid}/responses/`

**List check-in responses (all participants by default)**

Paginated list of check-in responses for all participants within a date range. Admin/manager callers may filter with ?user=<uuid>. Member callers only see their own responses. The ?all=true parameter applies to form responses only, not check-ins.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (read)
- **Rate limit:** `default`
- **Pagination:** Page-number pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `start_date` | string (YYYY-MM-DD) | No | Inclusive start date (caller's timezone). Also accepted: date_start, date_from. Default: today. |
| `end_date` | string (YYYY-MM-DD) | No | Inclusive end date, 23:59:59 in caller's timezone. Also accepted: date_end, date_to. Default: today. |
| `search` | string | No | Case-insensitive substring search on response content. Max 256 chars. |
| `user` | string (uuid) | No | Admin/manager: filter responses to a specific user. Must be a valid UUID (returns 400 invalid_user_identifier otherwise). Member callers are restricted to their own responses regardless of this parameter. |
| `page` | integer | No | Page number (1-indexed). Default: 1. |
| `page_size` | integer | No | Items per page. Default: 50, max: 200. Alias: limit. |

#### Error codes

| Status | When |
|--------|------|
| `400` | Validation error (invalid_user_identifier, invalid_date_range, search_query_too_long) |
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |

#### Example (curl)

```bash
curl -sS -X GET 'https://api.dailybot.com/v1/checkins/{uuid}/responses/?date_start=2026-06-30&date_end=2026-07-07' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

#### Notes

- Returns all participants' responses by default. Do not use ?all=true on this endpoint — that parameter is for form responses only.

### PUT `/v1/checkins/{uuid}/questions/reorder/`

**reorder check-in question**

Shared question management — same schema as forms. Supports logic, variations, is_blocker.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Request body

```json
{
  "question_uuids": "uuid[]"
}
```

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing or invalid credential |
| `403` | Insufficient permissions (admin/manager required for write) |
| `429` | Rate limited — Retry-After header set |
| `400` | Validation errors — see errors reference |

#### Example (curl)

```bash
curl -sS -X PUT 'https://api.dailybot.com/v1/checkins/{uuid}/questions/reorder/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'
```

### POST `/v1/checkins/{uuid}/responses/`

**Create a check-in response**

Create a check-in response

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write), OAuth 2.0
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |
| `400` | Validation error |
| `404` | Not found or not visible |

#### Example (curl)

```bash
curl -sS -X POST 'https://api.dailybot.com/v1/checkins/{uuid}/responses/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### PUT `/v1/checkins/{uuid}/responses/`

**Replace a check-in response**

Replace a check-in response

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write), OAuth 2.0
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |
| `400` | Validation error |
| `404` | Not found or not visible |

#### Example (curl)

```bash
curl -sS -X PUT 'https://api.dailybot.com/v1/checkins/{uuid}/responses/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### PATCH `/v1/checkins/{uuid}/responses/`

**Partially update a check-in response**

Partially update a check-in response

- **Auth:** API key (`X-API-KEY`), CLI Bearer (write), OAuth 2.0
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `uuid` | string (uuid) | Yes | — |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |
| `400` | Validation error |
| `404` | Not found or not visible |

#### Example (curl)

```bash
curl -sS -X PATCH 'https://api.dailybot.com/v1/checkins/{uuid}/responses/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

### GET `/v1/followups/`

**List follow-ups (DEPRECATED)**

Deprecated alias retained for backwards compatibility. Prefer /v1/checkins/.

- **Auth:** API key (`X-API-KEY`), CLI Bearer (read)
- **Rate limit:** `default`
- **Pagination:** No pagination

#### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `include_archived` | boolean | No | When true, include archived follow-ups/check-ins. |

#### Error codes

| Status | When |
|--------|------|
| `401` | Missing/invalid/expired credential |
| `403` | Authenticated but not permitted |
| `429` | Throttled - Retry-After header set |

#### Example (curl)

```bash
curl -sS -X GET 'https://api.dailybot.com/v1/followups/' -H 'X-API-KEY: $DAILYBOT_API_KEY'
```

#### Notes

- Deprecated - use /v1/checkins/ instead.

---

## Developer portal navigation

**Getting Started**

- [Overview](/developers)
- [Quick start](/developers/getting-started)
- [Authentication](/developers/authentication)

**API Reference**

- [API Overview](/developers/api)
- [Users](/developers/api/users)
- [Organization](/developers/api/organization)
- [Teams](/developers/api/teams)
- [Invitations](/developers/api/invitations)
- [Check-ins](/developers/api/check-ins) (this page)
- [Forms](/developers/api/forms)
- [Report channels](/developers/api/report-channels)
- [Templates](/developers/api/templates)
- [Kudos](/developers/api/kudos)
- [Mood tracking](/developers/api/mood)
- [Important dates](/developers/api/important-dates)
- [Messaging](/developers/api/messaging)
- [Automations](/developers/api/workflows)
- [Webhooks](/developers/api/webhooks)
- [Commands platform](/developers/api/commands-platform)
- [Agents](/developers/api/agents)
- [OAuth2](/developers/api/oauth2)
- [Integrations](/developers/api/integrations)
- [CLI](/developers/api/cli)

**API guides**

- [Errors & Status Codes](/developers/errors)
- [Rate Limits](/developers/rate-limits)
- [Conventions](/developers/conventions)
- [API Changelog](/developers/api-changelog)
- [Recipes](/developers/recipes)

**Developer Features**

- [Custom commands](/developers/custom-commands)
- [Serverless commands](/developers/serverless)
- [Webhooks & events](/developers/webhooks)
- [Automation API trigger](/developers/workflow-trigger)
- [Activity API](/developers/activity-api)

**CLI**

- [Overview](/developers/cli)
- [Authentication](/developers/cli-authentication)
- [Command reference](/developers/cli-reference)
- [CI/CD recipes](/developers/cli-ci-cd)
- [Configuration](/developers/cli-configuration)
- [Troubleshooting](/developers/cli-troubleshooting)

**Agent Skill**

- [Overview](/developers/agent-skill)
- [Skills catalog](/skills)

---

## Site navigation

**Product:**
- [Home](/)
- [Product](/product)
- [Pricing](/pricing)
- [Enterprise](/enterprise)
- [Integrations](/integrations)
- [Templates](/templates)

**Resources:**
- [Blog](/blog)
- [Academy](/academy)
- [Changelog](/changelog)
- [Help Center](/help)
- [Developers](/developers)
- [Agents](/agents)

**Company:**
- [About](/about)
- [Careers](/careers)
- [Security](/security)
- [Contact Sales](/demo)

**Connect:**
- [LinkedIn](https://www.linkedin.com/company/dailybot/)
- [X/Twitter](https://twitter.com/dailybot)
- [GitHub](https://github.com/Dailybot-Inc)
- [YouTube](https://www.youtube.com/channel/UC3uM9V52vwX7e3vQpCc4qvA)

