---
openapi: 3.1.0
components:
  securitySchemes:
    apiKey:
      type: apiKey
      description: API Key for authentication. Provide as 'X-API-Key' header.
      name: X-API-Key
      in: header
  schemas:
    Address:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone_number:
          type: string
        organization:
          type: string
        vat_number:
          type: string
        ein_number:
          type: string
        country:
          type: string
        state_province:
          type: string
        city:
          type: string
        zip_postal_code:
          type: string
        address:
          type: string
        address_2:
          type: string
        address_3:
          type: string
    Date:
      type: string
      format: date
      examples:
      - 2022-03-10
    LabReweighing:
      type: object
      properties:
        balance_type:
          type: string
        amount:
          type: number
        unit:
          type: string
    LabServices:
      type: object
      properties:
        vial_relabelling:
          type: boolean
        labware:
          $ref: "#/components/schemas/Labware"
        reweighing:
          $ref: "#/components/schemas/LabReweighing"
        leftovers_handling:
          type: string
    Labware:
      type: object
      properties:
        labware_id:
          type: string
        provided_by:
          type: string
    ListSearch:
      type: object
      properties:
        search_key:
          type: string
        currency:
          type: string
        status:
          type: string
        search_items_type:
          type: string
        search_items:
          type: array
          items:
            type: string
        amount:
          type: number
        min_amount:
          type: number
        measure:
          type: string
        shipping_country:
          type: string
        match_types:
          type: array
          items:
            type: string
        selection_method:
          type: string
        shipping_method:
          type: string
        exclude_hazardous:
          type: boolean
        search_name:
          type: string
        compounds_submitted:
          type: integer
          format: int64
        compounds_with_offer:
          type: integer
          format: int64
        compounds_without_offer:
          type: integer
          format: int64
        shipping_price:
          type: number
        total_price:
          type: number
        results:
          type: array
          items:
            $ref: "#/components/schemas/ListSearchItem"
        submitted_at:
          $ref: "#/components/schemas/Date"
        processing_started_at:
          $ref: "#/components/schemas/Date"
        processing_completed_at:
          $ref: "#/components/schemas/Date"
        average_compound_price:
          type: number
        compound_price:
          type: number
        tariff_surcharge:
          type: number
        require_lab_services:
          type: boolean
        lab_services:
          $ref: "#/components/schemas/LabServices"
    ListSearchItem:
      type: object
      properties:
        search_query:
          type: string
        molport_id:
          type: string
        product_id:
          type: string
        supplier_name:
          type: string
        delivery_days:
          type: integer
          format: int64
        match_type:
          type: string
        smiles:
          type: string
        iupac:
          type: string
        molecular_weight:
          type: number
        hazardous:
          type: boolean
        purity:
          type: number
        status:
          type: string
        unit_price:
          type: number
        net_price:
          type: number
        qty:
          type: integer
          format: int64
        unit:
          type: string
        controlled:
          type: boolean
        duplicate:
          type: string
    ListSearchOrder:
      type: object
      properties:
        search_key:
          type: string
        order_key:
          type: string
        billing_same_as_shipping:
          type: boolean
        shipping_address:
          $ref: "#/components/schemas/Address"
        billing_address:
          $ref: "#/components/schemas/Address"
        notes:
          type: string
        client_purchase_order_number:
          type: string
        client_purchase_order_file_name:
          type: string
        client_purchase_order_file_base64:
          type: string
paths:
  /v1/availability-searches:
    post:
      summary: Submit an availability search request
      description: |
        **Submit an availability search request.**<br><br>

        This endpoint initiates a new compound availability search by submitting a list of Molport IDs or SMILES strings with match type preferences. After processing, it returns a <code>search_key</code>, which can be used to retrieve detailed results of the search.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>search_items_type</code> (string, required): Type of identifiers used in <code>search_items</code>. Allowed: <code>molport id</code>, <code>smiles</code>.<br>
        <code>search_items</code> (array, required): List of identifiers, either Molport IDs or SMILES strings based on <code>search_items_type</code>.<br>
        <code>match_types</code> (string[], required): Match strictness, 4 values allowed. Allowed: <code>perfect</code>, <code>exact</code>, <code>racemate</code>, <code>any</code>.<br>
        <code>search_name</code> (string, optional): User-defined name for the search for easier reference.
      operationId: 1_Method_1_AvailabilitySearches_Insert
      parameters:
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      requestBody:
        description: Submit a list search request payload
        content:
          application/json:
            examples:
              Submit a Molport ID list search request:
                summary: Submit a Molport ID list search request example
                value:
                  search_items_type: molport id
                  search_items:
                  - Molport-003-936-505
                  - Molport-001-776-553
                  match_types:
                  - perfect
                  - exact
                  - racemate
                  - any
                  search_name: Molport ID search
              Submit a SMILES list search request:
                summary: Submit a SMILES list search request example
                value:
                  search_items_type: smiles
                  search_items:
                  - OCC(O)C(O)C(O)C=O
                  - OCC1OC(OC2OC(CO)C(O)C(O)C2O)C(O)C(O)C1O
                  match_types:
                  - perfect
                  - exact
                  - racemate
                  - any
                  search_name: SMILES search
            schema:
              $ref: "#/components/schemas/ListSearch"
        required: true
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                An availability search request response:
                  summary: An availability search request response example
                  value:
                    search_key: 5J7PLO7I150BE1IR9U3C9C
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - Availability Search API
  /v1/availability-searches/{searchKey}:
    get:
      summary: Load an availability search request
      description: |
        **Load a submitted availability search request and get full results.**<br><br>

        This endpoint retrieves the detailed results of a previously submitted availability search.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>searchKey</code> (string, required): Unique identifier of the previously submitted availability search.
      operationId: Method_2_AvailabilitySearches_Load
      parameters:
      - description: Key identifying the availability search request
        name: searchKey
        required: true
        in: path
        schema:
          type: string
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                An availability search request full data:
                  summary: An availability search request full data example
                  value:
                    search_key: 5MNBPTF906Q9M1J5OF2Q9B
                    search_name: Molport ID search
                    status: finished
                    submitted_at: 2025-09-12T13:18:51Z
                    processing_started_at: 2025-09-12T12:18:57Z
                    processing_completed_at: 2025-09-12T12:18:58Z
                    summary:
                      compounds_submitted: 2
                      compounds_in_stock: 2
                      compounds_out_of_stock: 0
                    results:
                    - searched_value: Molport-003-936-505
                      status: in stock
                    - searched_value: Molport-001-776-553
                      status: in stock
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - Availability Search API
  /v1/list-searches:
    get:
      summary: Get a list of submitted list searches
      description: |
        **Get a list of all previously submitted list searches.**<br><br>

        This endpoint retrieves a summary list of all list searches submitted by the user, allowing filtering and sorting of past searches based on submission or processing status.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.
      operationId: 4_Method_4_ListSearches_List
      parameters:
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Get a list of submitted list searches:
                  summary: Get a list of submitted list searches response example
                  value:
                  - search_key: 5J7PLO7I150BE1IR9U3C9C
                    currency: USD
                    status: finished
                    match_type: exact
                    exclude_hazardous: false
                    search_name: Test Search Nr 1
                    compounds_submitted: 11
                    compounds_with_offer: 11
                    compounds_without_offer: 0
                    shipping_price: 76
                    total_price: 434.32
                    submitted_at: 2025-05-15T10:18:25Z
                    processing_started_at: 2025-05-15T09:18:30Z
                    processing_completed_at: 2025-05-15T09:18:30Z
                    average_compound_price: 28.7
                    total_compound_price: 315.7
                  - search_key: 7R914HP4HEMCG1IR9T917D
                    currency: USD
                    status: finished
                    match_type: exact
                    exclude_hazardous: false
                    search_name: Test Search Nr 2
                    compounds_submitted: 25
                    compounds_with_offer: 25
                    compounds_without_offer: 0
                    shipping_price: 209.51
                    total_price: 918.32
                    submitted_at: 2025-05-15T10:04:02Z
                    processing_started_at: 2025-05-15T09:04:03Z
                    processing_completed_at: 2025-05-15T09:04:04Z
                    average_compound_price: 26.35
                    total_compound_price: 658.81
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - List Search API
    post:
      summary: Submit a list search request
      description: |
        **Submit a list search request.**<br><br>

        This endpoint initiates a new compound search by submitting a list of Molport IDs or SMILES strings, along with desired search preferences. Once the list search is processed, a <code>search_key</code> will be returned, which can be used to retrieve search results and place orders.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>search_items_type</code> (string, required): Type of identifiers used in <code>search_items</code>. Allowed: <code>molport id</code>, <code>smiles</code>.<br>
        <code>search_items</code> (array, required): List of identifiers, either Molport IDs or SMILES strings based on <code>search_items_type</code>.<br>
        <code>amount</code> (integer, required): Desired amount per compound.<br>
        <code>min_amount</code> (integer, optional): Minimum acceptable amount if exact amount is not available.<br>
        <code>measure</code> (string, required): Unit of measurement. Allowed: <code>mg</code>, <code>g</code>.<br>
        <code>shipping_country</code> (string, required): Destination country code.<br>
        <code>match_types</code> (string[], required): Match strictness, 4 values allowed. Allowed: <code>perfect</code>, <code>exact</code>, <code>racemate</code>, <code>any</code>.<br>
        <code>selection_method</code> (string, required): Quote strategy. Allowed: <code>lowest price</code>, <code>minimum count of shipments</code>, <code>best offer</code>.<br>
        <code>shipping_method</code> (string, required): Delivery preference. Allowed: <code>consolidated</code>, <code>direct</code>.<br>
        <code>exclude_hazardous</code> (boolean, optional): Whether to exclude hazardous compounds. Default: <code>false</code>.<br>
        <code>search_name</code> (string, optional): User-defined name for the search for easier reference.
      operationId: 1_Method_1_ListSearch_Insert
      parameters:
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      requestBody:
        description: Submit a list search request payload
        content:
          application/json:
            examples:
              Submit a Molport ID list search request:
                summary: Submit a Molport ID list search request example
                value:
                  search_items_type: molport id
                  search_items:
                  - Molport-003-936-505
                  - Molport-001-776-553
                  amount: 10
                  min_amount: 5
                  measure: mg
                  shipping_country: US
                  match_types:
                  - perfect
                  - exact
                  - racemate
                  - any
                  selection_method: best offer
                  shipping_method: consolidated
                  exclude_hazardous: true
                  search_name: Molport ID search
                  require_lab_services: true
                  lab_services:
                    vial_relabelling: true
                    labware:
                      labware_id: MATRIX_96
                      provided_by: molport
                    reweighing:
                      balance_type: microbalance
                      amount: 2.5
                      unit: mg
                    leftovers_handling: store_at_molport
              Submit a SMILES list search request:
                summary: Submit a SMILES list search request example
                value:
                  search_items_type: smiles
                  search_items:
                  - OCC(O)C(O)C(O)C=O
                  - OCC1OC(OC2OC(CO)C(O)C(O)C2O)C(O)C(O)C1O
                  amount: 10
                  min_amount: 5
                  measure: mg
                  shipping_country: US
                  match_types:
                  - perfect
                  - exact
                  - racemate
                  - any
                  selection_method: best offer
                  shipping_method: consolidated
                  exclude_hazardous: true
                  search_name: SMILES search
            schema:
              $ref: "#/components/schemas/ListSearch"
        required: true
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Submit a list search request response:
                  summary: Submit a list search request response example
                  value:
                    search_key: 5J7PLO7I150BE1IR9U3C9C
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - List Search API
  /v1/list-searches/status/{searchKey}:
    get:
      summary: Check status of submitted list search
      description: |
        **Check status of a submitted list search.**<br><br>

        This endpoint allows users to check whether the list search has been processed and is ready for quote retrieval.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>searchKey</code> (string, required): The key identifying the list search submitted earlier.
      operationId: 2_Method_2_ListSearch_Status
      parameters:
      - description: Key identifying the list search
        name: searchKey
        required: true
        in: path
        schema:
          type: string
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Check status of submitted list search`:
                  summary: Check status of submitted list search response example
                  value:
                    search_key: 5J7PLO7I150BE1IR9U3C9C
                    status: finished
                    submitted_at: 2025-05-15T10:18:25Z
                    processing_started_at: 2025-05-15T09:18:30Z
                    processing_completed_at: 2025-05-15T09:18:30Z
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "404":
          description: Not found
          content:
            application/json:
              examples:
                Not found error response:
                  summary: Not found error response example
                  value:
                    error: List search not found!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - List Search API
  /v1/list-searches/{searchKey}:
    get:
      summary: Load a list search request
      description: |
        **Load a submitted list search request and get full results.**<br><br>

        This endpoint retrieves the detailed results of a previously submitted list search, including offers, pricing, suppliers, and summary data.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>searchKey</code> (string, required): Unique identifier of the previously submitted list search.
      operationId: 3_Method_3_ListSearch_Load
      parameters:
      - description: Key identifying the list search
        name: searchKey
        required: true
        in: path
        schema:
          type: string
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                A list search request response:
                  summary: A list search request response example
                  value:
                    search_key: 4GN46CQR4IFGO1J4UTQDLF
                    currency: USD
                    status: finished
                    submitted_at: 2025-09-12T13:18:51Z
                    processing_started_at: 2025-09-12T12:18:57Z
                    processing_completed_at: 2025-09-12T12:18:58Z
                    request:
                      amount: 1
                      min_amount: 1
                      measure: mg
                      shipping_country: PL
                      match_types:
                      - perfect
                      - exact
                      - racemate
                      - any
                      selection_method: best offer
                      exclude_hazardous: false
                      search_name: AE-M1-03
                      results:
                      - search_query: CC(C)CC(O)=O
                        molport_id: Molport-000-871-620
                        product_id: MP-0000-0000-5735-8794_10g
                        supplier_name: Angene Chemical
                        delivery_days: 7
                        match_type: perfect
                        smiles: CC(C)CC(O)=O
                        iupac: 3-methylbutanoic acid
                        molecular_weight: 102.133
                        hazardous: true
                        purity: 98
                        status: found
                        unit_price: 5
                        net_price: 5
                        qty: 1
                        unit: 10 g
                        controlled: false
                      - search_query: CC(C)(C)CC(O)=O
                        molport_id: Molport-001-757-233
                        product_id: MP-0000-0000-5735-6086_10g
                        supplier_name: Angene Chemical
                        delivery_days: 7
                        match_type: perfect
                        smiles: CC(C)(C)CC(O)=O
                        iupac: "3,3-dimethylbutanoic acid"
                        molecular_weight: 116.16
                        hazardous: true
                        purity: 95
                        status: found
                        unit_price: 6
                        net_price: 6
                        qty: 1
                        unit: 10 g
                        controlled: false
                      tariff_surcharge: 0
                      require_lab_services: false
                    files:
                      excel: https://www.molport.com/shop/shopping-cart-quote?type=xls&quote=3E9AA88064A00817E06310
                      pdf: https://www.molport.com/shop/shopping-cart-quote?type=pdf&quote=3E9AA88064A00817E06310
                    summary:
                      compounds_submitted: 2
                      compounds_with_offer: 2
                      compounds_without_offer: 0
                      total_price: 171.72
                      compound_price: 11
                      tariff_surcharge: 0
                      total_discount: 0
                      shipping:
                        shipping_method: consolidated
                        price: 160.72
                        delivery_within_days: 0
                      number_of_shipments: 1
                      quote_valid_until: 2025-10-12
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "404":
          description: Not found
          content:
            application/json:
              examples:
                Not found error response:
                  summary: Not found error response example
                  value:
                    error: List search not found!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - List Search API
  /v1/orders:
    get:
      summary: Get a list of submitted orders
      description: |
        **Get a list of submitted orders.**<br><br>

        This endpoint returns a list of all orders that have been placed using the List Search API. Each order entry includes summary details such as status, order date, compound counts, and a tracking link.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
      operationId: 2_Method_2_Orders_List
      parameters:
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Get a list of submitted orders:
                  summary: Get a list of submitted orders response example
                  value:
                  - accepted_order_key: ABC123XYZ001
                    tracking_link: https://example.com/order-tracking?orderid=10001&orderkey=ABC123XYZ001
                    compounds_ordered: 44
                    compounds_cancelled: 2
                    compounds_shipped_to_customer: 42
                    compounds_in_molport_warehouse: 0
                    molport_order_number: ORD20220127001
                    order_date: 2022-01-27T06:40:22Z
                    latest_delivery_date: 2022-03-01T22:00:00Z
                    status: delivered to customer
                  - accepted_order_key: ABC123XYZ002
                    tracking_link: https://example.com/order-tracking?orderid=10002&orderkey=ABC123XYZ002
                    compounds_ordered: 3
                    compounds_cancelled: 0
                    compounds_shipped_to_customer: 3
                    compounds_in_molport_warehouse: 0
                    molport_order_number: ORD20220108001
                    order_date: 2022-01-08T17:59:58Z
                    latest_delivery_date: 2022-02-18T13:43:21Z
                    status: delivered to customer
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - Order API
    post:
      summary: Place an order based on submitted list search
      description: |
        **Place an order based on submitted list search.**<br><br>

        This endpoint allows users to create an order using a previously completed list search. It requires a <code>search_key</code> and complete billing and shipping information.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
        Parameters:<br><br>
        <code>search_key</code> (string, required): Identifier of the list search used to build the order.<br>
        <code>billing_same_as_shipping</code> (boolean, required): Whether billing address matches the shipping address.<br>
        <code>billing_address</code> (object, required): Full billing address fields if different from shipping.<br>
        <code>shipping_address</code> (object, required): Complete delivery address.<br>
        <code>notes</code> (string, optional): Additional delivery or handling instructions.<br>
        <code>client_purchase_order_number</code> (string, optional): Customer PO number.<br>
        <code>client_purchase_order_file_name</code> (string, optional): Filename of attached PO file.<br>
        <code>client_purchase_order_file_base64</code> (string, optional): Base64-encoded PO file content.
      operationId: 1_Method_1_Orders_Insert
      parameters:
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      requestBody:
        description: Place an list search order payload
        content:
          application/json:
            examples:
              Place an list search order request:
                summary: Place an list search order request example
                value:
                  search_key: 5J7PLO7I150BE1IR9U3C9C
                  billing_same_as_shipping: false
                  billing_address:
                    first_name: Nick
                    last_name: Spade
                    email: nick.spade@ca-university.com
                    phone_number: "+1123456111"
                    organization: University of California
                    country: US
                    state_province: CA
                    city: San Francisco
                    zip_postal_code: "94103"
                    address: "123 Market Avenue, 3rd Floor"
                    address_2: "Room 312, Cabinet A"
                  shipping_address:
                    first_name: John
                    last_name: Doe
                    email: john.doe@ca-university.com
                    phone_number: "+1123456222"
                    organization: University of California
                    country: US
                    state_province: CA
                    city: San Francisco
                    zip_postal_code: "94103"
                    address: "123 Market Avenue, 3rd Floor"
                    address_2: "Room 312, Cabinet C"
                  notes: Deliver before end of month.
                  client_purchase_order_number: PO1001
                  client_purchase_order_file_name: Purchase_Order_1001.txt
                  client_purchase_order_file_base64: UE8xMDAx
            schema:
              $ref: "#/components/schemas/ListSearchOrder"
        required: true
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Place an order based on submitted list search:
                  summary: Place an order based on submitted list search response
                    example
                  value:
                    search_key: 5J7PLO7I150BE1IR9U3C9C
                    order_key: 9N7PHO7I150CE0IR9U3F7A
                    message: Order successfully submitted
                    status: submitted
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "404":
          description: Not found
          content:
            application/json:
              examples:
                Not found error response:
                  summary: Not found error response example
                  value:
                    error: List search not found!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - Order API
  /v1/orders/{orderKey}:
    get:
      summary: Load an order
      description: |
        **Load a submitted order request and get full results.**<br><br>

        This endpoint retrieves the detailed information of a previously submitted order.<br><br>

        <b>Request</b><br><br>
        Headers:<br><br>
        <code>X-API-Key</code> (string, required): Your Molport API key.<br><br>
      operationId: 3_Method_3_Orders_Load
      parameters:
      - description: Key identifying the order
        name: orderKey
        required: true
        in: path
        schema:
          type: string
      - description: API key for authentication via HTTP header
        in: header
        name: X-API-Key
        schema:
          type: string
      responses:
        "200":
          description: Success
          content:
            application/json:
              examples:
                Get a list of submitted orders:
                  summary: Get a list of submitted orders response example
                  value:
                    accepted_order_key: ABC123XYZ789
                    tracking_link: https://example.com/order-tracking?orderid=12345&orderkey=ABC123XYZ789
                    compounds_ordered: 2
                    compounds_cancelled: 0
                    compounds_shipped_to_customer: 2
                    compounds_in_molport_warehouse: 0
                    molport_order_number: ORD20230915001
                    order_date: 2023-09-15T11:52:53Z
                    latest_delivery_date: 2023-09-29T00:00:00Z
                    promised_ship_date: 2023-10-02T00:00:00Z
                    items:
                    - supplier_name: Supplier A
                      catalogue_number: CAT12345
                      molport_catalogue_number: Molport-003-936-505
                      molport_reference_number: REF001
                      quantity: "10"
                      quantity_measure: mg
                      status: delivered to customer
                      promised_ship_out_date: 2023-09-20T00:00:00Z
                      ship_out_date: 2023-09-18T00:00:00Z
                      status_change_date: 2023-09-18T00:00:00Z
                      tracking_number: TRACK123456
                      invoice_number: INV20230915001
                    - supplier_name: Supplier B
                      catalogue_number: CAT67890
                      molport_catalogue_number: Molport-001-776-553
                      molport_reference_number: REF002
                      quantity: "10"
                      quantity_measure: mg
                      status: delivered to customer
                      promised_ship_out_date: 2023-09-21T00:00:00Z
                      ship_out_date: 2023-09-19T00:00:00Z
                      status_change_date: 2023-09-19T00:00:00Z
                      tracking_number: TRACK654321
                      invoice_number: INV20230915002
                    status: delivered to customer
                    client_po_number: PO20230915001
                    shipment_summary:
                    - courier: ExampleCourier
                      tracking_number: TRACK123456
                      invoice_numbers: "INV20230915001, INV20230915002"
                      tracking_link: https://courier.example.com/track?awb=TRACK123456
                      packing_list_link: https://example.com/order/packing-list?orderid=12345
                      status: delivered to customer
                      notes: Shipment from Supplier A and Supplier B.
                      ship_date: 2023-09-15T09:22:07Z
                    order_statuses:
                    - status: compounds processing
                      compound_count: 2
                      is_active: false
                      is_selected: false
                    - status: in transit to warehouse
                      compound_count: 0
                      is_active: false
                      is_selected: false
                    - status: in warehouse
                      compound_count: 0
                      is_active: false
                      is_selected: false
                    - status: re-formatting
                      compound_count: 0
                      is_active: false
                      is_selected: false
                    - status: cancelled
                      compound_count: 0
                      is_active: false
                      is_selected: false
                    invoices:
                    - invoice_number: INV20230915001
                      client_po_number: PO20230915001
                      contact_person: John Doe
                      status: in transit to customer
                      invoice_date: 2023-09-20T00:00:00Z
                      compound_count: 1
                      billing_address: "123 Example Street, City, Country"
                      shipping_address: "123 Example Street, City, Country"
                      price: 100.5
                      currency: USD
                    - invoice_number: INV20230915002
                      client_po_number: PO20230915001
                      contact_person: John Doe
                      status: in transit to customer
                      invoice_date: 2023-09-21T00:00:00Z
                      compound_count: 1
                      billing_address: "123 Example Street, City, Country"
                      shipping_address: "123 Example Street, City, Country"
                      price: 120.75
                      currency: USD
        "400":
          description: Bad request (validation error or missing required parameters)
          content:
            application/json:
              examples:
                Bad request response:
                  summary: Bad request response example
                  value:
                    error: <-- validation message -->
        "401":
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized response:
                  summary: Unauthorized response example
                  value:
                    error: Invalid API key!
        "404":
          description: Not found
          content:
            application/json:
              examples:
                Not found error response:
                  summary: Not found error response example
                  value:
                    error: Order not found!
        "500":
          description: Internal server error
          content:
            application/json:
              examples:
                Internal server error response:
                  summary: Internal server error response example
                  value:
                    error: Internal server error! Please try again later!
      security:
      - apiKey: []
      tags:
      - Order API
info:
  title: Molport API
  version: 1.0.0
  description: "The Molport API follows REST principles, uses resource-oriented URLs,\
    \ and works over HTTPS in any environment. It provides endpoints for compound\
    \ search, availability, pricing, and ordering. All requests require an API key\
    \ for authentication. Log in or create an account to request access and view your\
    \ key under Profile -&gt; API Keys.<br><br> <b>Base URL</b>: https://api.molport.com"
