REST API

Decision API

Return a ranked eligible action for a guest at a live event. Venue scoring stays server-side, while each response includes a decision ID for lifecycle outcome reporting.

Authentication

Send a client key in the x-api-key header. Operators can issue and revoke keys in the API client console.

Header
x-api-key: av_pro_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

POST

/api/public/decision/decide

Get the highest-ranked eligible action for the current guest context.

Request
curl -X POST https://goguide.aventic.ai/api/public/decision/decide \
  -H "content-type: application/json" \
  -H "x-api-key: $AVENTIC_KEY" \
  -d '{
    "eventSlug": "phish-msg-2026-07-04",
    "context": {
      "phase": "approach",
      "weatherAlertActive": false,
      "entryIntent": "parking",
      "sectionKnown": true,
      "dismissed": []
    }
  }'
Response
{
  "decisionId": "dec_3f1c9b8a4d2e0f76",
  "intent": "parking",
  "action": {
    "label": "Open parking options",
    "kind": "partner_handoff",
    "url": "https://verified-provider.example/parking",
    "provider": "Official venue"
  },
  "ranked": ["parking", "directions", "bag_policy"],
  "measured": false,
  "policy": {
    "version": "deterministic-v1",
    "assignment": "baseline"
  },
  "quota": {
    "used": 1,
    "monthly": 1000000,
    "tier": "pro"
  }
}

POST

/api/public/decision/outcome

Report an attempted, dismissed, corrected, completed, or failed lifecycle state. Attempts without a terminal result remain censored rather than being counted as failures.

Request
curl -X POST https://goguide.aventic.ai/api/public/decision/outcome \
  -H "content-type: application/json" \
  -H "x-api-key: $AVENTIC_KEY" \
  -d '{ "decisionId": "dec_3f1c9b8a4d2e0f76", "result": "completed" }'

Journey phases

pre_dayapproachdoorsin_eventpost_event

Tiers

TierMonthly callsLearningContextTie-break
Free50,000NoBasicNo
Pro1,000,000YesAdvancedNo
Enterprise50,000,000YesAdvancedYes

Errors

400
Invalid request body
401
Missing or revoked key
404
Unknown event or no eligible action
429
Monthly quota exceeded
413
Request body exceeds 32 KiB
500
Authentication, metering, or outcome write failed
503
Decision receipt unavailable
API support