Docs
Catalogs API

Catalogs API

Manage product catalogs and retrieve catalog-specific product listings.

The Catalogs API allows you to organize products into different catalogs for your organization. Each catalog can contain multiple products, and products can belong to multiple catalogs simultaneously.

Catalog Object

A catalog represents a collection of products with the following structure:

{
  "id": "cat_dsf98hasdf8hasdf",
  "name": "GLP-1",
  "description": "GLP-1 weight loss medications",
  "active": true,
  "createdAt": "2025-01-15T10:30:00.000Z",
  "updatedAt": "2025-01-15T10:30:00.000Z"
}

Attributes

FieldTypeDescription
idstringUnique identifier for the catalog
namestringDisplay name of the catalog
descriptionstring (optional)Detailed description of the catalog
activebooleanWhether the catalog is currently active
createdAtstringISO 8601 timestamp of creation
updatedAtstringISO 8601 timestamp of last update

List All Catalogs

Retrieve a list of all active catalogs in your organization.

GET /api/catalogs

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key for authentication
Content-TypeYesMust be application/json

Response

Status Code: 200 OK

{
  "data": [
    {
      "id": "cat_dsf98hasdf8hasdf",
      "name": "GLP-1",
      "description": "GLP-1 weight loss medications",
      "active": true,
      "createdAt": "2025-01-15T10:30:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    },
    {
      "id": "cat_asd9f8asdf89adsw",
      "name": "Home Page",
      "description": "Featured products for home page",
      "active": true,
      "createdAt": "2025-01-16T14:20:00.000Z",
      "updatedAt": "2025-01-16T14:20:00.000Z"
    }
  ]
}

Example Request

curl -X GET "https://api.evon.com/api/catalogs" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

Get Catalog Products

Retrieve all products that belong to a specific catalog, including their prices and details.

GET /api/catalogs/:catalog_id

Path Parameters

ParameterTypeRequiredDescription
catalog_idstringYesThe unique identifier of the catalog

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key for authentication
Content-TypeYesMust be application/json

Response

Status Code: 200 OK

{
  "data": [
    {
      "id": "prod_cmg4x57yp0018r9p7q73eghxb",
      "name": "Injectable Semaglutide",
      "description": "",
      "type": "semaglutide",
      "image": "https://d34xic2nofw0vx.cloudfront.net/assets/images/trimrx-injectable-glp1-gip-in-california-v001.png",
      "active": true,
      "prices": [
        {
          "id": "price_asdf98asdf98as98sdf",
          "type": "recurring",
          "recurring": {
            "interval": "month",
            "interval_count": 1
          },
          "amount": 758,
          "currency": "USD",
          "active": true,
          "bnpl": false
        },
        {
          "id": "price_jgh09erg9f89fd9d",
          "type": "one_time",
          "recurring": null,
          "amount": 1265,
          "currency": "USD",
          "active": true,
          "bnpl": true
        }
      ]
    }
  ]
}

Example Request

curl -X GET "https://api.evon.com/api/catalogs/cat_dsf98hasdf8hasdf" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json"

Error Responses

Catalog Not Found

{
  "error": "Catalog not found"
}

Status Code: 404 Not Found

This error occurs when the requested catalog ID doesn't exist or doesn't belong to your organization.

Invalid Catalog ID

{
  "error": "Invalid catalog ID"
}

Status Code: 400 Bad Request

This error occurs when the catalog ID format is invalid.

Unauthorized

{
  "error": "Invalid API key"
}

Status Code: 401 Unauthorized

This error occurs when the API key is missing or invalid.

Notes

  • All catalogs are scoped to your organization via the API key
  • Only active catalogs are returned by the list endpoint
  • Products in a catalog include all their active prices
  • A product can belong to multiple catalogs simultaneously
  • The amount field in prices is in dollars (e.g., 299 = $299.00, 758 = $758.00)