On this page
An organization's prospects: a name and a fleet, described as for the fleet cost. Every read recomputes the fuel and carbon overspend on this week's prices: a prospect saved in October reads, in November, with November's prices.
Good to know
- Prospects belong to the key's organization: they are the same as in the application's Sales space, and the API acts for the API account's designated member.
- An organization keeps 200 prospects at most: beyond that,
422 prospect_limit. Delete those you no longer need. PUTreplaces the whole prospect (name and fleet): always send the complete fleet. Deletion is final and answers{ ok: true }.- Creation accepts
Idempotency-Key: after a network failure, retry with the same key without creating a duplicate (see idempotency). The201response carries aLocationheader. - In the list,
overspendPerYearandets2PerYearare totals in cents; the breakdown by vehicle type is in the detail.
The Prospect object
| Field | Type | Description |
|---|---|---|
idalways present | string | |
namealways present | string | |
vehiclesalways present | integer | |
overspendPerYearalways present | integer | Cents per year. |
ets2PerYearalways present | integer | |
updatedAtalways present | string (date-time) |
Prospect
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"vehicles": 15,
"overspendPerYear": 1013800,
"ets2PerYear": 642800,
"updatedAt": "2026-10-26T11:46:19.310433+00:00"
}The ProspectDetail object
| Field | Type | Description |
|---|---|---|
idalways present | string | |
namealways present | string | |
updatedAtalways present | string (date-time) | |
inputalways present | FleetInput | |
costalways present | FleetCost |
ProspectDetail
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"updatedAt": "2026-10-26T11:46:19.310433+00:00",
"input": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
},
"cost": {
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}
}The FleetInput object
| Field | Type | Description |
|---|---|---|
fueloptional | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl"default "gazole" | |
currentBrandalways present | string1 to 60 characters | Brand where the fleet fills up today (a brand name of /v1/barometer). |
referenceoptional | "cheapest" | "supermarkets"default "cheapest" | Compare with the cheapest brand or with the supermarket average. |
kmPerVehiclealways present | integerfrom 0 to 500000 | |
linesalways present | object[]1 to 3 items | |
lines[].typealways present | "car" | "lcv" | "hgv" | car, lcv (light commercial vehicle), hgv (heavy goods vehicle). |
lines[].vehiclesalways present | integerfrom 0 to 100000 | |
lines[].consumptionL100always present | numberfrom 0 to 100 | Liters per 100 km. |
FleetInput
{
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
}The FleetCost object
| Field | Type | Description |
|---|---|---|
fuelalways present | "gazole" | "sp95-e10" | "sp98" | "e85" | "gpl" | |
pricesFromalways present | string (date-time) | |
pricesToalways present | string (date-time) | |
vehiclesalways present | integer | |
currentBrandalways present | string | |
currentPricealways present | integer | null | Average price of the current brand; null if unknown (no overspend computed). |
referenceBrandalways present | string | null | |
referencePricealways present | integer | null | Price in thousandths of a euro per liter (2372 = 2.372 €/L). |
linesalways present | object[] | |
lines[].typealways present | "car" | "lcv" | "hgv" | |
lines[].vehiclesalways present | integer | |
lines[].consumptionL100always present | number | |
lines[].litersPerYearalways present | integer | |
lines[].overspendPerYearalways present | integer | Cents per year. |
lines[].overspendPerVehiclealways present | integer | Cents per vehicle per year. |
lines[].co2Tonnesalways present | number | |
lines[].ets2PerYearalways present | integer | ETS2 carbon cost, cents per year from 2028. |
totalalways present | object | |
total.litersPerYearalways present | integer | |
total.overspendPerYearalways present | integer | |
total.co2Tonnesalways present | number | |
total.ets2PerYearalways present | integer | |
replaceFirstalways present | "car" | "lcv" | "hgv" | null | Vehicle type costing the most per vehicle (fuel + ETS2). |
ets2always present | object | |
ets2.startYearalways present | integer | |
ets2.pricePerTonnealways present | integer | Cents per tonne of CO2 (hypothesis). |
ets2.costPerLiteralways present | integer | Thousandths of a euro per liter. |
FleetCost
{
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}Prospects of the organization, with their yearly overspend (200 at most)
GET
/v1/prospectsScope prospects:readParameters
| Field | In | Type | Description |
|---|---|---|---|
limitoptional | query | integerfrom 1 to 100 · default 20 | Number of items per page (1 to 100, 20 by default). |
cursoroptional | query | stringat most 400 characters | Opaque cursor: the nextCursor value of the previous page. |
Response 200
OK — A page of Prospect { data, nextCursor, hasMore }
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
429 | Too many requests |
500 | Internal error |
Request
curl "https://api.floweet.com/v1/prospects" \
-H "Authorization: Bearer $FLOWEET_API_KEY"Response 200
{
"data": [
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"vehicles": 15,
"overspendPerYear": 1013800,
"ets2PerYear": 642800,
"updatedAt": "2026-10-26T11:46:19.310433+00:00"
}
],
"nextCursor": null,
"hasMore": false
}Add a prospect and its fleet
POST
/v1/prospectsScope prospects:writeParameters
| Field | In | Type | Description |
|---|---|---|---|
Idempotency-Keyoptional | header | stringat most 255 characters | Unique key for this request (a new UUID v4, kept for its retries): the first response is replayed for 24 hours. |
Request body ProspectInput
| Field | Type | Description |
|---|---|---|
namerequired | string1 to 200 characters | |
fleetrequired | FleetInput |
Response 201
Prospect created — A ProspectDetail object
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
409 | Conflict |
422 | Unprocessable request |
429 | Too many requests |
500 | Internal error |
Request
curl -X POST "https://api.floweet.com/v1/prospects" \
-H "Authorization: Bearer $FLOWEET_API_KEY" \
-H "Idempotency-Key: 6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87" \
-H "Content-Type: application/json" \
-d '{
"name": "Transports Martin",
"fleet": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
}
}'Response 201
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"updatedAt": "2026-10-26T11:46:19.310433+00:00",
"input": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
},
"cost": {
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}
}A prospect: fleet input and cost by vehicle type
GET
/v1/prospects/{id}Scope prospects:readParameters
| Field | In | Type | Description |
|---|---|---|---|
idrequired | path | string (uuid) |
Response 200
OK — A ProspectDetail object
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
429 | Too many requests |
500 | Internal error |
Request
curl "https://api.floweet.com/v1/prospects/7d0c1f8e-2a4b-4c6d-9e8f-0a1b2c3d4e5f" \
-H "Authorization: Bearer $FLOWEET_API_KEY"Response 200
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"updatedAt": "2026-10-26T11:46:19.310433+00:00",
"input": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
},
"cost": {
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}
}Replace a prospect (name and fleet)
PUT
/v1/prospects/{id}Scope prospects:writeParameters
| Field | In | Type | Description |
|---|---|---|---|
idrequired | path | string (uuid) |
Request body ProspectInput
| Field | Type | Description |
|---|---|---|
namerequired | string1 to 200 characters | |
fleetrequired | FleetInput |
Response 200
OK — A ProspectDetail object
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
429 | Too many requests |
500 | Internal error |
Request
curl -X PUT "https://api.floweet.com/v1/prospects/7d0c1f8e-2a4b-4c6d-9e8f-0a1b2c3d4e5f" \
-H "Authorization: Bearer $FLOWEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Transports Martin",
"fleet": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
}
}'Response 200
{
"id": "33e3daba-2998-438d-a05e-1c513009107a",
"name": "Transports Martin",
"updatedAt": "2026-10-26T11:46:19.310433+00:00",
"input": {
"fuel": "gazole",
"currentBrand": "Esso",
"reference": "cheapest",
"kmPerVehicle": 30000,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30
}
]
},
"cost": {
"fuel": "gazole",
"pricesFrom": "2026-10-19T11:35:43.000Z",
"pricesTo": "2026-10-26T11:00:00.000Z",
"vehicles": 15,
"currentBrand": "Esso",
"currentPrice": 2428,
"referenceBrand": "Total Access",
"referencePrice": 2252,
"lines": [
{
"type": "lcv",
"vehicles": 12,
"consumptionL100": 8.5,
"litersPerYear": 30600,
"overspendPerYear": 538600,
"overspendPerVehicle": 44900,
"co2Tonnes": 75.9,
"ets2PerYear": 341500
},
{
"type": "hgv",
"vehicles": 3,
"consumptionL100": 30,
"litersPerYear": 27000,
"overspendPerYear": 475200,
"overspendPerVehicle": 158400,
"co2Tonnes": 67,
"ets2PerYear": 301300
}
],
"total": {
"litersPerYear": 57600,
"overspendPerYear": 1013800,
"co2Tonnes": 142.8,
"ets2PerYear": 642800
},
"replaceFirst": "hgv",
"ets2": {
"startYear": 2028,
"pricePerTonne": 4500,
"costPerLiter": 112
}
}
}Delete a prospect
DELETE
/v1/prospects/{id}Scope prospects:writeParameters
| Field | In | Type | Description |
|---|---|---|---|
idrequired | path | string (uuid) |
Response 200
OK — { ok: true }
Errors
| HTTP | Meaning |
|---|---|
400 | Invalid request |
401 | Missing, invalid or revoked API key |
403 | Forbidden (scope, plan or account status) |
404 | Resource not found |
429 | Too many requests |
500 | Internal error |
Request
curl -X DELETE "https://api.floweet.com/v1/prospects/7d0c1f8e-2a4b-4c6d-9e8f-0a1b2c3d4e5f" \
-H "Authorization: Bearer $FLOWEET_API_KEY"Response 200
{
"ok": true
}