Appearance
Paging the team
EscalationService is the out-of-band alarm path for makers. When something looks wrong on the venue — stuck fills, balance drift, a suspected outage — PageTheTeam wakes the FLINT on-call team directly rather than routing through email or support.
High-urgency only
This wakes the on-call. Low-urgency matters belong in Slack / Telegram, not here.
Auth
EscalationService is authenticated exactly like MakerService: a session token (authorization: Bearer <token>, keypair or passwordless email) or an organization API key (x-api-key). The resolved maker_id is attached to every page so the team knows who is escalating. See the Auth flow. UNAUTHENTICATED if the caller is not a recognized maker.
What it returns
| RPC | Request | Response |
|---|---|---|
PageTheTeam | message (free text, required) | page_id, received_at |
The message is delivered verbatim into the on-call alert — keep it short. An empty or whitespace-only message is rejected with INVALID_ARGUMENT. The response confirms the page was accepted and dispatched only; it does not mean anyone has responded yet. Quote the page_id when following up so the maker and the team refer to the same incident.
Recipe
rust
use flint_api_client::api::proto::PageTheTeamRequest;
// Requires a prior `client.authenticate()` to populate the interceptor.
let mut escalation = client.escalation()?;
let res = escalation
.page_the_team(PageTheTeamRequest {
message: "Fills stuck for SOL/USDC ~5m, balances look frozen".into(),
})
.await?
.into_inner();
println!("paged on-call as {}", res.page_id);ts
import { createEscalationClient } from "@superis-labs/flint-api-client";
// `auth` is an AuthFlow or apiKeyInterceptor(...), same as createMakerClient.
const escalation = createEscalationClient({ auth });
const { pageId, receivedAt } = await escalation.pageTheTeam({
message: "Fills stuck for SOL/USDC ~5m, balances look frozen",
});
console.log(`paged on-call as ${pageId}`);python
from flint import Client
# Client constructed with a keypair + auth_url (see Auth flow).
client = Client(keypair=keypair)
response = await client.page_the_team(
"Fills stuck for SOL/USDC ~5m, balances look frozen"
)
print(f"paged on-call as {response.page_id}")