Skip to content

Overview

The AutoLeap API uses the REST standard, which means you interact with it by making requests over HTTP.

A request usually includes:

  • An HTTP method (like GET or POST)
  • A path (the address of the resource)
  • Optional headers and parameters (in the path, query string, or request body)

When you send a request, the API responds with:

  • A status code (to indicate success or failure)
  • Response headers
  • Sometimes a response body with useful data

The API reference describes the method, path, and parameters for each endpoint, and includes sample requests and responses you can use as a guide.

Languages
Servers
Production
https://partnerapi.myautoleap.com/v2/

Authentication

Authenticate with the AutoLeap Partner API to obtain access tokens.
All other endpoints require a valid access token.

Operations

Profile

Retrieve partner profile details, including the companies and accounts you are authorized to access.

Operations

Customers

Retrieve and manage customer records for a given company.
Useful for syncing customer information across systems.

Operations

BetaCreate customer(s)

Request

Creates one or more customers in the specified company.
Supports bulk creation.

Notes:

  • Create/Update APIs are in beta and may still evolve.
Security
BearerAuth
Bodyapplication/jsonrequired
companyIdstringrequired
Example: "98392"
customersArray of objects(CustomerCreateItem)non-emptyrequired
Example: [{"customerType":"Regular","firstName":"John","lastName":"Doe","displayName":"John Doe","companyName":"Doe Enterprises","phones":[{"number":"123-456-7890","label":"Work","type":"mobile","primary":true,"active":true}],"emails":[{"emailAddress":"john.doe@example.com","label":"Personal","primary":true,"active":true}],"communicationPreference":"email","notes":"VIP customer","mainAddress":{"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"},"taxExempt":false,"tags":[{"name":"VIP","color":"FFFF00"}],"chargeAccount":true,"preferredLocationID":"LOC123","languagePreference":"EN","okForMarketing":true}]
customers[].​customerTypestring
Default "regular"
Enum"regular""fleet"
customers[].​firstNamestringrequired
customers[].​lastNamestringrequired
customers[].​displayNamestring

Search by customer name, email or phone

customers[].​companyNamestring
customers[].​phonesArray of objects(Phone)
Example: [{"number":"123-456-7890","label":"Work","type":"mobile","primary":true,"active":true}]
customers[].​emailsArray of objects(EmailObj)
Example: [{"emailAddress":"john.doe@example.com","label":"Personal","primary":true,"active":true}]
customers[].​communicationPreferencestring
Enum"mobile""email"
customers[].​notesstring
customers[].​mainAddressobject(Address)
Example: {"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"}
customers[].​secondaryAddressobject(Address)
Example: {"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"}
customers[].​taxExemptboolean
customers[].​reasonForTaxExemptstring
Enum"Agricultural production""Charitable organization""..."
customers[].​tagsArray of objects(Tag)
Example: [{"name":"VIP","color":"FFFF00"}]
customers[].​chargeAccountboolean
customers[].​chargeAccountDetailsobject(ChargeAccountDetails)
customers[].​preferredLocationIDstring
customers[].​languagePreferencestring
Enum"EN""FR"
customers[].​okForMarketingboolean
curl -i -X POST \
  https://partnerapi.myautoleap.com/v2/customers \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companyId": "98392",
    "customers": [
      {
        "customerType": "Regular",
        "firstName": "John",
        "lastName": "Doe",
        "displayName": "John Doe",
        "companyName": "Doe Enterprises",
        "phones": [
          {
            "number": "123-456-7890",
            "label": "Work",
            "type": "mobile",
            "primary": true,
            "active": true
          }
        ],
        "emails": [
          {
            "emailAddress": "john.doe@example.com",
            "label": "Personal",
            "primary": true,
            "active": true
          }
        ],
        "communicationPreference": "email",
        "notes": "VIP customer",
        "mainAddress": {
          "address": "123 Main St",
          "city": "New York",
          "state": "NY",
          "zip": "10001",
          "country": "USA"
        },
        "taxExempt": false,
        "tags": [
          {
            "name": "VIP",
            "color": "FFFF00"
          }
        ],
        "chargeAccount": true,
        "preferredLocationID": "LOC123",
        "languagePreference": "EN",
        "okForMarketing": true
      }
    ]
  }'

Responses

Customer creation result (supports partial success)

Bodyapplication/json
typestring
Example: "Success"
messagestring
Example: "Customer creation processed"
resultsobject
Response
application/json
{ "type": "Success", "message": "Customer creation processed", "results": { "success": [ … ], "failed": [] } }

Get customers

Request

Retrieves a paginated list of the customers for the specified locations and other matching parameters.

Security
BearerAuth
Query
companyIdstringrequired
searchstring

Search by customer name, email or phone

okForMarketingboolean

Filter customers based on whether they've opted for marketing updates or not

updatedDateStartstring(date-time)

Filter by customer update date (start)

updatedDateEndstring(date-time)

Filter by customer update date (end)

lastInvoiceDateStartstring(date-time)
lastInvoiceDateEndstring(date-time)
sortstring
customerTypestring

Filter by customer type. Accepts "regular" or "fleet"

sortDirectionstring
Enum"ASC""DESC"
sizeinteger<= 100
Default 10
pageinteger
Default 1
curl -i -X GET \
  'https://partnerapi.myautoleap.com/v2/customers?companyId=string&search=string&okForMarketing=true&updatedDateStart=2019-08-24T14%3A15%3A22Z&updatedDateEnd=2019-08-24T14%3A15%3A22Z&lastInvoiceDateStart=2019-08-24T14%3A15%3A22Z&lastInvoiceDateEnd=2019-08-24T14%3A15%3A22Z&sort=string&customerType=string&sortDirection=ASC&size=10&page=1' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Paginated list of customers

Bodyapplication/json
contentArray of objects
Example: [{"customerId":"CUST001","companyId":"98392","customerStatus":"Active","firstName":"John","lastName":"Doe","emails":[{"emailAddress":"john.doe@example.com","label":"Personal","primary":true,"active":true}],"phones":[{"number":"123-456-7890","label":"Work","type":"mobile","primary":true,"active":true}],"customerType":"Regular","communicationPreference":"email","notes":"VIP customer","mainAddress":{"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"},"taxExempt":false,"tags":[{"name":"VIP","color":"FFFF00"}],"chargeAccount":true,"preferredLocationID":"LOC123","languagePreference":"EN","okForMarketing":true,"createdDate":"2024-01-15T08:30:00Z","updatedDate":"2024-03-10T12:00:00Z"}]
Response
application/json
{ "content": [ { … } ] }

Update customers

Request

Updates one or more existing customers (bulk supported) for the specified company. Only the fields specified in the request body will be updated

Security
BearerAuth
Bodyapplication/jsonrequired
companyIdstringrequired
customersArray of objects(CustomerUpdateItem)non-emptyrequired
customers[].​customerIdstringrequired
customers[].​customerTypestring
Enum"regular""fleet"
customers[].​firstNamestring
customers[].​lastNamestring
customers[].​displayNamestring
customers[].​companyNamestring
customers[].​phonesArray of objects(Phone)
Example: [{"number":"123-456-7890","label":"Work","type":"mobile","primary":true,"active":true}]
customers[].​emailsArray of objects(EmailObj)
Example: [{"emailAddress":"john.doe@example.com","label":"Personal","primary":true,"active":true}]
customers[].​communicationPreferencestring
Enum"mobile""email"
customers[].​notesstring
customers[].​mainAddressobject(Address)
Example: {"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"}
customers[].​secondaryAddressobject(Address)
Example: {"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"}
customers[].​taxExemptboolean
customers[].​reasonForTaxExemptstring
Enum"Agricultural production""Charitable organization""Direct mail""Direct pay permit""Educational organization""Federal government""Foreign diplomat""Hospital""Industrial production / manufacturing""Local government"
customers[].​tagsArray of objects(Tag)
Example: [{"name":"VIP","color":"FFFF00"}]
customers[].​chargeAccountboolean
customers[].​chargeAccountDetailsobject(ChargeAccountDetails)
customers[].​preferredLocationIDstring
customers[].​languagePreferencestring
Enum"EN""FR"
customers[].​okForMarketingboolean
curl -i -X PUT \
  https://partnerapi.myautoleap.com/v2/customers \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companyId": "string",
    "customers": [
      {
        "customerId": "string",
        "customerType": "regular",
        "firstName": "string",
        "lastName": "string",
        "displayName": "string",
        "companyName": "string",
        "phones": [
          {
            "number": "123-456-7890",
            "label": "Work",
            "type": "mobile",
            "primary": true,
            "active": true
          }
        ],
        "emails": [
          {
            "emailAddress": "john.doe@example.com",
            "label": "Personal",
            "primary": true,
            "active": true
          }
        ],
        "communicationPreference": "mobile",
        "notes": "string",
        "mainAddress": {
          "address": "123 Main St",
          "city": "New York",
          "state": "NY",
          "zip": "10001",
          "country": "USA"
        },
        "secondaryAddress": {
          "address": "123 Main St",
          "city": "New York",
          "state": "NY",
          "zip": "10001",
          "country": "USA"
        },
        "taxExempt": true,
        "reasonForTaxExempt": "Agricultural production",
        "tags": [
          {
            "name": "VIP",
            "color": "FFFF00"
          }
        ],
        "chargeAccount": true,
        "chargeAccountDetails": {
          "allowedLimit": 0,
          "usedLimit": 0,
          "unlimited": true
        },
        "preferredLocationID": "string",
        "languagePreference": "EN",
        "okForMarketing": true
      }
    ]
  }'

Responses

Update result (supports partial success)

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Request completed successfully"
dataobject
Example: {}
Response
application/json
{ "success": true, "message": "Update processed", "data": { "updatedCount": 1, "errors": [] } }

Archive Customer(s)

Request

Archive (inativate) customers in bulk by providing a list of customerIds agsint the specified company

Security
BearerAuth
Bodyapplication/jsonrequired
companyIdstringrequired
customersArray of objectsrequired
customers[].​customerIdstring
curl -i -X PATCH \
  https://partnerapi.myautoleap.com/v2/customers \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companyId": "10001",
    "customers": [
      {
        "customerId": "CUST001"
      }
    ]
  }'

Responses

Archive result

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Request completed successfully"
dataobject
Example: {}
Response
application/json
{ "success": true, "message": "Request completed successfully", "data": {} }

Get single customer details

Request

Security
BearerAuth
Path
customerIdstringrequired
curl -i -X GET \
  'https://partnerapi.myautoleap.com/v2/customers/{customerId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Customer data

Bodyapplication/json
contentArray of objects
Example: [{"customerId":"CUST001","companyId":"98392","customerStatus":"Active","firstName":"John","lastName":"Doe","emails":[{"emailAddress":"john.doe@example.com","label":"Personal","primary":true,"active":true}],"phones":[{"number":"123-456-7890","label":"Work","type":"mobile","primary":true,"active":true}],"customerType":"Regular","communicationPreference":"email","notes":"VIP customer","mainAddress":{"address":"123 Main St","city":"New York","state":"NY","zip":"10001","country":"USA"},"taxExempt":false,"tags":[{"name":"VIP","color":"FFFF00"}],"chargeAccount":true,"preferredLocationID":"LOC123","languagePreference":"EN","okForMarketing":true,"createdDate":"2024-01-15T08:30:00Z","updatedDate":"2024-03-10T12:00:00Z"}]
Response
application/json
{ "content": [ { … } ] }

Vehicles

Retrieve and manage vehicles associated with customers.
Supports bulk creation and individual vehicle lookups.

Operations

Items

Access and manage items (parts, tires, labor, etc.) available within a company.
Includes bulk creation and detailed item retrieval.

Operations

Inventory Levels

View and update inventory levels for items across one or more locations.

Operations

Item Pricing

Retrieve and update pricing information for items.
Useful for keeping partner systems in sync with AutoLeap’s catalog pricing.

Operations

Appointments

Create and retrieve customer appointment requests across locations.
Enables seamless scheduling and booking integrations.

Operations

Repair Orders

Retrieve detailed information about repair orders (ROs).
Supports fetching all orders or a specific order by RO number.

Operations

Payments

Access payment details linked to repair orders.
Useful for reconciling transactions and financial reporting.

Operations

Technician Timesheets

Retrieve detailed timesheet logs for technicians within a company and an optional location, filtered by a date range.

Operations