> ## Documentation Index
> Fetch the complete documentation index at: https://docs.portal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Catalog Items in Your Account

> GET /public/catalog — Search catalog items by text, category, brand, and stock status. Returns items with pricing, images, and category hierarchy.

The Catalog search endpoint provides full access to the Portal.io catalog with rich filtering options. You can narrow results by free-text search, category hierarchy (`CategoryId`, `CategoryIds`, `ParentCategoryId`, `ParentCategoryIds`), brand, supplier, industry, price range, stock availability, favorites, and item type. `CategoryId` and `CategoryIds` are mutually exclusive, as are `ParentCategoryId` and `ParentCategoryIds`. When `SearchText` is omitted it is treated as an empty string. `ItemType` defaults to `Part`.

<Warning>
  The Catalog endpoints require separate authorization. Contact your Portal.io representative to confirm your account has catalog API access enabled.
</Warning>

<RequestExample>
  ```bash curl theme={null}
  curl -i -X GET \
    'https://api.portal.io/public/catalog?SearchText=receiver&PageNumber=1&PageSize=10' \
    -H 'Accept: application/json' \
    -H 'X-MSS-API-APPID: YOUR_APP_ID' \
    -H 'X-MSS-API-USERKEY: YOUR_USER_KEY' \
    -H 'X-MSS-CUSTOM-DATE: Mon, 06 Apr 2026 00:22:19 GMT' \
    -H 'X-MSS-SIGNATURE: BASE64_SIGNATURE'
  ```

  ```python python theme={null}
  import requests
  from portal_auth import sign_request  # See authentication guide

  url = "https://api.portal.io/public/catalog?SearchText=receiver&PageNumber=1&PageSize=10"
  timestamp = "Mon, 06 Apr 2026 00:22:19 GMT"
  signature = sign_request("GET", url, "", timestamp, "YOUR_USER_KEY", "YOUR_SECRET_KEY")

  response = requests.get(url, headers={
      "Accept": "application/json",
      "X-MSS-API-APPID": "YOUR_APP_ID",
      "X-MSS-API-USERKEY": "YOUR_USER_KEY",
      "X-MSS-CUSTOM-DATE": timestamp,
      "X-MSS-SIGNATURE": signature
  })
  print(response.json())
  ```

  ```javascript node.js theme={null}
  const { signRequest } = require('./portalAuth'); // See authentication guide

  const url = "https://api.portal.io/public/catalog?SearchText=receiver&PageNumber=1&PageSize=10";
  const timestamp = new Date().toUTCString();
  const signature = signRequest("GET", url, "", timestamp, "YOUR_USER_KEY", "YOUR_SECRET_KEY");

  const response = await fetch(url, {
      headers: {
          "Accept": "application/json",
          "X-MSS-API-APPID": "YOUR_APP_ID",
          "X-MSS-API-USERKEY": "YOUR_USER_KEY",
          "X-MSS-CUSTOM-DATE": timestamp,
          "X-MSS-SIGNATURE": signature
      }
  });
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "items": [
      {
        "id": 8821,
        "brand": "Denon",
        "model": "AVR-X3800H",
        "shortDescription": "9.4-Channel 105W 8K AV Receiver",
        "primaryImageUrl": "https://images.portal.io/catalog/8821/primary.jpg",
        "parentCategoryId": 12,
        "categoryId": 47,
        "categories": ["Audio", "AV Receivers"],
        "isFavorite": false,
        "isDiscontinued": false,
        "msrp": {
          "msrpUsd": 1299.00,
          "value": 1299.00,
          "regularValue": 1299.00,
          "isCustom": false,
          "currency": { "code": "USD", "symbol": "$" },
          "lastModifiedDate": "2026-01-15T00:00:00Z"
        },
        "defaultCost": {
          "supplierName": "D&H Distributing",
          "supplierSku": "AVR-X3800H",
          "value": 975.00,
          "isInStock": true,
          "isPromo": false,
          "currency": { "code": "USD", "symbol": "$" }
        }
      }
    ],
    "totalItemCount": 1,
    "processingTimeMS": 42,
    "favoriteItemCount": 0,
    "favoriteItems": [],
    "categoryFacets": [
      { "value": "AV Receivers", "count": 1 }
    ],
    "brandFacets": [
      { "value": "Denon", "count": 1 }
    ],
    "supplierFacets": [
      { "value": "D&H Distributing", "count": 1 }
    ],
    "labors": [],
    "customItems": []
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /public/catalog
openapi: 3.1.0
info:
  title: Portal.Api
  version: '1.0'
servers:
  - url: http://127.0.0.1:5000
security: []
tags: []
paths:
  /public/catalog:
    get:
      tags:
        - Catalog
      summary: Search & Get Catalog Items
      description: >-
        Searches the catalog using the provided category, brand, supplier,
        industry, stock, favorite, price, and item type filters. CategoryId and
        CategoryIds are mutually exclusive, and ParentCategoryId and
        ParentCategoryIds are mutually exclusive. If SearchText is omitted it is
        treated as an empty string. ItemType defaults to Part.
      operationId: GetCatalog
      parameters:
        - $ref: '#/components/parameters/Accept'
        - name: X-MSS-API-APPID
          in: header
          description: Application Id
          required: true
          schema:
            type: string
        - name: X-MSS-CUSTOM-DATE
          in: header
          description: A date timestamp of the request
          required: true
          schema:
            type: string
        - name: X-MSS-SIGNATURE
          in: header
          description: A signature for the request
          required: true
          schema:
            type: string
        - name: X-MSS-API-USERKEY
          in: header
          description: User API Key
          required: true
          schema:
            type: string
        - name: SearchText
          in: query
          required: false
          schema:
            type: string
        - name: ParentCategoryId
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: ParentCategoryIds
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: integer
              format: int32
        - name: CategoryId
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: CategoryIds
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: integer
              format: int32
        - name: Brands
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: Suppliers
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: Industries
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: integer
              format: int32
        - name: IsInStock
          in: query
          required: false
          schema:
            type: boolean
        - name: IsFavorite
          in: query
          required: false
          schema:
            type: boolean
        - name: IsAuthorized
          in: query
          required: false
          schema:
            type: boolean
        - name: IsDiscontinued
          in: query
          required: false
          x-nullable: false
          schema:
            type: boolean
        - name: IsIndustrialFavorite
          in: query
          required: false
          schema:
            type: boolean
        - name: MinMsrp
          in: query
          description: >-
            Filter for products with an MSRP (of the users current country
            currency. If it doesn't exist then USD MSRP is used.) greater than
            this amount.
          required: false
          schema:
            type: number
            format: double
        - name: MaxMsrp
          in: query
          description: >-
            Filter for products with an MSRP (of the users current country
            currency. If it doesn't exist then USD MSRP is used.) less than this
            amount.
          required: false
          schema:
            type: number
            format: double
        - name: PageNumber
          in: query
          required: false
          x-nullable: false
          schema:
            type: integer
            format: int32
        - name: PageSize
          in: query
          description: Limit the number of results
          required: false
          schema:
            type: integer
            format: int32
        - name: IncludeImageUrl
          in: query
          required: false
          schema:
            type: boolean
        - name: ItemType
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicSearchResponse'
        '401':
          description: >-
            Not Authorized to access this endpoint or your HMAC hash was
            incorrect.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebServiceException'
        '402':
          description: This action requires an active subscription.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
        '403':
          description: You do not have permission for this API call.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
        '500':
          description: Internal error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebServiceException'
      deprecated: false
      x-codeSamples: []
components:
  parameters:
    Accept:
      name: Accept
      in: header
      description: Accept Header
      required: true
      schema:
        type: string
        enum:
          - application/json
  schemas:
    PublicSearchResponse:
      title: PublicSearchResponse
      required:
        - totalItemCount
        - processingTimeMS
        - favoriteItemCount
      properties:
        items:
          description: Catalog part items matching the search criteria
          type: array
          items:
            $ref: '#/components/schemas/PublicBrowsePartModel'
        favoriteItems:
          description: Favorite catalog part items matching the search criteria
          type: array
          items:
            $ref: '#/components/schemas/PublicBrowsePartModel'
        categoryFacets:
          description: Category facet values with result counts
          type: array
          items:
            $ref: '#/components/schemas/PublicFacetModel'
        brandFacets:
          description: Brand facet values with result counts
          type: array
          items:
            $ref: '#/components/schemas/PublicFacetModel'
        supplierFacets:
          description: Supplier facet values with result counts
          type: array
          items:
            $ref: '#/components/schemas/PublicFacetModel'
        totalItemCount:
          description: Total number of matching results across all pages
          type: integer
          format: int32
        processingTimeMS:
          description: Search processing time in milliseconds
          type: integer
          format: int32
        favoriteItemCount:
          description: Total number of favorite items matching the search criteria
          type: integer
          format: int32
        labors:
          description: Labor library items matching the search criteria
          type: array
          items:
            $ref: '#/components/schemas/LibraryModel'
        customItems:
          description: Custom library items matching the search criteria
          type: array
          items:
            $ref: '#/components/schemas/PublicLibraryModel'
      description: Catalog search response
      type: object
    WebServiceException:
      title: WebServiceException
      properties:
        statusCode:
          type: integer
          format: int32
        statusDescription:
          type: string
        responseHeaders:
          $ref: '#/components/schemas/WebHeaderCollection'
        responseDto:
          $ref: '#/components/schemas/Object'
        responseBody:
          type: string
        message:
          type: string
        errorCode:
          type: string
        errorMessage:
          type: string
        serverStackTrace:
          type: string
        state:
          $ref: '#/components/schemas/Object'
        responseStatus:
          $ref: '#/components/schemas/ResponseStatus'
        targetSite:
          $ref: '#/components/schemas/MethodBase'
        data:
          $ref: '#/components/schemas/IDictionary'
        innerException:
          $ref: '#/components/schemas/Exception'
        helpLink:
          type: string
        source:
          type: string
        hResult:
          type: integer
          format: int32
        stackTrace:
          type: string
      description: WebServiceException
      type: object
    HttpError:
      title: HttpError
      properties:
        errorCode:
          type: string
        stackTrace:
          type: string
        contentType:
          type: string
        headers:
          $ref: '#/components/schemas/Dictionary_String_String_'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/Cookie'
        status:
          type: integer
          format: int32
        statusCode:
          type: string
        statusDescription:
          type: string
        response:
          $ref: '#/components/schemas/Object'
        responseFilter:
          $ref: '#/components/schemas/IContentTypeWriter'
        requestContext:
          $ref: '#/components/schemas/IRequest'
        paddingLength:
          type: integer
          format: int32
        resultScope:
          $ref: '#/components/schemas/Func_IDisposable_'
        options:
          $ref: '#/components/schemas/IDictionary_String_String_'
        responseStatus:
          $ref: '#/components/schemas/ResponseStatus'
        targetSite:
          $ref: '#/components/schemas/MethodBase'
        message:
          type: string
        data:
          $ref: '#/components/schemas/IDictionary'
        innerException:
          $ref: '#/components/schemas/Exception'
        helpLink:
          type: string
        source:
          type: string
        hResult:
          type: integer
          format: int32
      description: HttpError
      type: object
    PublicBrowsePartModel:
      title: PublicBrowsePartModel
      required:
        - id
        - parentCategoryId
        - categoryId
        - categories
        - isFavorite
        - isDiscontinued
      properties:
        id:
          description: Unique part identifier.
          type: integer
          format: int32
        brand:
          description: Brand or manufacturer name.
          type: string
        model:
          description: Model number.
          type: string
        shortDescription:
          description: Short description shown in search results.
          type: string
        primaryImageUrl:
          description: Primary image URL for the catalog item.
          type: string
        parentCategoryId:
          description: Parent category identifier.
          type: integer
          format: int32
        categoryId:
          description: Leaf category identifier.
          type: integer
          format: int32
        categories:
          description: Category breadcrumb or category labels associated with the item.
          type: array
          items:
            type: string
        isFavorite:
          description: >-
            Whether the item is marked as a favorite for the authenticated
            account.
          type: boolean
        isDiscontinued:
          description: Whether the item is discontinued.
          type: boolean
        msrp:
          $ref: '#/components/schemas/PublicMsrpModel'
        defaultCost:
          $ref: '#/components/schemas/PublicSupplierPriceModel'
        sellPrice:
          $ref: '#/components/schemas/PublicSellPriceModel'
        rank:
          description: Item rank within the search result ordering.
          type: integer
          format: int32
      description: Catalog part search result.
      type: object
    PublicFacetModel:
      title: PublicFacetModel
      properties:
        name:
          description: Display label for the facet value
          type: string
        itemCount:
          description: Number of results matching the facet value
          type: integer
          format: int64
      description: Facet value with result count
      type: object
    LibraryModel:
      title: LibraryModel
      required:
        - id
        - modifiedDate
        - deleted
        - currencyId
        - currency
      properties:
        id:
          description: Unique identifier of the library item record.
          type: integer
          format: int32
        imageAssetId:
          description: >-
            Primary image asset identifier when an image is attached to the
            library item.
          type: integer
          format: int32
        brand:
          description: >-
            Brand or manufacturer name for custom library items. Typically null
            for labor and fee entries.
          type: string
        model:
          description: >-
            Model or model-number value for custom library items. Typically null
            for labor and fee entries.
          type: string
        name:
          description: >-
            Display name of the library item. Used primarily for labor and fee
            entries.
          type: string
        shortDescription:
          description: >-
            Short description shown for the library item. For custom items this
            is the stored item description.
          type: string
        sellPrice:
          description: >-
            Fixed sell price for the item when percentage-based pricing is not
            used or when the caller has sell-price permission.
          type: number
          format: double
        cost:
          description: Fixed cost amount stored for the item.
          type: number
          format: double
        sellPercentage:
          description: >-
            Sell percentage used for dynamic pricing when the item price is
            calculated from a percentage basis instead of a fixed sell price.
          type: number
          format: double
        costPercentage:
          description: >-
            Cost percentage used for dynamic pricing when the item cost is
            calculated from a percentage basis instead of a fixed cost.
          type: number
          format: double
        sellPercentageBasis:
          description: >-
            Basis used when SellPercentage is applied to calculate a dynamic
            sell price.
          type: string
        costPercentageBasis:
          description: >-
            Basis used when CostPercentage is applied to calculate a dynamic
            cost.
          type: string
        isTaxExempt:
          description: Whether the item should be treated as tax exempt.
          type: boolean
        isRecurringService:
          description: >-
            Whether the item represents a recurring service rather than a
            one-time charge.
          type: boolean
        modifiedDate:
          description: UTC timestamp when the library item was last modified.
          type: string
          format: date-time
        categoryId:
          description: Category identifier for custom library items when one is assigned.
          type: integer
          format: int32
        imageUrl:
          description: >-
            Resolved image URL for the library item when image URLs are included
            in the response.
          type: string
        deleted:
          description: Whether the library item has been marked as deleted.
          type: boolean
        profit:
          $ref: '#/components/schemas/ItemProfit'
        currencyId:
          description: Currency identifier used for the library item's monetary values.
          type: integer
          format: int32
        currency:
          $ref: '#/components/schemas/CurrencyModel'
      description: LibraryModel
      type: object
    PublicLibraryModel:
      title: PublicLibraryModel
      required:
        - id
        - modifiedDate
        - deleted
        - currencyId
        - currency
      properties:
        modelNumber:
          description: Convenience alias for the inherited Model field.
          type: string
        id:
          description: Unique identifier of the library item record.
          type: integer
          format: int32
        imageAssetId:
          description: >-
            Primary image asset identifier when an image is attached to the
            library item.
          type: integer
          format: int32
        brand:
          description: >-
            Brand or manufacturer name for custom library items. Typically null
            for labor and fee entries.
          type: string
        model:
          description: >-
            Model or model-number value for custom library items. Typically null
            for labor and fee entries.
          type: string
        name:
          description: >-
            Display name of the library item. Used primarily for labor and fee
            entries.
          type: string
        shortDescription:
          description: >-
            Short description shown for the library item. For custom items this
            is the stored item description.
          type: string
        sellPrice:
          description: >-
            Fixed sell price for the item when percentage-based pricing is not
            used or when the caller has sell-price permission.
          type: number
          format: double
        cost:
          description: Fixed cost amount stored for the item.
          type: number
          format: double
        sellPercentage:
          description: >-
            Sell percentage used for dynamic pricing when the item price is
            calculated from a percentage basis instead of a fixed sell price.
          type: number
          format: double
        costPercentage:
          description: >-
            Cost percentage used for dynamic pricing when the item cost is
            calculated from a percentage basis instead of a fixed cost.
          type: number
          format: double
        sellPercentageBasis:
          description: >-
            Basis used when SellPercentage is applied to calculate a dynamic
            sell price.
          type: string
        costPercentageBasis:
          description: >-
            Basis used when CostPercentage is applied to calculate a dynamic
            cost.
          type: string
        isTaxExempt:
          description: Whether the item should be treated as tax exempt.
          type: boolean
        isRecurringService:
          description: >-
            Whether the item represents a recurring service rather than a
            one-time charge.
          type: boolean
        modifiedDate:
          description: UTC timestamp when the library item was last modified.
          type: string
          format: date-time
        categoryId:
          description: Category identifier for custom library items when one is assigned.
          type: integer
          format: int32
        imageUrl:
          description: >-
            Resolved image URL for the library item when image URLs are included
            in the response.
          type: string
        deleted:
          description: Whether the library item has been marked as deleted.
          type: boolean
        profit:
          $ref: '#/components/schemas/ItemProfit'
        currencyId:
          description: Currency identifier used for the library item's monetary values.
          type: integer
          format: int32
        currency:
          $ref: '#/components/schemas/CurrencyModel'
      description: Library item returned from labor or custom-item catalog searches.
      type: object
    WebHeaderCollection:
      title: WebHeaderCollection
      properties: {}
      description: WebHeaderCollection
      type: object
    Object:
      properties: {}
      description: Object
      type: object
    ResponseStatus:
      title: ResponseStatus
      properties:
        errorCode:
          type: string
        message:
          type: string
        stackTrace:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ResponseError'
        meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: ResponseStatus
      type: object
    MethodBase:
      title: MethodBase
      properties: {}
      description: MethodBase
      type: object
    IDictionary:
      title: IDictionary
      properties: {}
      description: IDictionary
      type: object
    Exception:
      title: Exception
      properties: {}
      description: Exception
      type: object
    Dictionary_String_String_:
      title: Dictionary<String,String>
      additionalProperties:
        type: string
      description: Dictionary<String,String>
      type: object
    Cookie:
      title: Cookie
      properties: {}
      description: Cookie
      type: object
    IContentTypeWriter:
      title: IContentTypeWriter
      properties: {}
      description: IContentTypeWriter
      type: object
    IRequest:
      title: IRequest
      properties: {}
      description: IRequest
      type: object
    Func_IDisposable_:
      title: Func`1
      properties: {}
      description: Func<IDisposable>
      type: object
    IDictionary_String_String_:
      title: IDictionary<String,String>
      additionalProperties:
        type: string
      description: IDictionary<String,String>
      type: object
    PublicMsrpModel:
      title: PublicMsrpModel
      required:
        - isCustom
        - lastModifiedDate
      properties:
        msrpUsd:
          description: >-
            MSRP converted to USD when available in addition to the current
            account currency.
          type: number
          format: double
        regularValue:
          description: Regular or non-custom price value when available.
          type: number
          format: double
        isCustom:
          description: Whether the current value is a custom override.
          type: boolean
        futurePrice:
          $ref: '#/components/schemas/PublicFuturePrice'
        value:
          description: Current numeric value of the price.
          type: number
          format: double
        lastModifiedDate:
          description: UTC timestamp when this price was last modified.
          type: string
          format: date-time
        modifiedBy:
          description: Display name of the user or process that last modified this price.
          type: string
        currency:
          $ref: '#/components/schemas/PublicCurrencyModel'
      description: MSRP information returned for a catalog item.
      type: object
    PublicSupplierPriceModel:
      title: PublicSupplierPriceModel
      required:
        - supplierName
        - managePriceStatus
        - isInStock
        - isPromo
        - isCustom
        - lastModifiedDate
      properties:
        supplierName:
          description: Supplier display name.
          type: string
        supplierSku:
          description: Supplier SKU or supplier-side part number.
          type: string
        managePriceStatus:
          description: Portal manage-price status for this supplier price.
          type: string
          enum:
            - None
            - Pending
            - RequireSecondAuthorization
            - Activated
            - BlockedBrand
            - Blocked
        accountNumber:
          description: >-
            Supplier account number used for the authenticated dealer, when
            available.
          type: string
        isInStock:
          description: Whether the supplier currently reports the item as in stock.
          type: boolean
        isPromo:
          description: Whether the current supplier cost is a promotional price.
          type: boolean
        lastVerifiedDate:
          description: UTC timestamp when the supplier price was last verified.
          type: string
          format: date-time
        unitOfMeasure:
          description: Unit of measure for the supplier price.
          type: string
        discountPercentage:
          description: Supplier discount percentage when applicable.
          type: number
          format: double
        regularValue:
          description: Regular or non-custom price value when available.
          type: number
          format: double
        isCustom:
          description: Whether the current value is a custom override.
          type: boolean
        futurePrice:
          $ref: '#/components/schemas/PublicFuturePrice'
        value:
          description: Current numeric value of the price.
          type: number
          format: double
        lastModifiedDate:
          description: UTC timestamp when this price was last modified.
          type: string
          format: date-time
        modifiedBy:
          description: Display name of the user or process that last modified this price.
          type: string
        currency:
          $ref: '#/components/schemas/PublicCurrencyModel'
      description: Supplier-specific cost information for a catalog item.
      type: object
    PublicSellPriceModel:
      title: PublicSellPriceModel
      required:
        - type
        - lastModifiedDate
      properties:
        type:
          description: Sell-price calculation type.
          type: string
        costMultiplier:
          description: >-
            Multiplier applied to cost when the sell-price type uses cost-based
            pricing.
          type: number
          format: double
        value:
          description: Current numeric value of the price.
          type: number
          format: double
        lastModifiedDate:
          description: UTC timestamp when this price was last modified.
          type: string
          format: date-time
        modifiedBy:
          description: Display name of the user or process that last modified this price.
          type: string
        currency:
          $ref: '#/components/schemas/PublicCurrencyModel'
      description: Sell-price information returned for a catalog item.
      type: object
    ItemProfit:
      title: ItemProfit
      required:
        - profit
        - percentage
      properties:
        profit:
          description: Absolute profit amount, calculated as sell price minus cost.
          type: number
          format: double
        percentage:
          description: Profit margin percentage based on the current sell price and cost.
          type: number
          format: double
      description: >-
        Profit information calculated from the item's current sell price and
        cost.
      type: object
    CurrencyModel:
      title: CurrencyModel
      required:
        - id
        - code
        - symbol
        - format
      properties:
        id:
          description: Internal numeric identifier of the currency.
          type: integer
          format: int32
        code:
          description: Currency code, for example USD.
          type: string
        symbol:
          description: Currency symbol used for display, for example $.
          type: string
        format:
          description: >-
            Formatting pattern used by Portal when displaying values in this
            currency.
          type: string
      description: Currency metadata used with monetary values returned by the API.
      type: object
    ResponseError:
      title: ResponseError
      properties:
        errorCode:
          type: string
        fieldName:
          type: string
        message:
          type: string
        meta:
          $ref: '#/components/schemas/Dictionary_String_String_'
      description: ResponseError
      type: object
    PublicFuturePrice:
      title: PublicFuturePrice
      required:
        - effectiveDate
        - lastModifiedDate
        - isInUse
      properties:
        value:
          description: Future price value.
          type: number
          format: double
        effectiveDate:
          description: UTC timestamp when the future price becomes effective.
          type: string
          format: date-time
        lastModifiedDate:
          description: UTC timestamp when the future price record was last modified.
          type: string
          format: date-time
        isInUse:
          description: Whether the future price is currently active.
          type: boolean
      description: Future-dated price scheduled for a catalog item.
      type: object
    PublicCurrencyModel:
      title: PublicCurrencyModel
      required:
        - code
        - symbol
      properties:
        code:
          description: Currency code, for example USD.
          type: string
        symbol:
          description: Currency symbol used for display, for example $.
          type: string
      description: Currency code and symbol used to display money values.
      type: object

````