Budgets (v2)

Read a budget

status is draft or finished. pricing.status is unpriced (no lines yet), pending or processing (a run is on), completed, failed (pricing.error says why) or stale (lines exist but the inputs changed since). lines[] are the priced rows: key, group, label, basis, qty, unit, money fields amount, amount_low, amount_high, user_amount (the person's override or null) and effective_amount (what counts), optional, enabled, source {class, label, url, verified_at, confidence} and native. groups[] carry the per group totals; totals is null until the budget has lines.

get/api/v2/budgets/{externalId}

Request

  • Base URL: https://www.endlesstravelplans.com
  • URL: https://www.endlesstravelplans.com/api/v2/budgets/{externalId}
  • Auth: HTTP bearer

Response

external_idstring
statusstring
is_ownerboolean
trip_typestring
currencystring
fx_ratestring nullable
contingency_pctinteger
checked_atstring
is_sharedboolean
share_tokenstring nullable

Example response

{
  "external_id": "9c7e",
  "status": "finished",
  "is_owner": true,
  "trip_type": "city",
  "currency": "USD",
  "fx_rate": null,
  "contingency_pct": 10,
  "checked_at": "2026-10-01T12:00:00+00:00",
  "pricing": {
    "status": "completed",
    "error": null,
    "version": 3,
    "update_on_offer": false
  },
  "lines": [
    {
      "key": "flights",
      "group": "transport",
      "label": "Flights",
      "basis": "per_person",
      "qty": 4,
      "unit": "person",
      "amount": {
        "amount": "1800.00",
        "currency": "USD"
      },
      "amount_low": {
        "amount": "1500.00",
        "currency": "USD"
      },
      "amount_high": {
        "amount": "2200.00",
        "currency": "USD"
      },
      "user_amount": null,
      "effective_amount": {
        "amount": "1800.00",
        "currency": "USD"
      },
      "optional": false,
      "enabled": true,
      "source": {
        "class": "observed",
        "label": "Google Flights",
        "url": null,
        "verified_at": "2026-10-01",
        "confidence": 0.8
      },
      "native": null
    }
  ],
  "groups": [
    {
      "key": "transport",
      "label": "Transport",
      "icon": "plane",
      "totals": {
        "point": {
          "amount": "1800.00",
          "currency": "USD"
        },
        "low": {
          "amount": "1500.00",
          "currency": "USD"
        },
        "high": {
          "amount": "2200.00",
          "currency": "USD"
        }
      }
    }
  ],
  "totals": {
    "subtotal": {
      "amount": "3800.00",
      "currency": "USD"
    },
    "contingency": {
      "amount": "400.00",
      "currency": "USD"
    },
    "plan_for": {
      "amount": "4200.00",
      "currency": "USD"
    },
    "likely_low": {
      "amount": "3500.00",
      "currency": "USD"
    },
    "likely_high": {
      "amount": "4900.00",
      "currency": "USD"
    }
  },
  "is_shared": false,
  "share_token": null,
  "trip": {
    "external_id": "01J9X",
    "needs_choice": false,
    "candidates": []
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.