API Integration Guide
Unified partner guide for Travel Insured GraphQL quote, purchase, search, and modification workflows across single-trip and annual plans.
API Integration Guide
Intended Audience: Partner development teams and technology executives
Last Updated: August 18, 2026
Version: 3.0
This guide consolidates the current partner integration surface into a single reference for single-trip and annual-plan workflows.
It is aligned to the partner-ready Postman and Insomnia collections available for download above. Those collections cover quoting, staged purchase, payment handoff, policy binding, quote search, plan search, single-trip servicing, and annual-plan servicing.
For visual request sequences, see the Single Trip Quote to Purchase Flow and Annual Plan Quote to Purchase Flow.
Overview
Travel Insured's GraphQL API supports two policy models:
- Single Trip policies for one-trip travel
- Annual Plan policies for recurring or multi-trip annual coverage
The current partner collections support these workflows:
| Workflow | Single Trip | Annual Plan |
|---|---|---|
| Quote | quote | annualPlanQuote |
| Streamlined purchase | purchasePolicy | Not included in the partner collection |
| Deferred stage | stagePolicyPurchase | stageAnnualPolicyPurchase |
| Deferred payment | processPayment | processPayment |
| Deferred finalization | policyBindRequest | policyBindRequest |
| Quote resume | searchSavedQuotes, savedQuote | searchSavedQuotes, annual re-quote via annualPlanQuote |
| Plan search | searchPlan | searchPlan |
| Modification quote | planModificationQuote | annualPlanModificationQuote |
| Modification stage | planModifyRequest | annualPlanModifyRequest |
| Modification finalization | planModify | planModify |
Collections To Use
Use the partner-ready collections available for download on this page:
- Postman collection —
TravelInsured.partner.postman_collection.json - Insomnia collection —
TravelInsured.partner.insomnia.yaml
1. Authentication and Environment Setup
Every request must include:
Authorization: ApiKey {{apiToken}}x-api-key: {{apiKey}}Content-Type: application/json
Send the API token exactly as an ApiKey header value. Do not use a Bearer prefix.
Required Environment Values
Set these values before running transactional requests:
| Variable | Purpose |
|---|---|
graphqlBaseUrl | GraphQL endpoint assigned to the target environment |
apiToken | Partner API token used in Authorization |
apiKey | Partner API key used in x-api-key |
agencyNumber | Agency attribution identifier |
agentId | Optional downstream agent attribution |
Annual Flow Variables
The unified collection also includes annual-plan placeholders that should be set to valid future dates in the target environment:
| Variable | Purpose |
|---|---|
annualEffectiveDate | Effective date for annual quote and annual staging |
annualDepartureDate | Sample departure date for annual trip segment payloads |
annualReturnDate | Sample return date for annual trip segment payloads |
Servicing Variables
The collection stores or expects these values during policy servicing:
| Variable | Source |
|---|---|
quoteNumber | Quote response or saved quote retrieval |
selectedProductCode | Selected product from quote response |
planGuid | Purchase staging response |
paymentRequestId | processPayment response |
transactionId | Payment gateway callback or hosted payment result |
planNumber | policyBindRequest response or searchPlan result |
modificationPlanGuid | planModifyRequest or annualPlanModifyRequest response |
modificationTravelerId | searchPlan response for annual servicing |
modificationTripId | searchPlan response for annual servicing |
annualModificationCoverageLimitId | Coverage selected from annual modification quote results |
annualModificationCoverageTypeCode | Coverage type selected from annual modification quote results |
2. Core State Across the Flow
Persist and pass these identifiers unchanged between requests:
| Identifier | Source | Purpose | Validity |
|---|---|---|---|
quoteNumber | Quote step | Links downstream purchase back to a rated quote | Repriced in the moment |
selectedProductCode | Quote response | Product selection for purchase staging | Session-based |
planGuid | Purchase staging | Handle for deferred payment and final bind | Session-based |
paymentRequestId | Payment processing | Correlation ID for support and payment troubleshooting | Session-based |
planNumber | Policy bind | Final issued policy identifier | Permanent |
modificationPlanGuid | Modification staging | Handle for paid modification finalization | Session-based |
policyNumber | purchasePolicy only | Final issued policy identifier for streamlined single-trip purchase | Permanent |
3. Workflow Map
The unified collection is organized into these folders:
| Folder | Purpose |
|---|---|
00 - Getting Started | Connectivity and authentication smoke test |
01 - Single Trip Quote to Purchase | Single-trip quote plus purchase workflows |
02 - Annual Quote to Purchase | Annual quote plus deferred purchase workflows |
03 - Quote Search and Requote | Saved quote search, retrieval, and re-quote flows |
04 - Plan Search and Modification | Plan search plus single-trip and annual plan servicing |
Start with Test GraphQL Connectivity before any transactional request.
4. Single-Trip Quote and Purchase
Supported Purchase Patterns
Single-trip policies support both purchase patterns in the broader API surface:
- Streamlined purchase using
purchasePolicy - Deferred purchase using
stagePolicyPurchase,processPayment, andpolicyBindRequest
The updated partner collections center the deferred flow and related servicing operations.
Step 1: Generate Quote
Use quote to retrieve:
quoteNumber- available products
- optional coverage IDs
- accepted payment methods
Use the returned products to drive product selection rather than hardcoding product or coverage values.
Step 2: Stage Policy Purchase
Use stagePolicyPurchase with the selected productCode, traveler details, trip details, and delivery preferences.
Retain:
planGuid
Step 3: Process Payment
Use processPayment with:
planGuidpaymentMethod- optional billing or hosted-payment configuration
Retain:
paymentRequestIdplanGuid
Step 4: Bind the Policy
Use policyBindRequest with:
planGuid- confirmed
transactionId
Retain:
planNumber- policy document links
Streamlined Purchase Note
If your checkout can submit payment directly inside the purchase mutation, purchasePolicy remains a valid single-trip pattern. Persist the returned policyNumber as the final issued policy identifier for that path.
5. Annual Quote and Purchase
Annual purchase uses annual-specific quote and staging mutations, then reuses the same deferred payment and policy-binding steps.
Step 1: Annual Plan Quote
Use annualPlanQuote with:
agencyNumbereffectiveDate- residency country and state
- annual travelers
- optional
tripSegment
Retain:
quoteNumber- annual
productCode - selected optional coverage identifiers
Implementation guidance from the updated collection behavior:
- Set
annualEffectiveDateto today or later in the target environment. - Use annual product codes returned by
annualPlanQuote; do not reuse single-trip product codes. - If you include
tripSegment, keep the dates and traveler IDs consistent between quote and staging.
Step 2: Stage Annual Policy Purchase
Use stageAnnualPolicyPurchase with:
quoteNumberagencyNumberdeliveryTypes[]planTravelers[]product.productCode- optional
product.effectiveDate - optional
tripSegment
Retain:
planGuid
Implementation guidance from live validation:
- Keep traveler IDs stable between annual quote and annual staging.
- Include
contactInfofor the primary traveler even though it is nullable in schema. - Include
product.effectiveDatewhen staging annual plans. The sandbox implementation expects it.
Step 3: Process Payment
Use the shared processPayment mutation with the staged annual planGuid.
Step 4: Bind the Annual Policy
Use the shared policyBindRequest mutation with:
planGuid- confirmed
transactionId
Retain:
planNumber- policy document links
6. Search, Resume, and Requote
Use folder 03 - Quote Search and Requote when you need to resume or refresh quote data.
Available capabilities:
searchSavedQuotessavedQuote- single-trip re-quote using
quote - annual re-quote using
annualPlanQuote
The partner collection models quote modification as re-quoting. Do not assume there is a separate partner-safe modifyQuote mutation.
7. Plan Search and Policy Servicing
Use searchPlan before servicing or modification when you need the issued policy context.
The updated collection uses searchPlan to return:
planNumber- policy status and type
- primary traveler details
- available plan coverages
- annual segment identifiers needed for annual servicing
For annual-plan servicing specifically, searchPlan is the source for the live traveler and segment identifiers required by downstream annual modification requests.
8. Single-Trip Plan Modification
Use this sequence for issued single-trip policies:
searchPlanplanModificationQuoteplanModifyRequestprocessPaymentonly if the modification increases costplanModify
Retain:
modificationPlanGuid
If no payment is required, finalize through planModify without inventing a separate payment step.
9. Annual Plan Modification
Use this sequence for issued annual policies:
searchPlanannualPlanModificationQuoteannualPlanModifyRequestprocessPaymentonly if the modification increases costplanModify
Annual Modification Requirements
Annual servicing has a few operational requirements that should be called out explicitly:
- Use
searchPlanfirst to obtain the current annual traveler ID and current annual segment ID. - Populate
tripSegment.tripIdfrom the current policy segment you are updating. - Include
depositDateon annual trip-segment modification requests. - Select
productCoverageLimitIdandproductCoverageTypeCodefrom the annual modification quote response rather than hardcoding them. - Use shared
planModifyfor finalization after payment when the change increases cost.
The updated partner collections include dedicated environment variables for these annual modification values so the workflow can be executed directly after searchPlan and the pricing step.
10. Payment Handling Notes
The partner-safe collections are designed around deferred payment orchestration.
processPaymentdoes not carry raw payment card data in the example payloads.hostedPaymentUrlandiFrameCommunicatorUrlshould be partner-owned URLs.- The final bind or modification finalization step should only run after a confirmed payment result yields a valid
transactionId.
11. Failure Handling and Validation Tips
If a request fails:
- Re-run
Test GraphQL Connectivity. - Confirm
graphqlBaseUrl,apiToken, andapiKeyare set correctly. - Confirm stored flow identifiers came from the same environment and the current session.
- Use only product codes and coverage IDs returned by quote or modification quote responses.
- For annual requests, confirm the effective date is current and that annual modification requests include
depositDateplus live traveler and trip identifiers.
12. Best Practices
- Treat quote references as resumable pricing context, not guaranteed price locks.
- Persist
planNumberorpolicyNumberas the final system-of-record identifier. - Keep staging and payment state session-scoped.
- Do not commit live credentials, production endpoints, or customer data into source control.
- When you need a capability outside the allowlisted partner collections, request a reviewed update rather than copying requests from the raw export.
13. Next Steps
- Import the unified partner collection and environment.
- Validate connectivity through
Test GraphQL Connectivity. - Test the single-trip deferred flow end to end.
- Test the annual deferred flow end to end.
- Validate quote resume, plan search, and both servicing paths before production cutover.