openapi: 3.2.0 info: title: FinditParts Reseller Orders 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. security: - resellerJWT: [] - apiKey: [] tags: - name: Orders description: Order listing, search and detail for a user-specific session. paths: /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= 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'