Partners

Dealerships, insurers and repair shops, their associations, and the white-label capture flows they brand.

Base URL
https://api.reportauto.eu

Partners

Partners are the dealerships, insurers and repair shops Caroom works with. The public filters back the “find a partner” search; creating and editing partners needs a partner or admin credential.

Create a partner

POST/api/partners

Registers a partner organisation with its contact details and map position.

Authentication Access token

Parameters

namestringRequired

Trading name.

group_namestring

Group the partner belongs to, for chains.

partner_typeenum

What kind of business this is.

countrystring

Country name.

countystring

County or region.

addressstring

Street address.

locationobject

Map position as { lat, lng }, both strings.

emailstring

Contact email.

phonestring

Contact phone.

urlstring

Website.

insurance_partner_idinteger

Associate the new partner with this insurer as part of the create call.

infoobject

Free-form matching data, e.g. carAge and carMake, used to route requests to this partner.

cURL
1curl -X POST "https://api.reportauto.eu/api/partners" \
2  -H "Authorization: $CAROOM_ACCESS_TOKEN" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "name": "Inges",
6    "group_name": "Inges",
7    "country": "Estonia",
8    "url": "https://www.inges.ee/",
9    "address": "Raua 35, 10124 Tallinn",
10    "location": { "lat": "59.43", "lng": "24.76" },
11    "county": "Tallinn",
12    "email": "kahjud@example.com",
13    "phone": "641 0436",
14    "info": null,
15    "partner_type": "INSURANCE"
16  }'

Search partners

GET/api/partners

Finds partners matching the filters. Vehicle filters match against the make and age ranges each partner accepts; postcode and radius match on location.

Authentication None for the public filters

Query parameters

typestring

Partner type, e.g. DEALERSHIP.

makestring

Vehicle make the partner handles.

ageinteger

Vehicle age in years.

countystring

County or region.

groupstring

Partner group name.

postcodestring

Centre of the location search.

has_emailboolean

Only partners with a contact email.

parent_idinteger

Only partners created by this account.

partner_typestring

Alternative spelling of `type`, e.g. repairs.

info.*string

Match a key inside the partner’s info object, e.g. info.glass=true or info.local=false.

limitinteger

Maximum number of partners to return.

afterstring

Opaque cursor for the next page.

cURL
1curl "https://api.reportauto.eu/api/partners?limit=100&postcode=32005&has_email=true"

Update a partner

PATCH/api/partners/:partner_id

Edits a partner, including the info object that decides which vehicles get routed to it.

Authentication API key (admin)

Path parameters

partner_idintegerRequired

ID of the partner.

Parameters

infoobject

Matching data, e.g. { carAge, carMake }.

cURL
1curl -X PATCH "https://api.reportauto.eu/api/partners/43" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "info": {
6      "carAge": 5,
7      "carMake": ["Toyota", "Opel", "Audi"]
8    }
9  }'

Delete a partner

DELETE/api/partners/:partner_id

Removes a partner organisation.

Authentication API key (admin)

Path parameters

partner_idintegerRequired

ID of the partner.

cURL
1curl -X DELETE "https://api.reportauto.eu/api/partners/43" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY"

Add a user to a partner

POST/api/partners/add_user

Attaches an existing user account to a partner, giving them the partner’s access.

Authentication API key

Parameters

user_idstringRequired

User to add — the collection passes an email address here.

partner_account_idstringRequired

Partner to add them to.

cURL
1curl -X POST "https://api.reportauto.eu/api/partners/add_user" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "user_id": "someone@example.com",
6    "partner_account_id": "7"
7  }'

Associate a repair shop with an insurer

POST/api/partners/:insurance_id/associate_repair_shop

Links a repair shop to an insurer, with the makes it services and whether it handles glass or local work.

Authentication API key

Path parameters

insurance_idintegerRequired

ID of the insurer.

Parameters

repair_shopintegerRequired

ID of the repair shop partner.

created_forinteger

Partner the association is being created on behalf of.

infoobject

Capabilities, e.g. { carMake: { Toyota: 3 }, glass: "false", local: "false" }.

cURL
1curl -X POST "https://api.reportauto.eu/api/partners/2/associate_repair_shop" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "repair_shop": 46,
6    "info": {
7      "carMake": { "Toyota": 3, "Opel": 6 },
8      "glass": "false",
9      "local": "false"
10    }
11  }'

List an insurer’s repair shopsDeprecated

GET/api/partners/:insurance_id/repair_shops

Returns the repair shops associated with an insurer, with the capabilities recorded for each.

Authentication API key

Path parameters

insurance_idintegerRequired

ID of the insurer.

cURL
1curl "https://api.reportauto.eu/api/partners/6/repair_shops" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY"

Update a repair-shop association

PATCH/api/partners/:insurance_id/repair_shops/:repair_partner_id

Edits what a repair shop handles for an insurer — makes, glass work, availability and rating.

Authentication Access token

Path parameters

insurance_idintegerRequired

ID of the insurer.

repair_partner_idintegerRequired

ID of the repair shop.

Parameters

infoobject

Capabilities, e.g. { carMake, glass, available, rating }.

cURL
1curl -X PATCH "https://api.reportauto.eu/api/partners/6/repair_shops/8" \
2  -H "Authorization: $CAROOM_ACCESS_TOKEN" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "info": {
6      "carMake": { "Toyota": 3, "Opel": 10 },
7      "glass": "false",
8      "available": "true",
9      "rating": "good"
10    }
11  }'

Remove a repair-shop association

DELETE/api/partners/:insurance_id/repair_shops/:repair_partner_id

Detaches a repair shop from an insurer.

Authentication Access token

Path parameters

insurance_idintegerRequired

ID of the insurer.

repair_partner_idintegerRequired

ID of the repair shop.

cURL
1curl -X DELETE "https://api.reportauto.eu/api/partners/52/repair_shops/51" \
2  -H "Authorization: $CAROOM_ACCESS_TOKEN"

Customisations

White-label settings for a partner’s capture flow: colours, logo, locales, the message templates sent to customers, and which steps the flow asks for.

Create a customisation

POST/api/customisations

Defines a branded flow for a partner. required_flow lists the capture steps in the order the customer walks through them.

Authentication API key

Parameters

customisation_aliasstringRequired

Slug identifying this customisation.

partner_idstringRequired

Partner the flow belongs to.

flowstring

Which flow is being branded, e.g. CLAIM.

namestring

Human-readable name.

localesobject

Default locale and the list offered, e.g. en-US, et-EE.

logoobject

Logo url with its width and height.

assetsobject

Illustration URLs — scan_sample, image_sample and side_image.

defaultsobject

Country code and the email and SMS templates. Templates interpolate <%=request_url%>.

coloursobject

Palette for illustrations and interface, each a map of role to hex colour.

required_flowarray of strings

Capture steps to require, e.g. License, CarCondition, ScanCar, Damage, Contact.

cURL
1curl -X POST "https://api.reportauto.eu/api/customisations" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "customisation_alias": "example-customisation",
6    "partner_id": "16",
7    "flow": "CLAIM",
8    "name": "Claim Flow",
9    "locales": { "default": "en-US", "list": ["en-US", "et-EE"] },
10    "logo": { "url": "https://caroom.io/assets/images/primary-2.svg", "width": 121, "height": null },
11    "assets": {
12      "scan_sample": "https://caroom.io/assets/images/primary-2.svg",
13      "image_sample": "https://caroom.io/assets/images/primary-2.svg",
14      "side_image": "https://example.com/bg-hero.jpg"
15    },
16    "defaults": {
17      "country_code": "372",
18      "request_email": "Follow this link for a Photo Appraisal <%=request_url%>",
19      "request_sms": "Follow this link for a Photo Appraisal <%=request_url%>"
20    },
21    "colours": {
22      "illustrations": { "primary": "#2d0bb5", "person": "#FFE486" },
23      "interface": { "primary": "#2D0BB5", "buttonText": "#ffffff" }
24    },
25    "required_flow": ["License", "CarCondition", "CarDetails", "ScanCar", "Location", "Damage", "Dashboard", "Mileage", "InteriorFront", "Contact"]
26  }'

Update a customisation

PATCH/api/customisations/:customisation_id

Changes part of a customisation — typically the palette.

Authentication API key

Path parameters

customisation_idintegerRequired

ID of the customisation.

cURL
1curl -X PATCH "https://api.reportauto.eu/api/customisations/16" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "colours": {
6      "illustrations": { "primary": "#2d0bb5", "person": "#FFE486" },
7      "interface": { "primary": "#2D0BB5", "buttonText": "#ffffff" }
8    }
9  }'

Retrieve a customisation

GET/api/partner_customisations/:customisation_alias

Public lookup used by the capture flow to render itself. Pass agent_id to fold in the assigned agent’s details.

Authentication None

Path parameters

customisation_aliasstringRequired

UUID or alias of the customisation.

Query parameters

agent_idinteger

Include this agent’s contact details in the response.

cURL
1curl "https://api.reportauto.eu/api/partner_customisations/7b8b08ca-602a-4846-b013-be0050219b5e?agent_id=23"

List a partner’s customisations

GET/api/partners/:partner_id/customisations

Returns every customisation defined for a partner.

Authentication API key

Path parameters

partner_idintegerRequired

ID of the partner.

cURL
1curl "https://api.reportauto.eu/api/partners/7/customisations" \
2  -H "Authorization: API_KEY $CAROOM_API_KEY"