Back to Home

Documentation

Everything you need to know to get the most out of DiscountFlow. Find guides, tutorials, and API references.

Quick Start
API References
FAQs

API References

API References
/
API Endpoints
/
Products list

Products list

Returns a paginated list of products. Supports optional partial-match filters on part number, description, and model.

Method

POST

Path

/graphql

Authentication

Bearer Token

Request Body Schema

Content-type: application/json

Variables

NameTypeRequiredDescription
filter.partnumberStringOptionalPartial match on part number
filter.descriptionStringOptionalPartial match on description
filter.modelStringOptionalPartial match on model
firstIntOptionalItems per page. Default: 15
pageIntOptionalPage number. Default: 1

Example Payload

{
  "query": "query ($filter: ProductFilterInput, $first: Int, $page: Int) { products(filter: $filter, first: $first, page: $page) { data { id partnumber description model list_price msrp moq tariff_surcharge allow_tariff other_details created_at updated_at } paginatorInfo { currentPage lastPage total hasMorePages } } }",
  "variables": {
    "filter": { "partnumber": "ABC" },
    "first": 10,
    "page": 1
  }
}

Response

Returns a paginated list of Product objects with pagination metadata.

Example Response

{
  "data": {
    "products": {
      "data": [
        {
          "id": "1",
          "partnumber": "ABC-001",
          "description": "Standard Widget",
          "model": "W1",
          "list_price": 99.99,
          "msrp": 129.99,
          "moq": 10,
          "tariff_surcharge": 5.0,
          "allow_tariff": true,
          "other_details": null,
          "created_at": "2026-01-15 10:30:00",
          "updated_at": "2026-03-24 14:22:00"
        }
      ],
      "paginatorInfo": {
        "currentPage": 1,
        "lastPage": 5,
        "total": 72,
        "hasMorePages": true
      }
    }
  }
}

Errors

Example Response

{
  "errors": [
    {
      "message": "Unauthenticated."
    }
  ]
}