Esc to close · ⌘K / Ctrl-K opens search anywhere
BharatRouter is a SAML Service Provider (SP): your organisation's identity provider (IdP) authenticates your people, and BharatRouter accepts the signed assertion to sign them in. It is built into the gateway — assertions are validated in-India, with no third-party SSO broker in the identity path. This is an Enterprise feature.
/auth/saml/<connection>/login → BharatRouter redirects them to your IdP with a signed AuthnRequest.One connection per organisation. The asserted email must belong to a domain you have verified under Teams & workspaces — an IdP can only sign in identities on a domain your org has proven it controls.
Save the connection (draft, enabled:false) to get your SP values, hand them to your IdP, then flip enabled:true.
curl -X PUT https://api.bharatrouter.com/me/sso \
-H "Content-Type: application/json" --cookie "br_session=..." \
-d '{
"idp_entity_id": "https://idp.example.com/metadata",
"idp_sso_url": "https://idp.example.com/sso/saml",
"idp_cert": "-----BEGIN CERTIFICATE-----\nMII...\n-----END CERTIFICATE-----",
"default_role": "member",
"jit_provision": true,
"require_sso": false,
"enabled": false
}'The response returns your SP details to register at the IdP:
{
"ok": true,
"sp": {
"entity_id": "https://api.bharatrouter.com/auth/saml/sso_…/metadata",
"acs_url": "https://api.bharatrouter.com/auth/saml/sso_…/acs",
"metadata_url": "https://api.bharatrouter.com/auth/saml/sso_…/metadata"
}
}SP metadata XML is served at the metadata_url for IdPs that import it directly. Once your IdP is configured, PUT again with "enabled": true.
default_role — the role granted to provisioned users: member(default) or admin. SSO never grants owner.jit_provision — when true (default), a first-time user on a verified domain is created and added to the org on their first SAML login. Whenfalse, only users who are already members can sign in.require_sso — when true, an OAuth (Google/GitHub) sign-in that resolves to this org is bounced to SAML instead. This gates actingin the org; a user's personal context is unaffected.sso.login.success, sso.login.rejectedand sso.config.update are written to the org audit log.curl -X DELETE https://api.bharatrouter.com/me/sso --cookie "br_session=..."SCIM provisioning (automatic add/deactivate from your directory) is on the roadmap and will attach to the same connection.