Skip to main content
Use this sequence for hackathon projects and local experiments. If you prefer a Modal-style command flow (deploy, run, setup, invite), see /sdk/quickstart.

1) Create or update an app

Use a user JWT against control-plane routes.
curl -X POST https://api.ara.so/apps \
  -H "Authorization: Bearer YOUR_USER_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Investor Meeting Booker",
    "slug": "investor-meeting-booker",
    "agent": {"persona": "Investor Booker"},
    "workflows": [],
    "interfaces": {}
  }'

2) Create an app runtime key

curl -X POST https://api.ara.so/apps/APP_ID/keys \
  -H "Authorization: Bearer YOUR_USER_JWT" \
  -H "Content-Type: application/json" \
  -d '{"name":"hackathon-local","requests_per_minute":60}'
Save the returned key value (ak_app_...). It is only shown once.

3) Run a workflow

Use the app key against runtime invoke:
curl -X POST https://api.ara.so/v1/apps/APP_ID/run \
  -H "Authorization: Bearer AK_APP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "investor-chat",
    "input": {"message":"Need 3 slots next week"}
  }'

4) Invite teammates (optional)

curl -X POST https://api.ara.so/apps/APP_ID/invites \
  -H "Authorization: Bearer YOUR_USER_JWT" \
  -H "Content-Type: application/json" \
  -d '{"email":"teammate@example.com","role":"operator","expires_in_hours":168}'