Supergood | Routespring API

Programmatically access Routespring travel data—travelers, trip requests, bookings, policies, and invoices—with a stable REST API. Supergood builds and operates production-grade, unofficial Routespring integrations so your team can automate T&E workflows without heavy custom engineering.

Plain English: Routespring is corporate travel management software that lets companies centrally manage employee travel—configure policies and approvals, book flights/hotels/cars on a company account (direct billing), and reconcile monthly invoices. An unofficial API lets you programmatically pull traveler profiles, trip requests, bookings/itineraries, policy details, and invoice line items—and push new trip requests or updates back into Routespring.

For a tech company integrating with Routespring, this means you can ingest real-time traveler and booking data to power dashboards, sync invoices and cost centers to accounting (e.g., QuickBooks, NetSuite, Xero), automate approvals from your product, or enrich your platform with itineraries, duty-of-care alerts, and travel spend analytics. You can also trigger notifications, pre-validate policy compliance, create trip requests, attach documents, and keep external systems (ERP, HRIS, analytics, spend management, scheduling) aligned.

What is Routespring?

Routespring (https://routespring.com/) is a cloud platform for corporate travel management focused on ease of booking, centralized payment (direct billing), policy enforcement, and streamlined approvals. Teams use Routespring to set travel policies, manage traveler profiles and preferences, request and approve trips, book flights/hotels/cars, and reconcile monthly invoices—often without needing traditional corporate cards. Admins gain control over budgets and compliance, while travelers get a simple, supported booking experience.

Core product areas include:

  • Travel Booking & Itineraries (Flights, Hotels, Cars)
  • Policies & Approvals (Policy Rules, Pre-Trip Approvals, Exceptions)
  • Traveler Management (Profiles, Preferences, Loyalty Programs)
  • Financials (Direct Billing, Invoices, Cost Centers, Taxes/Fees)
  • Reporting & Analytics (Spend, Compliance, Savings)
  • Duty of Care & Alerts (Traveler Tracking, Notifications)

Common data entities:

  • Companies, Users, Roles/Permissions (Admin, Approver, Traveler)
  • Travelers (profiles, contact details, preferences, loyalty numbers)
  • Trip Requests (purpose, routes, dates, budgets, policy checks)
  • Trips/Bookings (PNR/confirmation, flight/hotel/car segments, costs)
  • Policies (allowed classes, hotel caps, advance purchase rules)
  • Approvals (state, approver, comments, timestamps)
  • Invoices (billing periods, line items, taxes/fees, cost centers)

The Routespring Integration Challenge

Travel teams rely on Routespring daily, but turning portal-based workflows into API-driven automation can be tricky:

  • Policy-aware flows: Travelers, approvers, and admins see different data and compliance states across modules
  • Booking complexity: Flight/hotel/car segments, PNRs, fare classes, and exceptions require careful normalization
  • Financial rigor: Direct billing, invoice line items, taxes/fees, and cost center allocations demand accurate mapping
  • Authentication & session lifecycles: SSO/MFA and multi-step booking flows complicate headless automation
  • Limited developer surfaces: Routespring does not prominently advertise a public developer API; teams often rely on manual exports, scheduled reports, or CSVs for downstream systems

How Supergood Creates Routespring APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Routespring tenant.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses so you can integrate once and rely on consistent objects across modules
  • Aligns with customer entitlements and role-based permissions to ensure compliant access

Use Cases

Employee & Directory Sync

  • Mirror travelers, approvers, and admins into your internal systems
  • Keep traveler profiles, preferences, and policy assignments current
  • Normalize departments, roles, and cost centers for multi-entity operations

Trip Requests & Approvals

  • Create trip requests from your product or workflow engine
  • Trigger approvals, collect comments, and enforce policy pre-validation
  • Track status to drive SLAs and push updates back to Routespring

Booking & Itinerary Sync

  • Ingest upcoming and historical trips with flight/hotel/car segments
  • Attach itineraries to projects, service tickets, or field schedules
  • Streamline duty-of-care tracking and traveler notifications

Financials: Invoices, Cost Centers, and Accounting Sync

  • Pull invoice line items and allocate to cost centers
  • Reconcile travel spend with ERP/accounting (e.g., QuickBooks, NetSuite, Xero)
  • Normalize taxes, fees, and currencies across bookings

Available Endpoints

Authentication

POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" }
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_rts_2b91c0",
    "name": "Travel Admin",
    "entitlements": ["travelers", "trips", "bookings", "policies", "invoices"]
  }
}

POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Travelers

GET /travelers: List traveler profiles with filters and summary details.

Query parameters

  • department: string
  • costCenterId: string
  • status: active | inactive
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "travelerId": "trv_81f3e2",
      "name": "Jordan Smith",
      "email": "[email protected]",
      "status": "active",
      "role": "traveler",
      "department": "Field Operations",
      "costCenterId": "cc_ops_1001",
      "policyId": "pol_std_domestic",
      "preferences": {
        "seat": "aisle",
        "airline": ["DL", "UA"],
        "hotel": "non_smoking"
      },
      "loyaltyPrograms": [
        {"program": "Delta SkyMiles", "number": "SKY123456"},
        {"program": "Marriott Bonvoy", "number": "MB987654"}
      ],
      "directBilling": true,
      "updatedAt": "2026-01-20T13:45:00Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Trip Requests

POST /trip-requests: Create a pre-trip request with policy validation and approval routing.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/trip-requests \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "travelerId": "trv_81f3e2",
    "purpose": "Customer site visit",
    "costCenterId": "cc_ops_1001",
    "requestedSegments": {
      "flight": {
        "from": "OMA",
        "to": "DEN",
        "departDate": "2026-02-10",
        "returnDate": "2026-02-12",
        "cabin": "economy",
        "maxPrice": 450.00
      },
      "hotel": {
        "city": "Denver",
        "checkIn": "2026-02-10",
        "checkOut": "2026-02-12",
        "maxNightlyRate": 180.00
      }
    },
    "attachments": [
      {"fileName": "visit_agenda.pdf", "uploadToken": "upl_08ab73"}
    ],
    "preValidatePolicy": true,
    "notifyApprover": true
  }'

Example response

{
  "requestId": "req_90e412",
  "status": "pending_approval",
  "policyEvaluation": {
    "compliant": true,
    "violations": []
  },
  "approverId": "usr_app_4412",
  "slaHours": 24,
  "createdAt": "2026-01-21T10:03:11Z"
}

Trips & Bookings

GET /trips: List trips with nested bookings/itinerary details.

Query parameters

  • travelerId: string
  • status: upcoming | past | canceled
  • startFrom, endTo: ISO 8601 dates
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "tripId": "trip_2a91f0",
      "travelerId": "trv_81f3e2",
      "startDate": "2026-02-10",
      "endDate": "2026-02-12",
      "status": "upcoming",
      "bookings": [
        {
          "bookingId": "bkg_f_12345",
          "type": "flight",
          "pnr": "DL7K9Q",
          "airline": "DL",
          "fareClass": "Y",
          "segments": [
            {
              "from": {"airport": "OMA", "time": "2026-02-10T08:15:00-06:00"},
              "to": {"airport": "DEN", "time": "2026-02-10T09:35:00-07:00"}
            }
          ],
          "costs": {"baseFare": 320.00, "taxes": 45.00, "fees": 0.00, "currency": "USD"},
          "confirmationNumber": "EK3J4P"
        },
        {
          "bookingId": "bkg_h_67890",
          "type": "hotel",
          "propertyName": "Marriott Downtown Denver",
          "address": {
            "line1": "1701 California St",
            "city": "Denver",
            "region": "CO",
            "postalCode": "80202",
            "country": "US"
          },
          "checkIn": "2026-02-10",
          "checkOut": "2026-02-12",
          "nightlyRate": 165.00,
          "taxes": 22.00,
          "fees": 10.00,
          "currency": "USD",
          "confirmationNumber": "CNF-88231"
        }
      ],
      "invoiceId": "inv_51af80",
      "createdAt": "2026-01-21T11:20:44Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Invoices

GET /invoices: Retrieve invoices and line items for reconciliation and accounting sync.

Query parameters

  • companyId: string
  • status: open | posted | paid
  • periodFrom, periodTo: ISO 8601 dates
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "invoiceId": "inv_51af80",
      "billingPeriodStart": "2026-02-01",
      "billingPeriodEnd": "2026-02-28",
      "status": "open",
      "currency": "USD",
      "total": 672.00,
      "lineItems": [
        {
          "lineId": "li_1001",
          "bookingId": "bkg_f_12345",
          "category": "flight",
          "description": "OMA-DEN Economy",
          "net": 320.00,
          "tax": 45.00,
          "fees": 0.00,
          "costCenterId": "cc_ops_1001",
          "travelerId": "trv_81f3e2"
        },
        {
          "lineId": "li_1002",
          "bookingId": "bkg_h_67890",
          "category": "hotel",
          "description": "Marriott Downtown Denver (2 nights)",
          "net": 330.00,
          "tax": 22.00,
          "fees": 10.00,
          "costCenterId": "cc_ops_1001",
          "travelerId": "trv_81f3e2"
        }
      ],
      "pdfUrl": "https://api.supergood.ai/integrations/<integration_id>/invoices/inv_51af80.pdf"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination across modules
  • Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of travelers, trip requests, bookings, policies, and invoices
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Routespring role-based permissions
  • Webhooks: Optional asynchronous delivery for long-running workflows (e.g., approvals, itinerary changes)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume traveler sync and trip/invoice processing
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened Routespring adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Routespring evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Routespring modules can this integration cover?

Supergood supports workflows across commonly used modules such as Traveler Management (Profiles, Preferences), Trip Requests & Approvals, Booking/Itineraries (Flights, Hotels, Cars), and Financials (Invoices, Cost Centers), subject to your licensing and entitlements. We scope coverage during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can you sync invoices and bookings to our accounting system?

Yes. We can normalize invoice line items and booking costs to match your ERP/accounting schema (e.g., cost centers, taxes, fees) and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with QuickBooks, NetSuite, and Xero.

Q: Do you enforce travel policies and approvals?

We model policy evaluation states and approval workflows explicitly and can pre-validate requests, record violations, and route approvals with comments and artifacts. Approved/canceled updates are reflected across related trips and invoices.



Ready to automate your Routespring workflows?

Supergood can have your Routespring integration live in days with no ongoing engineering maintenance.

Get Started →

Read more