PartsTech Auto Connect API

Easy Registration & Auto-Connect API

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/partstech-auto-connect-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

partstech-auto-connect-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.021.1
  title: PartsTech Auto Connect API
  description: "\n# Rate Limiting\n\nRequests can be limited by user requests, by private partner requests and by all requests with partner's credentials.\nIt has several time intervals:\n  - *Per day* restricts count of requests made in one day.\n  - *Requests per second* restricts count of requests made in one second.\n  - *Concurrent requests* restricts count of parallel requests.\n  - *Sliding 15 minutes* restricts count of requests made in last 15 minutes.\n\n**Note**: Every method has own separate sets of the limits.\n\n## Headers\nUse the HTTP headers in order to understand where the application is at for a given rate limit, on the method that was just utilized.\nThe HTTP header is returned only for one general limit or for limit that user reached.\n\n\n*Headers*\n  - the rate limit ceiling for that given endpoint:\n  ```\n  x-rate-limit-limit: 1000\n  ```\n  - the number of requests left:\n  ```\n  x-rate-limit-remaining: 570\n  ```\n  - the remaining window before the rate limit resets, in UTC [epoch seconds](https://en.wikipedia.org/wiki/Unix_time):\n  ```\n  x-rate-limit-reset: 1552003200\n  ```\n\nWhen an application exceeds the rate limit for a given standard API endpoint,\nthe API will return a HTTP 429 “Too Many Requests” response code, and the following error will be returned in the response body:\n```\n{\n  \"error\": {\n    \"code\": \"TooManyRequests\",\n    \"message\": \"Some description\"\n  }\n}\n```\n\n# Pagination\n\nWhen you call an API method to retrieve information, it can be returned to you in portions.\nCheck out more detail below on pagination in API methods, including how to use them and which methods follow the pattern.\n\nAPI methods that supports pagination will return the `Link` header. It will include available urls of `first`, `last`, `previous` and `next` pages.\n\n```\nLink: <https://api.partstech.com/purchases?page=1>; rel=\"first\"\nLink: <https://api.partstech.com/purchases?page=1>; rel=\"previous\"\nLink: <https://api.partstech.com/purchases?page=3>; rel=\"next\"\nLink: <https://api.partstech.com/purchases?page=142>; rel=\"last\"\n```\n\n# MOTOR Compliance Requirements\n\nAll MOTOR-powered endpoints (Labor, Maintenance Schedules, Fluids, and Specifications) return a `Link` header\ncontaining the URL to MOTOR's OEM Compliance Requirements documentation.\n\nThe header follows the [RFC 8288 (Web Linking)](https://tools.ietf.org/html/rfc8288) format:\n\n```\nLink: <https://www.motor.com/oem-compliance-requirements/>; rel=\"compliance\"\n```\n\n# Errors\n\nThe API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format:\n\n```\n{\n  \"error\": {\n    \"code\": \"InternalErrorCode\",\n    \"message\": \"Some description\"\n  }\n}\n```\n\n# Error Responses\nSome default error responses used in the API.\n\nHttp Code  | Explanation | Content Type | Used error codes\n----------------|-------------|------------------|---------\n400 | Bad Request. The request was unacceptable. | `application/json` | `InvalidRequestSyntax`\n401 | Unauthorized. The request requires user or partner credentials or bearer token. Also used for invalid credentials or bearer token. | `application/json` | `InvalidToken`, `UserAuthenticationFailed`, `PartnerAuthenticationFailed`\n402 | Request Failed. The parameters were valid but the request failed. | `application/json` | Different codes, depend on method.\n403 | Forbidden. Also used for unauthorized requests such as improper credentials scopes or permissions issues. | `application/json` | `IncorrectMode`, `DisabledApiUsage`, `UserIsNotActivated`, `HaveNotPermission`, `NotAvailableMethod`\n404 | Some data in the request is not found. Or incorrect url was used. | `application/json`, `text/html`, no content | `NotFound`\n405 | Method not allowed. | `application/json`, `text/html`, no content |\n406 | Unacceptable content type. Client sent an accepts header for a content type which does not exist on the server. | No content |\n409 | Locked. One of the another operations that is in progress blocks this method call. | `application/json` | `LockedSession`\n429 | Too Many Requests | `application/json` | `TooManyRequests`\n432 | Integration Error | `application/json` |\n500 | Internal Server Error. (This is rare.) | `application/json` | `InternalError`\n501 | Not Implemented | `application/json` | `MethodNotImplemented`\n503 | The backend server is not available. (This is rare.) | No content |\n"
  x-logo:
    url: https://partstech.com/wp-content/uploads/2025/03/PartsTech_OEC-compnay_logo.svg
    altText: PartsTech logo
servers:
- url: https://api.partstech.com
  description: Production server
- url: https://api.beta.partstech.com
  description: Beta server
tags:
- name: auto-connect
  description: Easy Registration & Auto-Connect API
  x-displayName: Easy Registration & Auto-Connect API
paths:
  /partner/user-connect:
    post:
      summary: Create Connection Form
      description: 'Provides PartsTech with shop information to create a personalized sign-in or sign-up process to autofill as many sign-up fields as provided in this request.

        When a user completes this process, a separate callback with shop information is sent to the provided callbackUrl.

        The partner application will use this shop information to automatically connect the user''s PartsTech account and enable the PartsTech integration.

        '
      operationId: attemptAutoConnect
      x-operation-name: CreatePartnerUserConnection
      tags:
      - auto-connect
      security:
      - bearerAuth:
        - partner
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              - callbackUrl
              - smsUserId
              properties:
                email:
                  type: string
                  example: iron.man@example.com
                callbackUrl:
                  type: string
                  description: The URL for the partner application to receive the shop information callback after the shop signs in or signs up using the connection form.
                  example: http://localhost:80/some-callback-url
                smsUserId:
                  type: string
                  description: 'A unique identifier used by the partner application to identify a user.

                    Will be sent to the partner application in the callback data after a shop signs in or signs up using the connection form.

                    '
                  example: 767589
                firstName:
                  type:
                  - string
                  - 'null'
                  example: Iron
                lastName:
                  type:
                  - string
                  - 'null'
                  example: Man
                shop:
                  type:
                  - object
                  - 'null'
                  properties:
                    name:
                      type:
                      - string
                      - 'null'
                      description: The name of the shop.
                      example: Iron Man Shop
                    type:
                      type:
                      - string
                      - 'null'
                      enum:
                      - GENERAL_REPAIR
                      - TIRE
                      - QUICK_LUBE
                      - HEAVY_DUTY
                      - MOBILE_MECHANIC
                      - NEW_USED_VEHICLE_DEALER
                      - FLEET_REPAIR
                      - PARTS_SUPPLIER
                      - OTHER
                      description: The type of shop. There are currently nine accepted values for shop type, shown in the enum list.
                      example: OTHER
                    phone:
                      type:
                      - string
                      - 'null'
                      description: The phone number of the shop.
                      pattern: \(\d{3}\)\s\d{3}-\d{4}(\s?x\d{1,5})?
                      example: (777) 777-7777 x111
                    website:
                      type:
                      - string
                      - 'null'
                      description: The URL of the shop's website.
                    address:
                      type:
                      - object
                      - 'null'
                      properties:
                        address1:
                          type:
                          - string
                          - 'null'
                          example: 1 Broadway
                        address2:
                          type:
                          - string
                          - 'null'
                          example: 14th Floor
                        city:
                          type:
                          - string
                          - 'null'
                          example: Cambridge
                        state:
                          type:
                          - string
                          - 'null'
                          minLength: 2
                          maxLength: 2
                          pattern: \w{2,2}
                          description: 'ISO 3166-2: Second part. Example for US-MA - MA.'
                          example: MA
                        zipCode:
                          type:
                          - string
                          - 'null'
                          pattern: (^\d{5}$)|(^\d{5}-\d{4}$)
                          example: '02142'
                        country:
                          type:
                          - string
                          - 'null'
                          minLength: 2
                          maxLength: 2
                          pattern: \w{2,2}
                          description: ISO 3166-1 alpha-2
                          default: US
                          example: US
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - registrationUrl
                - smsUserId
                properties:
                  registrationUrl:
                    type: string
                    description: The URL to open up the registration and connection page for a user.
                  smsUserId:
                    type: string
                    description: A unique identifier used by the partner application to identify a user. Will be sent to the partner application in the callback data after a shop signs in or signs up using the connection form.
  /our-auto-connect-callback:
    post:
      summary: Connection Callback
      description: 'Provides partners with a shop''s information, including Username and API Key, to connect a shop''s PartsTech account to the partner application.

        This information is sent to the partner''s provided callbackUrl after a shop signs in or signs up using a registrationUrl.

        '
      operationId: connectionCallback
      tags:
      - auto-connect
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - smsUserId
              - action
              - user
              properties:
                smsUserId:
                  type: string
                  description: A unique identifier used by the partner application to identify a user. Will be sent to the partner application in the callback data after a shop signs in or signs up using the connection form.
                action:
                  type: string
                  enum:
                  - CONNECTION
                  description: Indicates whether the callback contains quote, order, tire comparison quote, or user connection data. Value SUBMIT_QUOTE indicates quote data, and PURCHASE indicates order data. Value TIRE_QUOTE indicates tire comparison quote data, which means that a shop's customer has chosen a tire from PartsTech's tire comparison quote feature. CONNECTION indicates user connection data, which means that the partner should automatically connect the user's PartsTech username and API Key in their system and enable the PartsTech integration for the user.
                user:
                  type: object
                  required:
                  - username
                  - email
                  - enabled
                  - lastLogin
                  - allowOrderEmails
                  - firstName
                  - lastName
                  - demo
                  - apiKey
                  properties:
                    username:
                      type: string
                      example: mechanic
                    email:
                      type: string
                      example: iron.man@example.com
                    enabled:
                      type: boolean
                      example: true
                      description: Shows if user is activated.
                    lastLogin:
                      type:
                      - string
                      - 'null'
                      format: date-time
                      description: Shows date and time of last user login. ISO 8601/RFC 3339, UTC
                    registrationDate:
                      type:
                      - string
                      - 'null'
                      format: date
                      description: Shows date of user registration.
                    allowOrderEmails:
                      type: boolean
                      example: true
                    firstName:
                      type: string
                      example: Iron
                    lastName:
                      type: string
                      example: Man
                    timeZone:
                      type:
                      - string
                      - 'null'
                      example: America/New_York
                    demo:
                      type: boolean
                      example: false
                    apiKey:
                      type: string
      responses:
        '200':
          description: OK
        '201':
          description: OK
        '202':
          description: OK
        '204':
          description: OK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: "Get access to data while protecting your account credentials.\nToken (a JWT token) are also a safer and more secure way to give you access.\n\nIt provides two ways of access:\n - `user` - Give an access to user methods.\n - `partner` - Give an acess to partner methods.\n\nTo use this way you need:\n1. Get an access token. See [\"Authentication and Access\"](#operation/getAcessToken).\n2. Add a header in the request\n```\nAuthorization: Bearer <accessToken>\n```\n3. Refresh tokens, when it expires, using `refreshToken`. See [\"Authentication and Access\"](#operation/refreshAccessToken). **Deprecated**.\nGenerate a new token after an expiration of previous instead of refreshing .\n"
    apiKeyAuth:
      type: apiKey
      in: header
      name: credentials
      description: "It is a deprecated way to get access to the methods, used only in the methods, that were in the previous version.\n\nIt provides two ways of an access:\n - `user` - Give access to user methods.\n - `partner` - Give acess to partner methods.\n\nTo use this way you need to add credentials in the request body, where it is allowed, in a next format:\n - for user methods:\n```\n\"credentials\": {\n    \"user\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    },\n    \"partner\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    }\n}\n```\n - for partner methods:\n```\n\"credentials\": {\n    \"partner\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    }\n}\n```\n\nFor example content of method [`Submit Cart`](#operation/submitCart) will be modified:\n```\n{\n  \"sessionId\": \"123asjkdhyr34234\"\n}\n```\n\n```\n{\n  \"sessionId\": \"123asjkdhyr34234\",\n  \"credentials\": {\n    \"user\": {\n      \"id\": \"mechanic\",\n      \"key\": \"Mechanic's API key\"\n    },\n    \"partner\": {\n      \"id\": \"partner name\",\n      \"key\": \"partner's API key\"\n    }\n  }\n}\n```\n"
x-tagGroups:
- name: Authentication
  tags:
  - auth
- name: Punchout
  tags:
  - punchout_quote
- name: Cart
  tags:
  - punchout-cart
  - session-cart
  - callback-cart
  - punchout-orders
  - custom-cart
- name: Catalog
  tags:
  - vin
  - search
  - quoting
  - parts
  - tires
  - brands
- name: Taxonomy
  tags:
  - pcdb
  - vcdb
  - jobs
- name: Profile
  tags:
  - user
  - shop
  - supplier_preferences
  - orders
- name: Partner
  tags:
  - users
  - shops
  - ex-permissions
  - partner-orders
  - auto-connect
- name: Others
  tags:
  - suppliers
  - local-inventory
- name: Motor Taxonomy
  tags:
  - motor-labor
  - motor-maintenance-schedules
  - motor-fluids
  - motor-specifications
- name: Mitchell1 Taxonomy
  tags:
  - mitchell1
  - mitchell1-labor