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.
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
Headers | Description |
---|---|
Authorization | Bearer token in form of a JWT see getting started for more information |
HTTP Request Query
Parameter | Description |
---|---|
query | The 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
.
Status | Name | Description | Resolution |
---|---|---|---|
400 | Bad Request | The server could not understand the request | Check all parameters and ensure the request is valid |
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
404 | Not Found | The search query returned no results | Ensure 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
This endpoint only accepts JSON - set the HTTP header Content-Type: application/json
on every POST
request.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer 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
.
Status | Name | Description | Resolution |
---|---|---|---|
400 | Bad Request | The server could not understand the request | Check all parameters and ensure the request is valid |
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
409 | Conflict | A Shop with this unique ID already exists | Unique 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.
Status | Name | Description |
---|---|---|
204 | No Content | The 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.
This endpoint only accepts JSON - set the HTTP header Content-Type: application/json
on every POST
request.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer 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
.
Status | Name | Description | Resolution |
---|---|---|---|
400 | Bad Request | The server could not understand the request | Check all parameters and ensure the request is valid |
401 | Unauthorized | The request is unauthenticated | Ensure 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.
Status | Name | Description |
---|---|---|
204 | No Content | The 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.
This endpoint only accepts JSON - set the HTTP header Content-Type: application/json
on every POST
request.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer 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
.
Status | Name | Description | Resolution |
---|---|---|---|
400 | Bad Request | The server could not understand the request | Check all parameters and ensure the request is valid |
401 | Unauthorized | The request is unauthenticated | Ensure 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.
Status | Name | Description |
---|---|---|
204 | No Content | The Shop was successfully updated |