Skip to content

Getting started

Quickstart

Five steps from a new account to a simulation that changes while you watch. Everything here can also be done in the dashboard.

1. Choose a plan and create an account key

Sign up, pick a plan on the pricing page and pay. Then open Settings, API keys, and create an account key. It starts with slurry_acct_ and is shown once.

shell
export SLURRY_ACCOUNT_KEY="slurry_acct_..."

2. Create a simulation

Start from a library entry (library) or send your own OpenAPI 3 or Swagger 2 document as text (spec). instructions steers the generated data; volume is small, medium, large or a per-collection map.

create
curl -X POST https://api.slurry.io/v1/simulations \
  -H "Authorization: Bearer $SLURRY_ACCOUNT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "library": "asana",
    "name": "Acme projects",
    "slug": "acme-projects",
    "volume": "medium",
    "instructions": "A 40-person design agency with three active client projects"
  }'
201 Created
{
  "id": "4f0c2a8e-6b1d-4c1e-9a53-0d2b7c9e1f42",
  "slug": "acme-projects",
  "url": "https://acme-projects.slurry.io",
  "status": "queued",
  "apiKey": "slurry_sim_...",
  "note": "Store the apiKey now: it is shown once. ..."
}
The response contains the simulation key. Store it now - only its hash is kept. The simulation is analysed and seeded in the background; poll GET /v1/simulations/acme-projects until status is running.

3. Call it

Send the simulation key as a bearer token or in X-API-Key. Requests are only accepted from the IP address you created the simulation from, until you add more.

curl https://acme-projects.slurry.io/tasks?limit=5 \
  -H "Authorization: Bearer $SLURRY_SIM_KEY"

Paths are the ones in the spec. Create, update and delete work, and the changes persist: that is the point.

4. Add a webhook

Changes made by your requests and by the behaviour plan emit events. Point them at a public https endpoint; the response includes a signing secret.

webhook
curl -X POST https://api.slurry.io/v1/simulations/acme-projects/webhooks \
  -H "Authorization: Bearer $SLURRY_ACCOUNT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/hooks/slurry", "events": ["task.*"] }'

5. Fast-forward

Run the behaviour plan as if time had passed - up to 720 hours in one call - and watch the data and webhooks move.

fast-forward
curl -X POST https://api.slurry.io/v1/simulations/acme-projects/fast-forward \
  -H "Authorization: Bearer $SLURRY_ACCOUNT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "hours": 72 }'

# {"hours":72,"changes":138}

Made a mess? POST /v1/simulations/acme-projects/reset restores the exact original seed.