Skip to main content

Shops

A Shop is a business with a physical store location which sells, installs, and repairs tires. All Parts sold to the Shop which are reported to ABS are covered by the warranty program.

Looking up a Shop's Place ID

GET /tire-protection/shops/lookup

We leverage the Google Maps API to standardize a Shop's name, phone number, address, and geospatial coordinates. In order to add a Shop, you must first obtain the Shop's Google Maps Place ID. You may use your own implementation of the Google Maps API to obtain the Place ID or you may use our Lookup endpoint.

tip

If a Shop is not on Google Maps or if the information is incorrect or outdated, please search for the Shop on Google Maps and suggest an edit. Edits are typically accepted within 24 hours. After an edit has been approved and published, you will be able to obtain the Shop's Place ID.

To lookup a Shop's Place ID through our Lookup API, send a GET request to the /tire-protection/shops/lookup endpoint with a query string containing the Shop's phone number or name and address.

Parameters

HTTP Headers

HeadersDescription
AuthorizationBearer token in form of a JWT see getting started for more information

HTTP Request Query

ParameterDescription
queryThe phone number of the Shop or it's name and address

Errors

This endpoint may respond with any documented of the status codes, however the most common errors are 401: Unauthorized and 400: Bad Request.

StatusNameDescriptionResolution
400Bad RequestThe server could not understand the requestCheck all parameters and ensure the request is valid
401UnauthorizedThe request is unauthenticatedEnsure your JWT is valid
404Not FoundThe search query returned no resultsEnsure the Shop is on Google Maps

Example

Lookup by Phone Number Request

curl --location \
--request GET "https://sandbox.absintegrations.com/api/v3/tire-protection/shops/lookup?query=3034579876" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \

Lookup by Name and Address Request

curl --location \
--request GET "https://sandbox.absintegrations.com/api/v3//tire-protection/shops/lookup?query=Automotive%20Business%20Solutions%20Westminster%20Colorado" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \

Response

This endpoint will respond with HTTP status code 200: Success and a respond body containing the Shop's Place ID, name, address, phone number, and location if the lookup was successful.

{
"name": "Automotive Business Solutions",
"phone": "+13034579876",
"line1": "10170 Church Ranch Way",
"line2": "#320",
"city": "Westminster",
"state": "CO",
"zip": "80021",
"country": "US",
"placeId": "ChIJ5aGPVI6Ma4cRrH_-A1PGu6M",
"location": {
"type": "Point",
"coordinates": [
-105.0739165,
39.88113329999999
]
}
}

Creating a Shop

POST /tire-protection/shops

To create Shop, send a POST request to the /tire-protection/shops endpoint with a JSON payload matching the Create Shop object schema

tip

This endpoint only accepts JSON - set the HTTP header Content-Type: application/json on every POST request.

Parameters

HTTP Headers

HeadersDescription
AuthorizationBearer token in form of a JWT see getting started for more information

HTTP Request Body

Send a Create Shop object as the request body as JSON.

Errors

This endpoint may respond with any documented of the status codes, however the most common errors are 401: Unauthorized and 400: Bad Request.

StatusNameDescriptionResolution
400Bad RequestThe server could not understand the requestCheck all parameters and ensure the request is valid
401UnauthorizedThe request is unauthenticatedEnsure your JWT is valid
409ConflictA Shop with this unique ID already existsUnique ID must be unique

Example

Shop object

{
"product_id": "YOUR-PRODUCT-ID",
"placeId": "ChIJ5aGPVI6Ma4cRrH_-A1PGu6M",
"uniqueId": "111111",
"legalName": "ABS Operations, LLC",
"startDate": "2025-10-01T00:00:00.000Z",
"dba": "Automotive Business Solutions",
"groupName": "ABS",
"phone": "+13034579876",
"address": {
"line1": "10170 Church Ranch Way",
"line2": "Suite 320",
"city": "Westminster",
"state": "CO",
"country": "US",
"zip": "80021"
},
"mailingAttn": "Accounting Dept",
"mailingAddress": {
"line1": "300 N Beach St",
"city": "Daytona Beach",
"state": "FL",
"country": "US",
"zip": "32114"
},
"paymentPreference": "check",
"email": "engineering@abswarranty.net"
}

Request

curl --location \
--request POST "https://sandbox.absintegrations.com/api/v3/tire-protection/shops" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
--header "Content-Type: application/json" \
--data-raw '{
"product_id": "YOUR-PRODUCT-ID",
"placeId": "ChIJ5aGPVI6Ma4cRrH_-A1PGu6M",
"uniqueId": "111111",
"legalName": "ABS Operations, LLC",
"startDate": "2025-10-01T00:00:00.000Z",
"dba": "Automotive Business Solutions",
"groupName": "ABS",
"phone": "+13034579876",
"address": {
"line1": "10170 Church Ranch Way",
"line2": "Suite 320",
"city": "Westminster",
"state": "CO",
"country": "US",
"zip": "80021"
},
"mailingAttn": "Accounting Dept",
"mailingAddress": {
"line1": "300 N Beach St",
"city": "Daytona Beach",
"state": "FL",
"country": "US",
"zip": "32114"
},
"paymentPreference": "check",
"email": "engineering@abswarranty.net"
}'

Response

This endpoint will respond with HTTP status code 204: No Content and no response body if the request to create a Shop is successful.

StatusNameDescription
204No ContentThe Shop was successfully created

Updating a Shop

PATCH /tire-protection/shops/:uniqueId

To update a Shop, send a PATCH request to the /tire-protection/shops/:uniqueId endpoint with a JSON payload matching the Update Shop object schema, where :uniqueId is the unique ID provided when creating the shop.

This endpoint may be used to add additional email addresses associated with the Shop, set an end date if they're actively enrolled on the program, or set a start date if they were previously enrolled but are not currently active.

tip

This endpoint only accepts JSON - set the HTTP header Content-Type: application/json on every POST request.

Parameters

HTTP Headers

HeadersDescription
AuthorizationBearer token in form of a JWT see getting started for more information

HTTP Request Body

Send an Update Shop object as the request body as JSON.

Errors

This endpoint may respond with any documented of the status codes, however the most common errors are 401: Unauthorized and 400: Bad Request.

StatusNameDescriptionResolution
400Bad RequestThe server could not understand the requestCheck all parameters and ensure the request is valid
401UnauthorizedThe request is unauthenticatedEnsure your JWT is valid

Example

Shop object

{
"product_id": "YOUR-PRODUCT-ID",
"endDate": "2025-10-01T00:00:00.000Z"
}

Request

curl --location \
--request PATCH "https://sandbox.absintegrations.com/api/v3/tire-protection/shops/111111" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
--header "Content-Type: application/json" \
--data-raw '{
"product_id": "YOUR-PRODUCT-ID",
"endDate": "2025-11-01T00:00:00.000Z"
}'

Response

This endpoint will respond with HTTP status code 204: No Content and no response body if the request to update a Shop is successful.

StatusNameDescription
204No ContentThe Shop was successfully updated

Adding Parts

POST /tire-protection/shops/:uniqueId/parts

To add Parts to a Shop, send a POST request to the /tire-protection/shops/:uniqueId/parts endpoint with a JSON payload matching the Parts object schema, where :uniqueId is the unique ID provided when creating the shop.

tip

This endpoint only accepts JSON - set the HTTP header Content-Type: application/json on every POST request.

Parameters

HTTP Headers

HeadersDescription
AuthorizationBearer token in form of a JWT see getting started for more information

HTTP Request Body

Send a Parts object as the request body as JSON.

Errors

This endpoint may respond with any documented of the status codes, however the most common errors are 401: Unauthorized and 400: Bad Request.

StatusNameDescriptionResolution
400Bad RequestThe server could not understand the requestCheck all parameters and ensure the request is valid
401UnauthorizedThe request is unauthenticatedEnsure your JWT is valid

Example

Parts object

{
"product_id": "YOUR-PRODUCT-ID",
"partNumber": "NOK-1000",
"make": "Nokian",
"model": "Hakkapeliitta R5",
"size": "255/45R19",
"date": "2025-10-01T00:00:00.000Z",
"quantity": 16,
"cost": 305.25
}

Request

curl --location \
--request POST "https://sandbox.absintegrations.com/api/v3/tire-protection/shops/111111/parts" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
--header "Content-Type: application/json" \
--data-raw '{
"product_id": "YOUR-PRODUCT-ID",
"partNumber": "NOK-1000",
"make": "Nokian",
"model": "Hakkapeliitta R5",
"size": "255/45R19",
"date": "2025-10-01T00:00:00.000Z",
"quantity": 16,
"cost": 305.25
}'

Response

This endpoint will respond with HTTP status code 204: No Content and no response body if the request to update a Shop is successful.

StatusNameDescription
204No ContentThe Shop was successfully updated