GreenFlow docs

Brands

The catalog of car-rental brands GreenFlow aggregates. Each integrator has a per-tenant slice indicating which ones are enabled for them.

GET /tenancy/brands — per-tenant catalog

Returns the FULL brand catalog plus an `active` boolean per row indicating whether the current API key's tenant is enabled for it. Pair with PUT /tenancy/brands/{brandId} to toggle.

Request

bash
curl -s https://greenflow.live/api/v1/tenancy/brands \
  -H "Authorization: Bearer gfc_7s2wprmy_DWTZRBGBEV6La4dTOoFdMkEhWmWCsXdwc3zVMnqP"

Response

json
{
  "data": [
    {"id": 1,  "name": "AVIS",       "display_order": 1,  "logo": "brands/avis.svg",       "active": true},
    {"id": 2,  "name": "BUDGET",     "display_order": 2,  "logo": "brands/budget.svg",     "active": true},
    {"id": 11, "name": "LOCALIZA",   "display_order": 11, "logo": "brands/localiza.svg",   "active": true},
    {"id": 10, "name": "MOVIDA",     "display_order": 10, "logo": "brands/movida.svg",     "active": false}
  ]
}
No public `/brands` route
There is intentionally no anonymous GET /api/v1/brands that lists every brand without a tenant context — the catalog is the same for everyone but the active subset varies, and we want callers to see "what CAN I use" not "what does the platform offer". Use GET /tenancy/brands instead.

Brand id ↔ vendor enum

Brand ids are stable across deploys (1=AVIS, 2=BUDGET, ... 11=LOCALIZA). The full list lives in App\Services\GDS\Enums\Vendor and the matching constants in App\Models\Brand.

id vendor notes
1AVISABG group (shared adapter)
2BUDGETABG group
3PAYLESSABG group
4ALAMOANE group
5NATIONALANE group
6ENTERPRISEANE group
7HERTZHDT group
8DOLLARHDT group
9THRIFTYHDT group
10MOVIDABrazil-only
11LOCALIZABrazil-only

Errors

HTTP Body Cause
401{"message": "Invalid API key"}Missing or invalid Bearer token.
404{"message": "brand not found"}Unknown brand id on PUT /tenancy/brands/{id}.