ClientCasa
API

Timeline Items

The blocks that make up an event day — the cascade engine solves their times from sequence, duration, and anchors.

A timeline item is one block on an event day — "First look", "Ceremony", "Reception entrance". Items are the building blocks of a Run of Show schedule.

How Times Are Solved

You do not set start and end times. A cascade engine derives every item's wall-clock time from the day's sequence, each item's duration, and its buffers and travel. Times are never stored — they're always computed — so changing one item reflows the rest of the day automatically.

The exception is anchors. An item's anchorType decides what pins it:

  • float (default) — time is derived from its neighbors.
  • fixed — pinned to a clock time. Set requestedStartTime only in this case.
  • key-moment — a named pivot (like Ceremony) that the rest of the day flows around.
  • golden-hour — anchored to sunset or sunrise, computed from the event day's venueLocation coordinates.

Key Fields

  • eventDayId — the day this item belongs to. Filter by this to list a day's schedule in sequence.
  • title — what happens in this block.
  • durationMinutes — how long it runs; the cascade uses this to place the next item.
  • anchorType and requestedStartTime — as described above.
  • sequence — the item's position in the day's order.
GET
/api/v1/timeline-items
x-api-key<token>

In: header

Query Parameters

page?integer
Default1
Range1 <= value
pageSize?integer
Default25
Range1 <= value <= 100
eventDayId?string
status?string
Value in"pending" | "in-progress" | "completed" | "skipped"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://www.clientcasa.com/api/v1/timeline-items"
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "eventDayId": "string",
      "title": "string",
      "description": "string",
      "categoryId": "string",
      "sortOrder": 0,
      "trackId": "string",
      "requestedStartTime": "string",
      "durationMinutes": 0,
      "bufferBeforeMinutes": 0,
      "bufferAfterMinutes": 0,
      "travelTimeMinutes": 0,
      "locked": true,
      "anchorType": "none",
      "anchorKey": "string",
      "location": "string",
      "visibleTo": [
        "master"
      ],
      "vendorIds": [
        "string"
      ],
      "status": "pending",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 1,
    "total": 0,
    "totalPages": 0,
    "hasMore": true
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
POST
/api/v1/timeline-items
x-api-key<token>

In: header

Header Parameters

Idempotency-Key?string

Optional unique key that makes this create safely retryable. Replaying the same key returns the original response instead of creating a duplicate; reusing a key with a different request body returns 409.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.clientcasa.com/api/v1/timeline-items" \  -H "Content-Type: application/json" \  -d '{    "eventDayId": "string",    "title": "string",    "durationMinutes": 0  }'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "eventDayId": "string",
  "title": "string",
  "description": "string",
  "categoryId": "string",
  "sortOrder": 0,
  "trackId": "string",
  "requestedStartTime": "string",
  "durationMinutes": 0,
  "bufferBeforeMinutes": 0,
  "bufferAfterMinutes": 0,
  "travelTimeMinutes": 0,
  "locked": true,
  "anchorType": "none",
  "anchorKey": "string",
  "location": "string",
  "visibleTo": [
    "master"
  ],
  "vendorIds": [
    "string"
  ],
  "status": "pending",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
GET
/api/v1/timeline-items/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://www.clientcasa.com/api/v1/timeline-items/550e8400-e29b-41d4-a716-446655440000"
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "eventDayId": "string",
  "title": "string",
  "description": "string",
  "categoryId": "string",
  "sortOrder": 0,
  "trackId": "string",
  "requestedStartTime": "string",
  "durationMinutes": 0,
  "bufferBeforeMinutes": 0,
  "bufferAfterMinutes": 0,
  "travelTimeMinutes": 0,
  "locked": true,
  "anchorType": "none",
  "anchorKey": "string",
  "location": "string",
  "visibleTo": [
    "master"
  ],
  "vendorIds": [
    "string"
  ],
  "status": "pending",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
PATCH
/api/v1/timeline-items/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://www.clientcasa.com/api/v1/timeline-items/550e8400-e29b-41d4-a716-446655440000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "eventDayId": "string",
  "title": "string",
  "description": "string",
  "categoryId": "string",
  "sortOrder": 0,
  "trackId": "string",
  "requestedStartTime": "string",
  "durationMinutes": 0,
  "bufferBeforeMinutes": 0,
  "bufferAfterMinutes": 0,
  "travelTimeMinutes": 0,
  "locked": true,
  "anchorType": "none",
  "anchorKey": "string",
  "location": "string",
  "visibleTo": [
    "master"
  ],
  "vendorIds": [
    "string"
  ],
  "status": "pending",
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
DELETE
/api/v1/timeline-items/{id}
x-api-key<token>

In: header

Path Parameters

id*string

UUID v4

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://www.clientcasa.com/api/v1/timeline-items/550e8400-e29b-41d4-a716-446655440000"
Empty
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "details": {
      "property1": null,
      "property2": null
    }
  }
}

On this page