Query Single Product Catalog API

Use this API to query the product that can be used to place orders

Overview

The Product Catalog API allows retrieval of a list of products that can be used for placing orders with the Flow1st API. This API uses GET to retrieve the product information and returns a JSON response containing details about each product.

Integrating this will enable Flow1st Products to be shown on the Flow1st Partner’s frontend screens.

Pre Requisites

API Description

Headers

HeaderDescription/Value
AccessTokenThis is the Access Token field returned from the Authentication - Generate Access Token response. This should be in the format Bearer <AccessToken>
Content-Typeapplication/vnd.carry1st.products.distributorproduct+json

URL Format

To retrieve a list of available payment methods, make a GET request to the following endpoint:

  • GET /api/distributors/products/:externalId

Response

The API will respond with a JSON object containing an array of products

{
    "externalId": "258a026b-1287-4e04-a52c-5ecf145d82c8",
    "name": "Asphalt 9: Legends",
    "imageLocation": "https://img.carry1st.com/eyJidWNrZXQiOiJzdGFnaW5nLWltYWdlcy1jYXJyeTFzdC1wcm9kdWN0cyIsImtleSI6IjI0YzJmMjU2LTE5NWItNGI2Mi1hMzU5LWExOTI1MDA5OWNlNC5qcGcud2VicCIsImVkaXRzIjp7InJlc2l6ZSI6eyJ3aWR0aCI6OTZ9fSwid2VicCI6e319",
    "vatRate": 7.5,
    "withholdingTaxRate": 0,
    "playerIdLabel": "Player ID",
    "inStock": true,
    "maxItemsAllowed": 0,
    "status": "ACTIVE",
    "productFulfilmentType": "DIRECT_TOPUP",
    "createdDate": "2026-02-13 08:51:50",
    "lastModifiedDate": "2026-02-13 08:51:50",
    "bundles": [
        {
            "name": "3000 Tokens",
            "sku": "SWARMIO_3000_Tokens",
            "retailPrice": 98.72,
            "distributorPrice": 97.72,
            "currencyCode": "USD",
            "imageLocation": "https://img.carry1st.com/eyJidWNrZXQiOiJzdGFnaW5nLWltYWdlcy1jYXJyeTFzdC1wcm9kdWN0cyIsImtleSI6IjI0YzJmMjU2LTE5NWItNGI2Mi1hMzU5LWExOTI1MDA5OWNlNC5qcGcud2VicCIsImVkaXRzIjp7InJlc2l6ZSI6eyJ3aWR0aCI6OTZ9fSwid2VicCI6e319",
            "inStock": true,
            "maxItemsAllowed": 1,
            "status": "SUSPENDED",
            "createdDate": "2026-02-13 08:51:50",
            "lastModifiedDate": "2026-02-13 08:51:50",
            "fields": [
                {
                    "id": 10701,
                    "productBundleId": 13243,
                    "name": "player-id",
                    "type": "input",
                    "label": "Player ID",
                    "multiline": false,
                    "placeholder": "Please enter Player ID",
                    "prefix": "",
                    "position": 1
                },
                {
                    "id": 10702,
                    "productBundleId": 13243,
                    "name": "player-platform-select",
                    "type": "select",
                    "label": "player-platform",
                    "multiline": false,
                    "placeholder": "",
                    "prefix": "",
                    "position": 2,
                    "options": [
                        {
                            "label": "Windows",
                            "value": "Windows"
                        },
                        {
                            "label": "Android",
                            "value": "Android"
                        },
                        {
                            "label": "IOS",
                            "value": "IOS"
                        }
                    ]
                }
            ]
        }
    ]
}

Product Fields

NameTypeDescription
createdDateStringThe timestamp when the product was created
externalIDStringThe identifier that can be used for this Product.
inStockBooleanTrue if this product is in stock
imageLocationStringThe HTTP location of the Product image
lastModifiedDateStringThe timestamp when the product was updated
maxItemsAllowedNumber(Ignore for now) Indicates the maximum quantity that can be bought from this product
nameStringThe name of the product
playerIdLabelStringThe UI label that can be used for the recipientIdentifier
productFulfilmentTypeStringThe type of fulfilment. Possible values are DIRECT_TOPUP, VOUCHER_CODE, REDIRECT_LINK
statusStringThe Status of this Product. Valid statuses are ACTIVE, SUSPENDED, DELETED
vatRateNumberIf this is a Pay1st Business Product, this is the VAT Rate applied when calculating the distributorPrice
withholdingTaxRateNumberIf this is a Pay1st Business Product, this is the WithHolding Tax Rate applied when calculating the distributorPrice
bundlesArray[ProductBundle]An array of bundles

Product Bundle Fields

NameTypeDescription
currencyCodeStringThe currency code for the price
createdDateStringThe timestamp when the product was created
distributorPriceNumberThe price that will be deducted from the Distributor’s account balance
imageLocationStringThe HTTP location of the ProductBundle image
inStockBooleanTrue if this product is in stock
lastModifiedDateStringThe timestamp when the product was updated
maxItemsAllowedNumber(Ignore for now) Indicates the maximum quantity that can be bought from this product bundle
nameStringThe name of the product bundle
retailPriceNumber
  • For a Retail Business Product, this is the suggested retail price
  • For a Pay1st Business Product, this is the amount to charge customers
skuStringThe string identifier of the product to use for Completing Orders
statusStringThe Status of this Product. Valid statuses are ACTIVE, SUSPENDED, DELETED
fieldsArray[Fields]If a product bundle requires extra fields to be sent in user validation, they will be specified here. Fields should be considered to be dynamic content.

"Fields" Properties

These are the properties of the Fields Object. Partners need to assume that "Field" objects will be different per product. Fields are considered to be dynamic content and can be updated based on the context of the Product (e.g. A direct topup product could migrate from playerID to playerID + serverOption).

NameTypeDescription
idNumberA numeric identifier of the field
productBundleIdNumberA numeric identifier of a product bundle
nameStringThe name of the field to use in User Validation APIand Order Completion API
typeStringThe type of the field. Possible values are input and select
labelStringThis is the suggested frontend label that can be used for customers
multilineBooleanAllows multiple lines
optionsArray[Option]If the type=select, then this will be populated with options
placeholderStringInput placeholder text. This can be used on the frontend
prefixStringText prefix for input
positionNumberDisplay order position. This is used for frontend purposes

Options Properties

NameTypeDescription
labelNumberThe frontend label to display to the customer
valueNumberThe field value to use in User Validation API and Order Completion API

HTTP Response Codes

The List Payment Method API may return the following HTTP Response Codes:

HTTP Status CodeNameDescription
200SuccessThis indicates that the request has been successful
401UnauthorizedThe Access Token might be missing or invalid (see Authentication - Generate Access Token)
403ForbiddenThe credentials provided might not have access to the resources required

Error Handling

See Handling Error Codes for more details on handling error responses.