Appearance
How we identify partners
For domain-based integrations, Owlflow identifies your organization from the request hostname. Before launch, ScholarshipOwl registers that hostname in whitelabel_domains and links it to your organization's domain_id.
Owlflow reads the Host header on each GraphQL request and looks for a matching hostname. If it finds one, Owlflow uses the row's domain_id to identify your organization. Don't send a domain ID in the GraphQL input or in a custom header.
The student's JWT identifies their account after registration or sign-in. The account already contains the domain_id, so later requests don't need to identify the partner again.
Domain scoping keeps partner accounts separate from ScholarshipOwl's consumer site:
| Area | Behavior |
|---|---|
| Account uniqueness | Scoped to (email, domain_id). A student with an existing ScholarshipOwl account still gets a separate account on your domain. |
| Marketing | Partner accounts are excluded from ScholarshipOwl consumer marketing campaigns. |
| Authenticated requests | The domain_id lives on the account, so any request with Authorization: Bearer <token> runs in your tenant. |
Where Owlflow uses the domain ID
During auth.createUser and auth.login, Owlflow sends X-Owlflow-Trusted-Domain-Id: <domain_id> to Core:
| Call | What the domain ID does |
|---|---|
auth.createUser | Core saves the new account with that domain_id. |
auth.login | Core signs in the account that has this email on that domain. |
Core accepts X-Owlflow-Trusted-Domain-Id only on POST /account/register and POST /auth/session.
Every other request
The client sends Owlflow's JWT with viewer.updateUser, scholarships.list, scholarships.byId, status mutations, and application mutations. The client doesn't resend the domain ID. Core reads it from the authenticated account.
Staging and production
You can test the full registration, profile, matching, and application flow against https://owlflow.scholarshipowl.tech/graphql right away. Before creating production accounts on https://owlflow.scholarshipowl.com/graphql, coordinate with ScholarshipOwl to register your partner hostname in whitelabel_domains.
