Skip to main content
An availability is a reusable schedule of weekly periods and date overrides. See the API reference for the full resource shape.

List availabilities

neetocal availabilities list
neetocal availabilities list --emails alice@co.com,bob@co.com
FlagTypeRequiredDefaultDescription
--emailsstringComma-separated emails to filter by
--pageint0Page number
--page-sizeint0Items per page (max 100)
Sample output (--json)
{
  "data": [
    {
      "id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
      "sid": "2nq7q5c",
      "name": "Working hours",
      "default": true,
      "periods": [
        { "id": "21c812a7-3859-4f01-b214-850e6f11caad", "wday": "monday", "start_time": "09:00 AM", "end_time": "05:00 PM" },
        { "id": "6f5a1e2b-77c4-4a0d-9c3e-1b2f3a4d5e6f", "wday": "tuesday", "start_time": "09:00 AM", "end_time": "05:00 PM" }
      ],
      "overrides": [],
      "user": { "id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6", "name": "Oliver Smith", "email": "oliver@example.com" }
    }
  ],
  "pagination": { "total_records": 1, "total_pages": 1, "current_page_number": 1, "page_size": 30 }
}
Mirrors List availabilities in the API.

Show an availability

neetocal availabilities show <id>
Sample output (--json)
{
  "data": {
    "availability": {
      "id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
      "sid": "2nq7q5c",
      "name": "Working hours",
      "default": true,
      "periods": [
        { "id": "21c812a7-3859-4f01-b214-850e6f11caad", "wday": "monday", "start_time": "09:00 AM", "end_time": "05:00 PM" },
        { "id": "6f5a1e2b-77c4-4a0d-9c3e-1b2f3a4d5e6f", "wday": "tuesday", "start_time": "09:00 AM", "end_time": "05:00 PM" }
      ],
      "overrides": [
        { "date": "2026-04-20", "periods": [] }
      ],
      "user": { "id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6", "name": "Oliver Smith", "email": "oliver@example.com" }
    }
  }
}
Returns the availability’s periods and overrides. Mirrors Get availability in the API.

Create an availability

neetocal availabilities create \
  --email alice@co.com --name "Work hours" --time-zone "America/New_York" \
  --json-file periods.json
FlagTypeRequiredDefaultDescription
--emailstringEmail address
--json-filestringPath to JSON file with periods/overrides
--namestringAvailability name
--time-zonestringTime zone
The --json-file describes the weekly periods and any date overrides:
periods.json
{
  "periods": [
    { "wday": "monday",  "start_time": "09:00", "end_time": "17:00" },
    { "wday": "tuesday", "start_time": "09:00", "end_time": "17:00" }
  ],
  "overrides": [
    { "date": "2026-04-20", "start_time": "00:00", "end_time": "00:00", "disabled": true }
  ]
}
Sample output (--json)
{
  "data": {
    "availability": {
      "id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
      "sid": "2nq7q5c",
      "name": "Work hours",
      "default": false,
      "periods": [
        { "id": "21c812a7-3859-4f01-b214-850e6f11caad", "wday": "monday", "start_time": "09:00 AM", "end_time": "05:00 PM" },
        { "id": "6f5a1e2b-77c4-4a0d-9c3e-1b2f3a4d5e6f", "wday": "tuesday", "start_time": "09:00 AM", "end_time": "05:00 PM" }
      ],
      "overrides": [],
      "user": { "id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6", "name": "Oliver Smith", "email": "oliver@example.com" }
    }
  }
}
Mirrors Create availability in the API.

Update an availability

neetocal availabilities update <id> --name "Updated hours" --json-file periods.json
FlagTypeRequiredDefaultDescription
--json-filestringPath to JSON file with update data
--namestringAvailability name
Sample output (--json)
{
  "data": {
    "message": "Availability updated successfully.",
    "availability": {
      "id": "01ea5ddf-ed00-4bed-bfa3-ba8ea80a856a",
      "sid": "2nq7q5c",
      "name": "Updated hours",
      "default": false,
      "periods": [
        { "id": "21c812a7-3859-4f01-b214-850e6f11caad", "wday": "monday", "start_time": "09:00 AM", "end_time": "05:00 PM" }
      ],
      "overrides": [],
      "user": { "id": "b6d02dfa-8ef6-453d-b9f7-67a6f20bcaa6", "name": "Oliver Smith", "email": "oliver@example.com" }
    }
  }
}
Only the fields you pass are changed. Mirrors Update availability in the API.