API REFERENCE
GET /v1/catalog
Inspect and manage the dictionary definitions for your account.
Catalog structure
A dictionary pack contains distinct entity kinds:
- records: Root entities that can be sampled directly via
GET /v1/random/{record}(e.g.Record(pizzaOrder),Record(person)). - fragments: Child sub-records and composite types embedded inside other records (e.g.
Fragment(pizzaItem),Fragment(address)). Fragments compile into parent schemas without requiring standalone root sampling. - sets: Discrete categorical value lists, weighted pools, and multi-column lookup tables (e.g.
Set(name)). Values must be declared one per line. - sequences: Templated sequential ID generators (e.g.
Seq(name)) using two-line declarations (start <n>andtemplate <fmt>). - distributions: Continuous and discrete probability densities (e.g.
uniform(min, max),bernoulli(p),normal(mu, sigma),categorical).
DSL syntax patterns
1. Root Records vs. Child Fragments
Use Record(...) for entities you intend to sample directly via the API. Use Fragment(...) for child objects or line items embedded in parent records:
# Child fragment (embedded in order) Fragment(pizzaItem) size 1 Set(pizzaSize) crust 1 Set(crustType) price 1 uniform(12.99, 26.99) # Root record (sampleable via GET /v1/random/pizzaOrder) Record(pizzaOrder) orderId 1 Seq(orderId) items 1..4 Fragment(pizzaItem) notes 0..1 Set(specialInstructions)
2. Sets (Multiline Syntax)
Each value in a Set(...) must be placed on its own line. Space-separated items on a single line are parsed as a single literal multi-word value:
Set(pizzaToppings) Pepperoni Spicy Sausage Fresh Basil Kalamata Olives
3. Sequences (Multiline Syntax)
A sequence requires two separate configuration lines for initial counter offset and format template:
Seq(orderNumber)
start 1001
template ORD-{n:05}
Catalog endpoints
| Endpoint | Method | Description |
|---|---|---|
| /v1/catalog | GET | Returns manifest and list of all entries in your workspace. |
| /v1/catalog/{kind} | GET | List entries for a specific kind (sets, records, distributions, sequences). |
| /v1/catalog/{kind}/{id} | GET | Retrieve raw source definition and compiled metadata for an entry. |
| /v1/catalog/{kind}/{id} | PUT | Update an entry definition with immediate syntax and type validation. |
| /v1/catalog/batch | POST | Atomically validate, compile, and publish multiple dictionary definitions in a single request. Body: { "entries": [...] }. |