Registrations
Creating a Registration
POST /tire-protection/registrations
To create a Registration, send a POST
request to the /tire-protection/registrations
endpoint with a JSON payload
matching the Registration 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 Registration 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
Registration object
{
"product_id": "YOUR-PRODUCT-ID",
"invoiceNumber": "001-20345",
"enrollDate": "2021-08-01T13:08:00.000Z",
"customer": {
"name": "John Doe",
"email": "john.doe@example.com"
},
"vehicle": {
"year": 2021,
"make": "Tesla",
"model": "Model 3"
},
"tires": [
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
}
]
}
Request
curl --location \
--request POST "https://sandbox.absintegrations.com/api/v3/tire-protection/registrations" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
--header "Content-Type: application/json" \
--data-raw '{
"product_id": "YOUR-PRODUCT-ID",
"invoiceNumber": "001-20345",
"enrollDate": "2021-08-01T13:08:00.000Z",
"customer": {
"name": "John Doe",
"email": "john.doe@example.com"
},
"vehicle": {
"year": 2021,
"make": "Tesla",
"model": "Model 3"
},
"tires": [
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
}
]
}'
Response
{ "id": "6109bf5e5494a80b344f5daf" }
Get a Registration
GET /tire-protection/registrations/:id
This endpoint retrieves the Registration with the specified ID, including any claims filed against the Registration.
Replace :id
with the ID of the Registration to retrieve.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer token in form of a JWT see getting started for more information |
URL Parameters
Name | Description |
---|---|
:id | The Registration ID |
Errors
This endpoint may respond with any documented of the status codes, however the most
common errors are 401: Unauthorized
and 404: Not Found
.
Status | Name | Description | Resolution |
---|---|---|---|
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
404 | Not Found | The resource was not found | Ensure the Registration ID is correct |
Example
Request
curl --location \
--request GET "https://sandbox.absintegrations.com/api/v3/tire-protection/registrations/63e68996f4307525f7778e8e" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
Response
{
"_id": "63e68996f4307525f7778e8e",
"invoiceNumber": "001-20345",
"program_id": "63e68996f4307525f7777c7e",
"enrollDate": "2023-02-10T18:14:45.959Z",
"customer": {
"name": "John Doe",
"email": "john.doe@example.com"
},
"vehicle": {
"year": 2021,
"make": "Tesla",
"model": "Model 3"
},
"tires": [
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
}
]
}
Get Registration Metadata
GET /tire-protection/registrations/:id/metadata
This endpoint retrieves the metadata for the Registration with the specified ID.
Replace :id
with the ID of the Registration to retrieve.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer token in form of a JWT see getting started for more information |
URL Parameters
Name | Description |
---|---|
:id | The Registration ID |
Errors
This endpoint may respond with any documented of the status codes, however the most
common errors are 401: Unauthorized
and 404: Not Found
.
Status | Name | Description | Resolution |
---|---|---|---|
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
404 | Not Found | The resource was not found | Ensure the Registration ID is correct |
Example
Request
curl --location \
--request GET "https://sandbox.absintegrations.com/api/v3/tire-protection/registrations/63e68996f4307525f7778e8e/metadata" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
Response
{
"enrollDate": "2025-05-06T00:00:00.000Z",
"expirationDate": "2028-05-06T00:00:00.000Z",
"claimedTiresCount": 1,
"availableTiresCount": 3,
"hasTiresToClaim": true,
"hasTiresToReplace": true,
"isActive": true
}
Listing all Registrations
GET /tire-protection/registrations
To list all Registrations, send a GET
request to the /tire-protection/registrations
endpoint. Returned results are
paginated. The request can use optional query string parameters to retrieve different pages.
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer token in form of a JWT see getting started for more information |
URL Query Parameters
Name | Default Value | Description |
---|---|---|
pageSize | 100 | Number of records per page |
page | 1 | The page to retrieve. |
invoiceNumber | Used to query registrations by specific invoice number | |
storeNumber | Returns all registrations by provided store number |
- All query parameters are optional
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 |
---|---|---|---|
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
400 | Bad Request | The server could not understand the request | Check all parameters and ensure the request is valid |
Example
Request
curl --location \
--request GET "https://sandbox.absintegrations.com/api/v3/tire-protection/registrations?page=1&pageSize=100" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg"
Response
{
"results": [
{
"_id": "6109bf5e5494a80b344f5daf",
"product_id": "YOUR-PRODUCT-ID",
"invoiceNumber": "001-20345",
"enrollDate": "2021-08-01T13:08:00.000Z",
"customer": {
"name": "John Doe",
"email": "john.doe@example.com"
},
"vehicle": {
"year": 2021,
"make": "Tesla",
"model": "Model 3"
},
"tires": [
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
},
{
"make": "BRIDGESTONE",
"model": "TURANZA ER33",
"size": "235/45R18",
"retailPrice": 334.31
}
],
"cancelledOn": "2021-08-03T10:10:00.000Z"
}
],
"totalRecordCount": 1,
"page": 1,
"pageSize": 100,
"totalPages": 1
}
Cancelling a Registration
PATCH /tire-protection/registrations/:id
PATCH /tire-protection/registrations?invoiceNumber=:invoiceNumber
To cancel a Registration, send a PATCH
request to the /tire-protection/registrations/:id
endpoint or to the
/tire-protection/registrations?invoiceNumber=:invoiceNumber
endpoint with a JSON payload containing the cancellation
date.
Not all Registrations can be cancelled. If the terms and conditions for your program do not allow for cancellation, or
if a registration has already been cancelled, attempting to cancel a Registration will result in the error 409: Conflict
If your invoice numbers are not unique, you must use the /tire-protection/registrations/:id
endpoint
This endpoint only accepts JSON - set the HTTP header Content-Type: application/json
on every PATCH
request
Parameters
HTTP Headers
Headers | Description |
---|---|
Authorization | Bearer token in form of a JWT see getting started for more information |
HTTP Request Body
Name | Type | Required |
---|---|---|
cancelledOn | ISO 8601 Date extended format string | Yes |
URL Parameters
Name | Description | Required |
---|---|---|
:id | The Registration ID | Required if not using invoiceNumber |
URL Query String
Name | Description | Required |
---|---|---|
invoiceNumber | The invoice number | Required if not using :id |
storeNumber | The store number that the Registration invoice is for | Required if not using :id and invoiceNumber alone is not unique |
Errors
This endpoint may respond with any documented of the status codes, however the most
common errors are 401: Unauthorized
and 409: Conflict
.
Status | Name | Description | Resolution |
---|---|---|---|
401 | Unauthorized | The request is unauthenticated | Ensure your JWT is valid |
409 | Conflict | The request conflicts with the current state of the server | Ensure the Registration ID or Invoice Number is correct. Some Registrations cannot be cancelled. Registrations cannot be cancelled more than once. |
Example
Registration object
{
"cancelledOn": "2021-08-03T10:10:00.000Z"
}
Request
curl --location \
--request PATCH "https://sandbox.absintegrations.com/api/v3/tire-protection/registrations?invoiceNumber=001-20345" \
--header "Authorization: Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Mjc2NTU5NzAsImV4cCI6MTYyNzY2MzE3MCwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmFic2ludGVncmF0aW9ucy5jb20vYXBpL3YzIiwiaXNzIjoiNjEwMmI1MjFmNDAzZjQyZGRjZGU3YWU1In0.y5-vxJHlBtVf2Jr9sPO4I97L5hImkhyn1EtHeCoeIzqZwObpcVy9ZEMJoCGbXwnGdeZ6GpaiO8KD9xLqgUZcTg" \
--header "Content-Type: application/json" \
--data-raw '{
"cancelledOn": "2021-08-03T10:10:00.000Z"
}'
Response
No body is returned in the response, only the HTTP status: 204: No Content