openapi: 3.1.0 info: title: FinditParts Reseller API version: 2.0.1 description: |- REST surface of the FinditParts Reseller API — the partner/reseller integration for FinditParts, an online marketplace for heavy-duty truck, trailer, fleet and industrial replacement parts. It covers catalog search and part-number lookup, variant pricing and availability, shipping-method quoting, hosted customer setup and order sessions, cart/checkout, and order history. DERIVED, NOT PUBLISHED BY THE PROVIDER. FinditParts publishes no OpenAPI document. This spec was mechanically derived by API Evangelist from the first-party public Postman collection "FinditParts Reseller API 2.0.1", published by FinditParts at https://api-docs.finditparts.com/ and saved verbatim in this repo at postman/finditparts-reseller-api-postman.json. Every path, method, parameter, request body, example response and description below is carried over from that collection; nothing was invented. Response schemas are derived from the collection's example payloads, whose /// placeholders are Postman's rendering of the provider's own declared types. Each operation records its original collection URL template in x-postman-request. Authentication is a short-lived HS256 JWT signed with the Reseller Client Secret (iss = Reseller Client ID, exp required, sub = Customer Reference when acting on behalf of a customer), or an issued API key of the form api-XYZ123 — both presented as an Authorization: Bearer credential. See authentication/finditparts-authentication.yml. contact: name: FinditParts Support email: support@finditparts.com url: https://www.finditparts.com/developers termsOfService: https://www.finditparts.com/terms-of-use x-generated-by: API Evangelist enrichment pipeline (derived from first-party Postman collection) x-source: postman/finditparts-reseller-api-postman.json x-source-url: https://api-docs.finditparts.com/ servers: - url: https://finditparts.com/api/v1 description: Production. This is the baseUrl collection variable published in the FinditParts Reseller API Postman collection; FinditParts documents no separate sandbox host. tags: - name: Products description: Part search, part-number lookup and product/variant detail across the FinditParts catalog. - name: Variants description: Variant-level price, quantity, cutoff and core lookups. - name: Shipping description: Shipping method quoting and estimated cost for a proposed set of line items and an address. - name: Reseller Customer Sessions description: Hosted USER_SETUP and NEW_ORDER sessions returned as a finditparts.com redirect_url for iframe embedding or redirect. - name: Sessions description: User-specific JWT session creation, refresh, inspection and destruction. - name: Reseller Customers description: Sub-users created on a reseller master account and addressed by customer_reference. - name: Users description: Direct FinditParts user creation for API-key clients. - name: Partners description: Partner API-key surface for white-label shipping quotes and order placement. - name: Orders description: Order listing, search and detail for a user-specific session. - name: Addresses description: Shipping and billing address book for a user-specific session. - name: Carts description: 'Draft-order (cart) lifecycle: line items, addresses, shipping method, coupon, PO number and checkout.' security: - resellerJWT: [] - apiKey: [] paths: /products/{product_id}: get: operationId: getProduct summary: Product Details tags: - Products description: |- Returns the Product Details Requires a generic JWT in the Authorization header. Use a customer referenced JWT to return account specific pricing or a Generic JWT token (no customer reference) to return list price. parameters: - name: include_pies_data in: query required: false schema: type: boolean - name: product_id in: path required: true schema: type: string responses: '200': description: 'Product Details Response: Details for a given Product' content: application/json: schema: type: object properties: product: type: object properties: id: type: integer manufacturer: type: string part_number: type: string short_description: type: string long_description: type: string sellable: type: boolean product_url: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string condition: type: string breadcrumb_ancestors: type: object properties: id: type: integer name: type: string permalink: type: string is_hidden: type: boolean current_variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string preferred_variant_id: type: integer variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string recommendations_url: type: string product_review_count: type: integer product_review_rating: type: number format: float manufacturer_image: type: string msrp: type: number format: float purchase_notes: type: array items: type: object properties: type: type: string examples: - SPECIAL_ORDER html_message: type: string product_reviews: type: array items: type: object properties: title: type: string rating: type: integer summary: type: string pies_data: type: object properties: descriptions: type: array items: type: object properties: title: type: string description_code: type: string value: type: string language_code: type: string sequence: type: integer part_interchanges: type: array items: type: object properties: brand_label: type: string part_number: type: string brand_aaiaid: type: string product_attributes: type: array items: type: object properties: name: type: string value: type: string extended_product_informations: type: array items: type: object properties: description: type: string value: type: string expi_code: type: string language_code: type: string errno: type: integer example: product: id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: SPECIAL_ORDER html_message: - type: SHIPPING_CUTOFF html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/products/:product_id?include_pies_data= /products/{product_ids}/multi: get: operationId: getProductsMulti summary: Product Details Multi tags: - Products description: |- Returns the Product Details for each comma separated ID. Requires a generic JWT in the Authorization header. Use a customer referenced JWT to return account specific pricing or a Generic JWT token (no customer reference) to return list price. parameters: - name: product_ids in: path required: true schema: type: string responses: '200': description: Product Details Multi Response content: application/json: schema: type: object properties: products: type: array items: type: object properties: id: type: integer manufacturer: type: string part_number: type: string short_description: type: string long_description: type: string sellable: type: boolean product_url: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string condition: type: string breadcrumb_ancestors: type: object properties: id: type: integer name: type: string permalink: type: string is_hidden: type: boolean current_variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string preferred_variant_id: type: integer variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string recommendations_url: type: string product_review_count: type: integer product_review_rating: type: number format: float manufacturer_image: type: string msrp: type: number format: float purchase_notes: type: array items: type: object properties: type: type: string examples: - SPECIAL_ORDER html_message: type: string product_reviews: type: array items: type: object properties: title: type: string rating: type: integer summary: type: string pies_data: type: object properties: descriptions: type: array items: type: object properties: title: type: string description_code: type: string value: type: string language_code: type: string sequence: type: integer part_interchanges: type: array items: type: object properties: brand_label: type: string part_number: type: string brand_aaiaid: type: string product_attributes: type: array items: type: object properties: name: type: string value: type: string extended_product_informations: type: array items: type: object properties: description: type: string value: type: string expi_code: type: string language_code: type: string errno: type: integer example: products: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: SPECIAL_ORDER html_message: - type: RETURNS html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: NA_CA html_message: - type: SHIPPING_PROMISE html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/products/:product_ids/multi /products/lookup: get: operationId: lookupProductByPartNumber summary: Lookup Product by Part Number tags: - Products description: |- Returns the Product Details for each Product that exactly matches the part number provided. Results are split by part number exact matches and cross reference exact matches. Requires a generic JWT in the Authorization header. Use a customer referenced JWT to return account specific pricing or a Generic JWT token (no customer reference) to return list price. parameters: - name: part_number in: query required: false schema: type: string responses: '200': description: Product Lookup Response content: application/json: schema: type: object properties: part_number_matches: type: array items: type: object properties: id: type: integer manufacturer: type: string part_number: type: string short_description: type: string long_description: type: string sellable: type: boolean product_url: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string condition: type: string breadcrumb_ancestors: type: object properties: id: type: integer name: type: string permalink: type: string is_hidden: type: boolean current_variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string preferred_variant_id: type: integer variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string recommendations_url: type: string product_review_count: type: integer product_review_rating: type: number format: float manufacturer_image: type: string msrp: type: number format: float purchase_notes: type: array items: type: object properties: type: type: string examples: - SHIPPING_MESSAGE html_message: type: string product_reviews: type: array items: type: object properties: title: type: string rating: type: integer summary: type: string pies_data: type: object properties: descriptions: type: array items: type: object properties: title: type: string description_code: type: string value: type: string language_code: type: string sequence: type: integer part_interchanges: type: array items: type: object properties: brand_label: type: string part_number: type: string brand_aaiaid: type: string product_attributes: type: array items: type: object properties: name: type: string value: type: string extended_product_informations: type: array items: type: object properties: description: type: string value: type: string expi_code: type: string language_code: type: string cross_reference_matches: type: array items: type: object properties: id: type: integer manufacturer: type: string part_number: type: string short_description: type: string long_description: type: string sellable: type: boolean product_url: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string condition: type: string breadcrumb_ancestors: type: object properties: id: type: integer name: type: string permalink: type: string is_hidden: type: boolean current_variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string preferred_variant_id: type: integer variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string recommendations_url: type: string product_review_count: type: integer product_review_rating: type: number format: float manufacturer_image: type: string msrp: type: number format: float purchase_notes: type: array items: type: object properties: type: type: string examples: - SHIPPING_MESSAGE html_message: type: string product_reviews: type: array items: type: object properties: title: type: string rating: type: integer summary: type: string pies_data: type: object properties: descriptions: type: array items: type: object properties: title: type: string description_code: type: string value: type: string language_code: type: string sequence: type: integer part_interchanges: type: array items: type: object properties: brand_label: type: string part_number: type: string brand_aaiaid: type: string product_attributes: type: array items: type: object properties: name: type: string value: type: string extended_product_informations: type: array items: type: object properties: description: type: string value: type: string expi_code: type: string language_code: type: string errno: type: integer example: part_number_matches: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: SHIPPING_MESSAGE html_message: - type: SHIPPING_MESSAGE html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: SHIPPING_PROMISE html_message: - type: RETURNS html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: cross_reference_matches: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: SHIPPING_MESSAGE html_message: - type: NA_CA html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: - id: manufacturer: part_number: short_description: long_description: sellable: product_url: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: condition: breadcrumb_ancestors: id: name: permalink: is_hidden: current_variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: preferred_variant_id: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: recommendations_url: product_review_count: product_review_rating: manufacturer_image: msrp: purchase_notes: - type: NA_CA html_message: - type: NA_CA html_message: product_reviews: - title: rating: summary: - title: rating: summary: pies_data: descriptions: - title: description_code: value: language_code: sequence: - title: description_code: value: language_code: sequence: part_interchanges: - brand_label: part_number: brand_aaiaid: - brand_label: part_number: brand_aaiaid: product_attributes: - name: value: - name: value: extended_product_informations: - description: value: expi_code: language_code: - description: value: expi_code: language_code: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/products/lookup?part_number= /products: get: operationId: productSearch summary: Product Search tags: - Products description: |- Returns a list of products matching part number provided. One of part_number or query parameter is required. Requires a JWT in the Authorization header with intent 'PRODUCT_SEARCH' and on behalf of a 'Customer Reference' (See Workflow section in /reseller_customer_sessions endpoint). Use a customer referenced JWT with intent PRODUCT_SEARCH to return account specific pricing or a Generic JWT token (no customer reference) to return list price. Toggle between v3 and v2 search with use_v3_search=true JWT payload for product search Example JWT payload (with customer reference sub to return account_price): JWT.sign({ sub: "CUSTOMER_123", iss: "acme-corp-sandbox", exp: 1600903066, data: { intent: "PRODUCT_SEARCH", } }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" Example generic JWT payload (no customer reference sub to return generic list price of products): JWT.sign({ iss: "acme-corp-sandbox", exp: 1600903066, }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" parameters: - name: part_number in: query required: false schema: type: string - name: query in: query required: false schema: type: string - name: order in: query required: false schema: type: string examples: - manufacturer_to_a - name: m in: query required: false schema: type: string - name: strict in: query required: false schema: type: boolean - name: ioos in: query required: false schema: type: boolean - name: tags in: query required: false schema: type: string examples: - Top Seller - name: pf in: query required: false schema: type: number format: float - name: pt in: query required: false schema: type: number format: float - name: page in: query required: false schema: type: integer - name: per in: query required: false schema: type: integer - name: pc in: query required: false schema: type: string - name: psc in: query required: false schema: type: string - name: ppt in: query required: false schema: type: string - name: c_d1 in: query required: false schema: type: string - name: c_d2 in: query required: false schema: type: string - name: c_d3 in: query required: false schema: type: string - name: attrs in: query required: false schema: type: string - name: aggs in: query required: false schema: type: boolean - name: x_core in: query required: false schema: type: boolean - name: ids in: query required: false schema: type: string - name: use_v3_search in: query required: false schema: type: boolean responses: '200': description: 'Product Search Response: A list of matching products' content: application/json: schema: type: object properties: products: type: array items: type: object properties: finditparts_product_id: type: integer url: type: string manufacturer: type: string part_number: type: string id: type: integer image: type: string image_thumbnail: type: string short_description: type: string preferred_variant_id: type: integer part_number_match_type: type: string examples: - partial cross_reference_match_type: type: string examples: - full match_score: type: number format: float match_relative_score: type: number format: float sellable: type: boolean variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string tags: type: array items: type: string examples: - In Stock pagination: type: object properties: current_page: type: integer per_page: type: integer total_count: type: integer errno: type: integer aggs: type: object properties: price_ranges: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number manufacturer: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number pies_category: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number pies_subcategory: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number pies_part_terminology: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number tags: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number pies_attributes: type: object properties: buckets: type: array items: type: object properties: key: type: string doc_count: type: number to: type: number from: type: number doc_count_error_upper_bound: type: number sum_other_doc_count: type: number example: products: - finditparts_product_id: url: manufacturer: part_number: id: image: image_thumbnail: short_description: preferred_variant_id: part_number_match_type: partial cross_reference_match_type: full match_score: match_relative_score: sellable: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: tags: - In Stock - Express Shipping - finditparts_product_id: url: manufacturer: part_number: id: image: image_thumbnail: short_description: preferred_variant_id: part_number_match_type: none cross_reference_match_type: none match_score: match_relative_score: sellable: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: tags: - In Stock - Top Rated pagination: current_page: per_page: total_count: errno: aggs: price_ranges: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: manufacturer: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: pies_category: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: pies_subcategory: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: pies_part_terminology: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: tags: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: pies_attributes: buckets: - key: doc_count: to: from: - key: doc_count: to: from: doc_count_error_upper_bound: sum_other_doc_count: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/products?part_number=&query=&order=manufacturer_to_a&m=&strict=&ioos=&tags=Top Seller&pf=&pt=&page=&per=&pc=&psc=&ppt=&c_d1=&c_d2=&c_d3=&attrs=&aggs=&x_core=&ids=&ids=&use_v3_search= /variants/{variant_ids}: get: operationId: variantLookup summary: Variant Lookup tags: - Variants description: |- Returns the matching variants by ID Requires a JWT in the Authorization header with intent 'PRODUCT_SEARCH' and on behalf of a 'Customer Reference' (See Workflow section in /reseller_customer_sessions endpoint). Use a customer referenced JWT with intent PRODUCT_SEARCH to return account specific pricing or a Generic JWT token (no customer reference) to return list price. JWT payload for product search Example JWT payload (with customer reference sub to return account_price): JWT.sign({ sub: "CUSTOMER_123", iss: "acme-corp-sandbox", exp: 1600903066, data: { intent: "PRODUCT_SEARCH", } }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" Example generic JWT payload (no customer reference sub to return generic list price of products): JWT.sign({ iss: "acme-corp-sandbox", exp: 1600903066, }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" parameters: - name: variant_ids in: path required: true schema: type: string responses: '200': description: 'Variant Lookup Response: A list of matching variants' content: application/json: schema: type: object properties: variants: type: array items: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string errno: type: integer example: variants: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: - variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/variants/:variant_ids /shipping_methods: get: operationId: shippingMethods summary: Shipping Methods tags: - Shipping description: |- Returns a list of shipping methods and estimated costs for a given order and address. This API can be accessed using a JWT or an API key. API Key Authentication Requires an API Key in the Authorization header. Parameters line_items and address should be sent as query parameters if using API Key Authentication. Example API Key Request Single variant: GET /api/v1/shipping_methods.json?line_items[][variant_id]=123&line_items[][quantity]=1&address[zipcode]=93101 Multiple variants via product_id: GET /api/v1/shipping_methods.json?line_items[][finditparts_product_id]=456&line_items[][quantity]=1&line_items[][finditparts_product_id]=123&line_items[][quantity]=1&address[zipcode]=93101 JWT Authentication Requires a JWT in the Authorization header and optionally on behalf of a 'Customer Reference' (as the JWT sub) JWT Payload for fetching shipping methods Each JWT to fetch shipping methods must include the subject header sub which should specify the Customer Reference. Each JWT to fetch shipping methods may include a data payload matching the following format (as an alternative to specifying the data in query parameters): Example JWT payload: JWT.sign({ sub: "CUSTOMER_123", iss: "acme-corp-sandbox", exp: 1600903066, data: { intent: "SHIPPING_METHODS", line_items: [{ variant_id: '...', quantity: '...' }], // Line items in the proposed order. See NEW_ORDER for format of `line_items` address: { address1: '...', address2: '...', city: 'Los Angeles', state: 'CA', zipcode: '90000', country: 'USA', address_type: "commercial" || "residential" }, // Address to use for estimate } }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" parameters: - name: line_items in: query required: false description: Repeated object-valued parameter. FinditParts documents the encoding as Rails bracket form, e.g. line_items[][variant_id]=123&line_items[][quantity]=1 — or line_items[][finditparts_product_id]=456&line_items[][quantity]=1. May also be supplied inside the JWT data payload instead. schema: type: array items: type: object x-encoding: rails-bracket - name: zipcode in: query required: false schema: type: string - name: address1 in: query required: false schema: type: string - name: address2 in: query required: false schema: type: string - name: state in: query required: false schema: type: string - name: city in: query required: false schema: type: string - name: country in: query required: false schema: type: string - name: address_type in: query required: false schema: type: string examples: - commercial responses: '200': description: 'Shipping Methods Response: A list of available shippping methods and cost' content: application/json: schema: type: object properties: shipping_methods: type: array items: type: object properties: id: type: integer label: type: string amount: type: number format: float identifier: type: string currency: type: string carrier_type: type: string examples: - ups detail: type: string days_to_deliver: type: integer estimated_delivery_date: type: string available: type: boolean url: type: string manufacturer: type: string errno: type: integer example: shipping_methods: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/shipping_methods?line_items=[object Object]&line_items=[object Object]&zipcode=&address1=&address2=&state=&city=&country=&address_type=commercial /reseller_customer_sessions/{reseller_customer_session_id}: get: operationId: getResellerCustomerSession summary: Get Reseller Customer Session tags: - Reseller Customer Sessions description: Returns status and details of a session. For NEW_ORDER intent sessions, this will also return the order details including status and shipments. Use a Generic JWT token (no customer reference). parameters: - name: reseller_customer_session_id in: path required: true schema: type: string responses: '200': description: Reseller Customer Session Response content: application/json: schema: type: object properties: reseller_customer_session: type: object properties: intent: type: string examples: - user_setup id: type: string redirect_url: type: string resolution: type: string examples: - pending order: type: object properties: number: type: string state: type: string examples: - returned total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float expires_at: type: string customer_reference: type: string errno: type: integer example: reseller_customer_session: intent: user_setup id: redirect_url: resolution: pending order: number: state: returned total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: expires_at: customer_reference: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/reseller_customer_sessions/:reseller_customer_session_id delete: operationId: cancelResellerCustomerSession summary: Cancels Reseller Customer Session Intent tags: - Reseller Customer Sessions description: Returns new order status or user status depending on intent. For NEW_ORDER intent sessions, this request will attempt to cancel an order that was submitted or return an error if unable to cancel. Use a Generic JWT token (no customer reference). parameters: - name: reseller_customer_session_id in: path required: true schema: type: string responses: '200': description: Delete Reseller Customer Session Response content: application/json: schema: type: object properties: reseller_customer_session: type: object properties: intent: type: string examples: - user_setup id: type: string redirect_url: type: string resolution: type: string examples: - pending order: type: object properties: number: type: string state: type: string examples: - returned total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float expires_at: type: string customer_reference: type: string errno: type: integer example: reseller_customer_session: intent: user_setup id: redirect_url: resolution: pending order: number: state: returned total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: expires_at: customer_reference: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/reseller_customer_sessions/:reseller_customer_session_id /reseller_customer_sessions: post: operationId: createResellerCustomerSession summary: Create Reseller Customer Session tags: - Reseller Customer Sessions description: |- Creates a new Reseller Customer Session with intent of USER_SETUP or NEW_ORDER. Returns session details including redirect_url for embedding or redirecting. Workflow Each Reseller Customer Session is generated on behalf of a "Customer Reference". A Customer Reference should be a unique handle to your customer which will then be linked to a FinditParts account. Common identifiers could be a user ID or an email. This is the reference you will use in the future to place orders on behalf of the linked FinditParts user from a USER_SETUP session. Each session has an intent of either USER_SETUP or NEW_ORDER. You must complete a USER_SETUP session for each Customer Reference before performing a NEW_ORDER session. Upon creation, a session will return a finditparts.com URL that should be embedded in an iframe on your site or redirected to for the customer to complete USER_SETUP or a NEW_ORDER. The USER_SETUP session will prompt the user to create a FinditParts account along with payment details and shipping address or login to an existing FinditParts account. You may re-run a USER_SETUP session on a previously setup Customer Reference to modify payment details or shipping addresses. The NEW_ORDER session will prompt the user with an order summary including final cost and confirmation of payment and shipping details. JWT Payload for creating Reseller Customer Session Each JWT to create a Reseller Customer Session must include the subject header sub which should specify the Customer Reference. Each JWT to create a Reseller Customer Session must include a data payload matching one of following formats depending on intent of the session being created: USER_SETUP Session To link and setup a customer reference you provide to a new or existing FinditParts user, you can create a USER_SETUP session by providing a data payload in the JWT of the following format: Example JWT payload: JWT.sign({ sub: "CUSTOMER_123", iss: "acme-corp-sandbox", exp: 1600903066, data: { intent: "USER_SETUP", user: { firstname: '...', lastname: '...', email: '...', company: '...', address: { address1: '...', address2: '...', city: 'Los Angeles', zipcode: '90000', state: 'CA', phone: '555-555-5555', country: 'USA', }, // Address to prefill }, // Optional to prefill form redirect_url: "https://acmecorp.com/finditparts_setup_success", // Optional to redirect upon completion, otherwise will postMessage } }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" If redirect_url is provided, the following query parameters will be provided upon completion: Success will include resolution=SUCCESS&customer_reference=XXX&reseller_customer_session_id=XXX Failure will include resolution=FAILED&reason=XXX&customer_reference=XXX&reseller_customer_session_id=XXX NEW_ORDER Session To place a new order on behalf of a previously setup Customer Reference, you can create a NEW_ORDER session by providing a data payload in the JWT of the following format: Example JWT payload: JWT.sign({ sub: "CUSTOMER_123", iss: "acme-corp-sandbox", exp: 1600903066, data: { intent: "NEW_ORDER", line_items: [ // Can specify line items by a finditparts_product_id, specific variant_id, or part_number and manufacturer { finditparts_product_id: "", quantity: , }, { variant_id: "", quantity: , }, { part_number: "", manufacturer: "", quantity: , }, ... ], default_shipping_address: "123 Main St, Los Angeles, CA, 90000", # Default shipping address to select on the new order. Must match an address already added to the account. Match is performed by numerical address and zipcode. default_shipping_method: "29", # Shipping Method identifiers can be found via `/shipping_methods` API call for a given set of `line_items` redirect_url: "https://acmecorp.com/finditparts_setup_success", // Optional to redirect upon completion, otherwise will postMessage } }, 'RESELLER_CLIENT_SECRET') => "JWT.TOKEN.HERE" If redirect_url is provided, the following query parameters will be provided upon completion: Success will include resolution=SUCCESS&customer_reference=XXX&reseller_customer_session_id=XXX Failure will include resolution=FAILURE/CANCELLED&customer_reference=XXX&reseller_customer_session_id=XXX If no redirect_url is provided (iframe implementation), the following will postMessage to the parent iframe upon completion: Error: { error: true, message: String } Success: { error: false, intent: String, resolution: String, reseller_customer_session_id: String, customer_reference: String, } responses: '200': description: 'Create Reseller Customer Session:' content: application/json: schema: type: object properties: reseller_customer_session: type: object properties: intent: type: string examples: - user_setup id: type: string redirect_url: type: string resolution: type: string examples: - pending order: type: object properties: number: type: string state: type: string examples: - returned total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float expires_at: type: string customer_reference: type: string errno: type: integer example: reseller_customer_session: intent: user_setup id: redirect_url: resolution: pending order: number: state: returned total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: expires_at: customer_reference: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/reseller_customer_sessions /sessions/refresh: post: operationId: refreshSession summary: Refresh Session tags: - Sessions description: |- Returns a new user and user specific JWT token that can be used in the Authentication header to perform API calls on behalf of a user or return user specific pricing. User specific session JWTs have a default expiration of 1 month. Re-run this call prior to expiration to continually fetch new sessions as needed. Requires an existing and unexpired user specific JWT in the Authorization header. responses: '200': description: 'Refresh Session Response: User specific JWT' content: application/json: schema: type: object properties: jwt: type: string user: type: object properties: id: type: string email: type: string firstname: type: string lastname: type: string company: type: string payment_processor_client_token: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean errno: type: integer example: jwt: user: id: email: firstname: lastname: company: payment_processor_client_token: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/sessions/refresh /sessions/current: get: operationId: getCurrentSession summary: Get Current Session tags: - Sessions description: |- Returns current session for user specific session JWT. Requires a user specific session JWT in the Authorization header. responses: '200': description: 'Get Current Session Response: Current user' content: application/json: schema: type: object properties: user: type: object properties: id: type: string email: type: string firstname: type: string lastname: type: string company: type: string payment_processor_client_token: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean errno: type: integer example: user: id: email: firstname: lastname: company: payment_processor_client_token: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/sessions/current /sessions: post: operationId: createSession summary: Create Session tags: - Sessions description: |- Returns a user and user specific JWT token that can be used in the Authentication header to perform API calls on behalf of a user or return user specific pricing. User specific sessions have a default expiration of 1 month. Use the refreshSession API call to refresh credentials before expiration if desired. Requires an API key in the Authorization header. requestBody: required: true content: application/json: schema: type: object properties: email: type: string password: type: string example: email: password: responses: '200': description: 'Create Session Response: User specific JWT' content: application/json: schema: type: object properties: jwt: type: string user: type: object properties: id: type: string email: type: string firstname: type: string lastname: type: string company: type: string payment_processor_client_token: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean errno: type: integer example: jwt: user: id: email: firstname: lastname: company: payment_processor_client_token: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/sessions delete: operationId: destroySessions summary: Destroy Sessions tags: - Sessions description: |- Destroys current sessions for user. Requires a user specific API key in the Authorization header. responses: '200': description: Destroy Sessions Response content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/sessions /reseller_customers: post: operationId: createResellerCustomer summary: Create Reseller Customer tags: - Reseller Customers description: |- Requires a signed JWT on behalf of a Master Account API client in the Authorization header. Creates a subuser on your master account that can be referenced and acted upon using the customer_reference as the subject sub in the signed JWT used in API calls to endpoints such as /addresses, /carts, etc. requestBody: required: true content: application/json: schema: type: object properties: customer_reference: type: string example: customer_reference: responses: '200': description: Create Reseller Customer Response content: application/json: schema: type: object properties: reseller_customer: type: object properties: customer_reference: type: string user_id: type: number errno: type: integer example: reseller_customer: customer_reference: user_id: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/reseller_customers get: operationId: listResellerCustomers summary: List Reseller Customers tags: - Reseller Customers description: |- Requires a Master Account API key in the Authorization header. Lists all Reseller Customers created for the master account API key parameters: - name: page in: query required: false schema: type: string responses: '200': description: List Reseller Customers Response content: application/json: schema: type: object properties: errno: type: integer reseller_customers: type: array items: type: object properties: value: type: string examples: - 'reference #/components/schemas/ResellerCustomers not found in the OpenAPI spec' pagination: type: object properties: current_page: type: integer per_page: type: integer total_count: type: integer example: errno: reseller_customers: - value: 'reference #/components/schemas/ResellerCustomers not found in the OpenAPI spec' - value: 'reference #/components/schemas/ResellerCustomers not found in the OpenAPI spec' pagination: current_page: per_page: total_count: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/reseller_customers?page= /users: post: operationId: createUser summary: Create User tags: - Users description: |- Returns a user and user specific JWT token that can be used in the Authentication header to perform API calls on behalf of a user or return user specific pricing. Requires an API key in the Authorization header. requestBody: required: true content: application/json: schema: type: object properties: id: type: string email: type: string firstname: type: string lastname: type: string company: type: string payment_processor_client_token: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean example: id: email: firstname: lastname: company: payment_processor_client_token: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: responses: '200': description: 'Create User Response: User and user specific JWT' content: application/json: schema: type: object properties: jwt: type: string user: type: object properties: id: type: string email: type: string firstname: type: string lastname: type: string company: type: string payment_processor_client_token: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean errno: type: integer example: jwt: user: id: email: firstname: lastname: company: payment_processor_client_token: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/users /partners/shipping_methods: post: operationId: partnersShippingMethods summary: Partners Shipping Methods tags: - Partners description: |- Returns a list of the partners shipping methods and estimated costs for a given order and address. Requires a Partner API key in the Authorization header. parameters: - name: line_items in: query required: false description: Repeated object-valued parameter. FinditParts documents the encoding as Rails bracket form, e.g. line_items[][variant_id]=123&line_items[][quantity]=1 — or line_items[][finditparts_product_id]=456&line_items[][quantity]=1. May also be supplied inside the JWT data payload instead. schema: type: array items: type: object x-encoding: rails-bracket - name: zipcode in: query required: false schema: type: string - name: address1 in: query required: false schema: type: string - name: address2 in: query required: false schema: type: string - name: state in: query required: false schema: type: string - name: city in: query required: false schema: type: string - name: country in: query required: false schema: type: string - name: address_type in: query required: false schema: type: string examples: - commercial responses: '200': description: Partners Shipping Methods Response content: application/json: schema: type: object properties: shipping_methods: type: array items: type: object properties: id: type: integer label: type: string amount: type: number format: float identifier: type: string currency: type: string carrier_type: type: string examples: - ups detail: type: string days_to_deliver: type: integer estimated_delivery_date: type: string available: type: boolean url: type: string manufacturer: type: string errno: type: integer example: shipping_methods: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/partners/shipping_methods?line_items=[object Object]&line_items=[object Object]&zipcode=&address1=&address2=&state=&city=&country=&address_type=commercial /partners/place_order: post: operationId: partnersPlaceOrder summary: Partners Place Order tags: - Partners description: |- Places a partner order. Requires a Partner API key in the Authorization header. parameters: - name: line_items in: query required: false description: Repeated object-valued parameter. FinditParts documents the encoding as Rails bracket form, e.g. line_items[][variant_id]=123&line_items[][quantity]=1 — or line_items[][finditparts_product_id]=456&line_items[][quantity]=1. May also be supplied inside the JWT data payload instead. schema: type: array items: type: object x-encoding: rails-bracket - name: customer_reference in: query required: false schema: type: string - name: shipping_method_id in: query required: false schema: type: integer - name: po_number in: query required: false schema: type: string - name: partner_shipping_price in: query required: false schema: type: number format: float - name: zipcode in: query required: false schema: type: string - name: address1 in: query required: false schema: type: string - name: address2 in: query required: false schema: type: string - name: state in: query required: false schema: type: string - name: city in: query required: false schema: type: string - name: country in: query required: false schema: type: string - name: address_type in: query required: false schema: type: string examples: - commercial responses: '200': description: Partners Place Order Response content: application/json: schema: type: object properties: shipping_methods: type: array items: type: object properties: id: type: integer label: type: string amount: type: number format: float identifier: type: string currency: type: string carrier_type: type: string examples: - ups detail: type: string days_to_deliver: type: integer estimated_delivery_date: type: string available: type: boolean url: type: string manufacturer: type: string errno: type: integer example: shipping_methods: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/partners/place_order?line_items=[object Object]&line_items=[object Object]&customer_reference=&shipping_method_id=&po_number=&partner_shipping_price=&zipcode=&address1=&address2=&state=&city=&country=&address_type=commercial /orders/search: get: operationId: searchOrders summary: Search Orders tags: - Orders description: |- Returns a list of the users orders filtered by search parameters. Requires a user specific JWT in the Authorization header. parameters: - name: q in: query required: false schema: type: string - name: start_date in: query required: false schema: type: string - name: end_date in: query required: false schema: type: string - name: sort_field in: query required: false schema: type: string examples: - currently_assigned_to_id - name: sort_direction in: query required: false schema: type: string examples: - asc - name: page in: query required: false schema: type: string responses: '200': description: Search Orders Response content: application/json: schema: type: object properties: errno: type: integer orders: type: array items: type: object properties: number: type: string state: type: string examples: - delivered total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float pagination: type: object properties: current_page: type: integer per_page: type: integer total_count: type: integer example: errno: orders: - number: state: delivered total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: - number: state: delivered total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: pagination: current_page: per_page: total_count: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/orders/search?q=&start_date=&end_date=&sort_field=currently_assigned_to_id&sort_direction=asc&page= /orders/{order_id}: get: operationId: getOrder summary: Order Details tags: - Orders description: |- Returns the Order Details Requires a user specific JWT in the Authorization header. parameters: - name: order_id in: path required: true schema: type: string responses: '200': description: Order Details Response content: application/json: schema: type: object properties: order: type: object properties: number: type: string state: type: string examples: - processing total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float errno: type: integer example: order: number: state: processing total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/orders/:order_id /orders: get: operationId: listOrders summary: List Orders tags: - Orders description: |- Returns a list of the users orders. Requires a user specific JWT in the Authorization header. parameters: - name: page in: query required: false schema: type: string responses: '200': description: List Orders Response content: application/json: schema: type: object properties: errno: type: integer orders: type: array items: type: object properties: number: type: string state: type: string examples: - delivered total: type: string items_total: type: string po_number: type: string customer_reference: type: string user_id: type: string shipping_method_name: type: string shipping_method_id: type: string shipping_carrier_type: type: string shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean completed_at: type: string url: type: string line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string payments: type: array items: type: object properties: type: type: string amount: type: number format: float pagination: type: object properties: current_page: type: integer per_page: type: integer total_count: type: integer example: errno: orders: - number: state: delivered total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: - number: state: delivered total: items_total: po_number: customer_reference: user_id: shipping_method_name: shipping_method_id: shipping_carrier_type: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: completed_at: url: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: payments: - type: amount: - type: amount: pagination: current_page: per_page: total_count: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/orders?page= /addresses/{address_id}/set_as_default: post: operationId: setDefaultAddress summary: Set Default Address tags: - Addresses description: |- Sets a given users address as default. Requires a user specific JWT in the Authorization header. parameters: - name: address_id in: path required: true schema: type: string responses: '200': description: Set Default Address Response content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/addresses/:address_id/set_as_default /addresses/{address_id}: put: operationId: updateAddress summary: Update Address tags: - Addresses description: |- Updates a given users address and returns the address. Requires a user specific JWT in the Authorization header. parameters: - name: address_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string last_name: type: string address1: type: string phone: type: string city: type: string state: type: string zipcode: type: string country: type: string address2: type: string company: type: string address_type: type: string examples: - commercial example: first_name: last_name: address1: phone: city: state: zipcode: country: address2: company: address_type: commercial responses: '200': description: Update Address Response content: application/json: schema: type: object properties: errno: type: integer addresses: type: array items: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean example: errno: addresses: - id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: - id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/addresses/:address_id delete: operationId: deleteAddress summary: Delete Address tags: - Addresses description: |- Deletes a given users address. Requires a user specific JWT in the Authorization header. parameters: - name: address_id in: path required: true schema: type: string responses: '200': description: Delete Address Response content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/addresses/:address_id /addresses: get: operationId: listAddresses summary: List Addresses tags: - Addresses description: |- Returns a list of the users addresses. Requires a user specific JWT in the Authorization header. responses: '200': description: List Addresses Response content: application/json: schema: type: object properties: errno: type: integer addresses: type: array items: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean example: errno: addresses: - id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: - id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/addresses post: operationId: createAddress summary: Create Address tags: - Addresses description: |- Creates an address and returns the new address. Requires a user specific JWT in the Authorization header. requestBody: required: true content: application/json: schema: type: object properties: first_name: type: string last_name: type: string address1: type: string phone: type: string city: type: string state: type: string zipcode: type: string country: type: string address2: type: string company: type: string address_type: type: string examples: - commercial example: first_name: last_name: address1: phone: city: state: zipcode: country: address2: company: address_type: commercial responses: '200': description: 'Create Address Response: Address' content: application/json: schema: type: object properties: errno: type: integer address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean example: errno: address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/addresses /carts/{cart_id}/line_items: post: operationId: addCartLineItem summary: Add Product to Cart tags: - Carts description: |- Returns the Cart Details Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: finditparts_product_id: type: integer variant_id: type: integer quantity: type: integer example: finditparts_product_id: variant_id: quantity: responses: '200': description: Add to Cart Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/line_items put: operationId: changeCartLineItems summary: Change Cart Line Items tags: - Carts description: |- Updates the Line Items and returns the Cart Details Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: line_items_attributes: type: array items: type: object properties: id: type: integer quantity: type: integer example: line_items_attributes: - id: quantity: - id: quantity: responses: '200': description: Add to Cart Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/line_items /carts/{cart_id}/shipping_methods: get: operationId: getCartShippingMethods summary: Get Shipping Methods tags: - Carts description: |- Returns the available shipping methods for the cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string responses: '200': description: Cart Shipping Methods Response content: application/json: schema: type: object properties: shipping_methods: type: array items: type: object properties: id: type: integer label: type: string amount: type: number format: float identifier: type: string currency: type: string carrier_type: type: string examples: - ups detail: type: string days_to_deliver: type: integer estimated_delivery_date: type: string available: type: boolean url: type: string manufacturer: type: string errno: type: integer example: shipping_methods: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: - id: label: amount: identifier: currency: carrier_type: ups detail: days_to_deliver: estimated_delivery_date: available: url: manufacturer: errno: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/shipping_methods put: operationId: selectCartShippingMethod summary: Cart Select Shipping Method tags: - Carts description: |- Returns the cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: shipping_method_id: type: integer example: shipping_method_id: responses: '200': description: Cart Select Shipping Method Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/shipping_methods /carts/{cart_id}/shipping_address: put: operationId: setCartShippingAddress summary: Set Shipping Address tags: - Carts description: |- Sets the Cart shipping address and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: address_id: type: integer address: type: object properties: first_name: type: string last_name: type: string address1: type: string phone: type: string city: type: string state: type: string zipcode: type: string country: type: string address2: type: string company: type: string address_type: type: string examples: - residential example: address_id: address: first_name: last_name: address1: phone: city: state: zipcode: country: address2: company: address_type: residential responses: '200': description: Cart Shipping Address Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/shipping_address /carts/{cart_id}/billing_address: put: operationId: setCartBillingAddress summary: Set Billing Address tags: - Carts description: |- Sets the Cart billing address and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: address_id: type: integer address: type: object properties: first_name: type: string last_name: type: string address1: type: string phone: type: string city: type: string state: type: string zipcode: type: string country: type: string address2: type: string company: type: string address_type: type: string examples: - residential example: address_id: address: first_name: last_name: address1: phone: city: state: zipcode: country: address2: company: address_type: residential responses: '200': description: Cart Billing Address Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/billing_address /carts/{cart_id}/coupon: put: operationId: setCartCoupon summary: Set Cart Coupon tags: - Carts description: |- Applies a coupon to the Cart and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: coupon_code: type: string example: coupon_code: responses: '200': description: Cart Coupon Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/coupon /carts/{cart_id}/po_number: put: operationId: setCartPoNumber summary: Set Cart PO Number tags: - Carts description: |- Applies a PO number to the Order and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: po_number: type: string example: po_number: responses: '200': description: Cart PO Number Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/po_number /carts/{cart_id}/complete_with_credit_card: post: operationId: completeCartWithCreditCard summary: Places the Order with a Credit Card tags: - Carts description: |- Places the Order with a credit card as the payment method and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: payment_method_nonce: type: string device_data: type: string example: payment_method_nonce: device_data: responses: '200': description: Cart Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/complete_with_credit_card /carts/{cart_id}/complete_with_corporate_billing: post: operationId: completeCartWithCorporateBilling summary: Places the Order with a Corporate Billing tags: - Carts description: |- Places the Order with corporate billing (if available) as the payment method and returns the Cart Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: test: type: string example: test: responses: '200': description: Cart Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id/complete_with_corporate_billing /carts/{cart_id}: get: operationId: getCart summary: Cart Details tags: - Carts description: |- Returns the Cart Details Requires an user specific JWT in the Authorization header or a cart token parameter. parameters: - name: cart_id in: path required: true schema: type: string responses: '200': description: Cart Details Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - delivered total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: delivered total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts/:cart_id /carts: post: operationId: createCart summary: Create new Cart tags: - Carts description: |- Creates a new Cart (draft Order). Requires a user specific JWT in the Authorization header. responses: '200': description: Create Cart Response content: application/json: schema: type: object properties: errno: type: integer cart: type: object properties: id: type: integer number: type: string state: type: string examples: - pending total: type: number format: float item_total: type: number format: float line_items: type: array items: type: object properties: id: type: integer quantity: type: integer amount: type: number format: float manufacturer: type: string part_number: type: string pack_qty: type: number variant: type: object properties: variant_id: type: integer price: type: string quantity: type: integer pack_quantity: type: integer minimum: type: integer verified: type: boolean location: type: string timezone: type: string cutoff: type: string format: date-time past_cutoff: type: boolean core_price: type: string estimated_business_days_to_ship: type: integer estimated_ship_date: type: string format: date-time estimated_days_to_deliver: type: integer estimated_delivery_date_ground: type: string format: date-time account_price: type: string minimum_order: type: string minimum_order_fee: type: string product_images: type: array items: type: object properties: product: type: object properties: jpeg: type: string webp: type: string large: type: object properties: jpeg: type: string webp: type: string small: type: object properties: jpeg: type: string webp: type: string medium: type: object properties: jpeg: type: string webp: type: string variant_id: type: integer product_id: type: integer adjustments: type: array items: type: object properties: label: type: string amount: type: number format: float billing_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - commercial address2: type: string company: type: string is_default: type: boolean shipping_address: type: object properties: id: type: integer first_name: type: string last_name: type: string country_id: type: integer country_iso: type: string address1: type: string state_id: type: integer state_name: type: string city_name: type: string zipcode: type: string phone: type: string address_type: type: string examples: - residential address2: type: string company: type: string is_default: type: boolean shipping_method_name: type: string shipping_method_id: type: integer po_number: type: string shipments: type: array items: type: object properties: carrier: type: string is_shipped: type: boolean is_delivered: type: boolean has_tracking: type: boolean shipping_method: type: string tracking_number: type: string cart_token: type: string corporate_billing_available: type: boolean example: errno: cart: id: number: state: pending total: item_total: line_items: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: - id: quantity: amount: manufacturer: part_number: pack_qty: variant: variant_id: price: quantity: pack_quantity: minimum: verified: location: timezone: cutoff: past_cutoff: core_price: estimated_business_days_to_ship: estimated_ship_date: estimated_days_to_deliver: estimated_delivery_date_ground: account_price: minimum_order: minimum_order_fee: product_images: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: - product: jpeg: webp: large: jpeg: webp: small: jpeg: webp: medium: jpeg: webp: variant_id: product_id: adjustments: - label: amount: - label: amount: billing_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: commercial address2: company: is_default: shipping_address: id: first_name: last_name: country_id: country_iso: address1: state_id: state_name: city_name: zipcode: phone: address_type: residential address2: company: is_default: shipping_method_name: shipping_method_id: po_number: shipments: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: - carrier: is_shipped: is_delivered: has_tracking: shipping_method: tracking_number: cart_token: corporate_billing_available: '500': description: API error content: application/json: schema: type: object properties: errno: type: integer message: type: string example: errno: message: x-postman-request: https://finditparts.com/api/v1/carts components: securitySchemes: resellerJWT: type: http scheme: bearer bearerFormat: JWT description: 'A short-lived JWT signed with your Reseller Client Secret using HS256. Required claims: iss (your Reseller Client ID) and exp (kept as short as reasonable to prevent replay). Add sub (the Customer Reference) and a data.intent claim (PRODUCT_SEARCH, SHIPPING_METHODS, USER_SETUP, NEW_ORDER) on the endpoints that act on behalf of a specific customer. Presented as: Authorization: Bearer JWT.TOKEN.HERE' apiKey: type: http scheme: bearer description: 'An issued FinditParts API key in the form api-XYZ123, for client-side apps that cannot hold a JWT secret (mobile apps, single-buyer partner applications). Grants the non-user-specific surface (product search, create session, create user); user-specific calls require exchanging user credentials for a user-specific JWT via createSession first. Presented as: Authorization: Bearer api-XYZ123' schemas: ApiError: type: object description: The single error envelope every FinditParts Reseller API error returns. errno values are enumerated in errors/finditparts-error-codes.yml. properties: errno: type: integer description: FinditParts error number. 0 = no error. message: type: string description: Human-readable error message. required: - errno