DRAFT
Declare what your app does
An app is a draft PartnerApp row: a call direction, the capabilities it reads, and — if it calls out — an endpoint Sunesix calls into. There's no code to upload; everything your app does runs on your own infrastructure.
Call direction
- INBOUND — your service calls Sunesix (an AI-agent builder reading tenant data or invoking a model).
- OUTBOUND — Sunesix calls your service mid-request for an allow/block verdict (a guardrail vendor).
- BOTH — an app can do both.
OUTBOUND apps also declare outbound_endpoint_url, an outbound_secret for signature verification, and a failure_mode — FAIL_OPEN or FAIL_CLOSED — for what happens if your endpoint is unreachable.
Capabilities
Request only what your app needs. Every capability maps to the same data a Company Admin already sees in their own UI — nothing more.
| Capability | Read scope |
|---|---|
conversations.read | AI conversation history for the installing company. |
employees.read | Employee profiles. |
usage.read | Token usage series. |
ai.invoke | Call the gateway to run inference, clamped to an allowed-models list a reviewer sets at approval. |
Create the draft
POST /partner-apps/developer/apps/
{
"name": "Acme Prompt Guard",
"call_direction": "OUTBOUND",
"capabilities_requested": [],
"outbound_endpoint_url": "https://guard.acme.io/hooks/verdict",
"failure_mode": "FAIL_CLOSED",
"version": "0.1.0"
}A draft is yours alone — nothing here is visible to any company yet. Edit it freely until you're ready to test it.