Environments & access
Deal Engine's GraphQL API runs in more than one environment. This page is the canonical reference for what those environments are called, what each one can and can't do, and how to get access to them. If you read nothing else on this page, read the disambiguation immediately below.
"Sandbox" means two different things here
| Term | What it actually is |
|---|---|
| Apollo Sandbox | A GraphQL IDE; a web page with a query editor, schema explorer, and a headers panel. It's a tool for sending requests. It has no data of its own. |
| Deal Engine sandbox | A distinct test environment; a real backend with its own URL and its own data, with fulfillment turned off. It's one of the rows in the table below. |
You can point the Apollo Sandbox tool at the Deal Engine sandbox environment, or at Production; the tool doesn't decide which; the URL you paste into it does. Conflating the two is the most common way integrators end up running a "test" query against Production. See Getting started §1.3 for the same warning in context, and How to test in other environments for how to drive Apollo Sandbox itself once you know which URL to give it.
Canonical environment names
The rest of this documentation set uses exactly two names: Production and Sandbox.
| Environment | GraphQL URL | Fulfillment enabled? | How to request access | Behavioral differences from Production |
|---|---|---|---|---|
| Production | See the endpoint matrix below; use your tenant's Production URL | Yes; refunds execute in the airline system (PSS) | Provisioned by the Deal Engine team via your account manager; Getting started §1.1 | None; this is the baseline |
| Sandbox | See the endpoint matrix below; use your tenant's Sandbox URL | No; see What Sandbox can and cannot exercise below | Provisioned by the Deal Engine team via your account manager, same as Production | Fulfillment never runs: REFUNDED is unreachable and PSS coupon statuses never change. Quoting, decisioning, candidate status flow, and quote-stage webhook delivery all behave like Production. |
Point your first calls at Sandbox, not Production. A refund submitted against Production executes against a real, live ticket. See the Quickstart for a full runnable path against Sandbox.
API endpoints by tenant
Deal Engine runs two tenants; US and EU. Each customer is provisioned on one tenant and uses that tenant's Production/Sandbox pair consistently; the two tenants are not interchangeable.
| Tenant | Production | Sandbox |
|---|---|---|
| US | https://api.deal-engine.com/v3 | https://api.sandbox.deal-engine.com/v3 |
| EU | https://eu.api.deal-engine.com/v3 | https://eu.api.sandbox.deal-engine.com/v3 |
The OnePoint web UI follows the same tenant/environment pattern:
| Tenant | Production | Sandbox |
|---|---|---|
| US | https://onepoint.deal-engine.com/ | https://onepoint.sandbox.deal-engine.com/ |
| EU | https://eu.onepoint.deal-engine.com/ | https://eu.onepoint.sandbox.deal-engine.com/ |
Schema source of truth
The schema itself is defined by GraphQL introspection against your environment's endpoint; there is no separately maintained schema document. Authenticate first: unauthenticated introspection only shows the role-aware auth operations (e.g. login); the full schema for your role appears once you add the Authorization header and refresh. See How to test in other environments for the exact steps.
Aliases you'll encounter
"Sandbox" is the name this documentation set uses consistently. Elsewhere in the docs, and in some tooling, the same (or a closely related) environment goes by other names. Until confirmed otherwise, treat the ones below as referring to the Sandbox environment above, but note the open questions.
| Alias | Where it shows up | Notes |
|---|---|---|
| UAT | Testing & environments, Refund lifecycle & statuses §3.3 | Used interchangeably with "Sandbox" in these pages; same environment, different label |
| staging | Webhook API reference; WebhookEvent.environment is documented as returning production or staging | This is the wire-level value. If you inspect a delivered webhook payload's environment field, expect the literal string "staging", not "sandbox" |
| Test | The Zendesk support form's non-production option (Submitting a support ticket) | Treat as Sandbox when filing or reading tickets |
| development, cert | How to test in other environments mentions "development, staging/cert, production" without listing URLs | |
| QA | api.qa.deal-engine.com, referenced as an admin-consent callback host in the SSO guide |
"stage" is not this Sandbox. If you encounteronepoint.stage.deal-engine.comin older material, that is an internal staging deployment of OnePoint; the customer-facing OnePoint hosts are the four in the table above. Don't let "stage" in a OnePoint URL be mistaken for a GraphQL environment name.
What Sandbox can and cannot exercise
Full detail: Testing & environments and Refund lifecycle & statuses §3.3.
Can validate:
- API contract; request/response shapes match the documented schema
- Quote amounts; fare, taxes, penalties, fees for your test tickets
- Decision logic; approvals/rejections against your configured rules
- Candidate status flow up to
READY - Webhook delivery for quote-stage events (
refund_request.status_updated)
Cannot validate:
- The
REFUNDEDterminal status; fulfillment doesn't run in Sandbox - PSS coupon status transitions
- BSP settlement
- Final executed amounts; Production recalculates tax/penalty and applies FX at execution time; see Refund amounts & reconciliation
Apollo Sandbox availability per environment
How to test in other environments describes two ways to open the tool: a built-in landing page at the GraphQL endpoint itself (Option A), or the hosted Apollo Sandbox pointed at your endpoint (Option B); whichever is enabled for the environment you're targeting.
Either way, the authentication and schema-refresh steps are the same and are already covered in that guide; this page only tells you which URL to give it.
Webhooks across environments
Configure webhook endpoints per environment; a delivered event's environment field tells you which one fired it (production or staging; see the alias note above). Deal Engine's own recommended practice is to configure and test webhooks in the non-production environment first. See the Webhook API reference and the Webhooks guide.
Next step
Ready to make your first call? The Quickstart walks through authenticate → quote → read → decide → refund → track, entirely against Sandbox.
Updated about 18 hours ago