Skip to main content

Manage collections

List collectionsโ€‹

GET /v1/collections

Scope: collections:read. Returns every collection of the shop, each with its rows (see the structure).

Get a collectionโ€‹

GET /v1/collections/{id}

Scope: collections:read. 404 when the collection is not this shop's.

Create a collectionโ€‹

POST /v1/collections

Scope: collections:write.

FieldTypeRequiredDescription
namestringYesUp to 80 characters
slugstringNoThe end of its link. Made from the name when left out, and made unique within the shop.
layoutstringNogrid (default), list, tile, editorial, showcase, bento, mosaic
columnsintegerNo2, 3 (default) or 4
show_pricesbooleanNoDefault true
show_calendar_tabbooleanNoDefault false
show_searchbooleanNoA search box above the items. Default false
show_up_tointegerNo6, 12, or 0 for all. Default 0
ask_dates_firstbooleanNoA date box above the items; each item then shows what is free that day. Default false
curl -X POST https://app.equipdash.com/api/v1/collections \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Summer", "layout": "showcase", "columns": 3}'

Returns 201 with the new collection.

Update a collectionโ€‹

PATCH /v1/collections/{id}

Scope: collections:write. Send only the fields to change, from the table above. Changing slug changes the link; a link already shared with the old slug opens the shop's booking page.

422 with slug when another collection of the shop already uses it.

Delete a collectionโ€‹

DELETE /v1/collections/{id}

Scope: collections:write. Returns 204. The items in it are not touched. Its link and embed codes open the shop's booking page from then on.