Coperniq catalogItems API

The catalogItems API from Coperniq — 2 operation(s) for catalogitems.

Operations 5

GET /catalog-items List Catalog Items #
POST /catalog-items Create Catalog Item #
GET /catalog-items/{catalogItemId} Get Catalog Item #
PATCH /catalog-items/{catalogItemId} Update Catalog Item #
DELETE /catalog-items/{catalogItemId} Delete Catalog Item #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coperniq-catalogitems-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coperniq-catalogitems-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Key accounts Catalog Items API
  version: 1.0.0
servers:
- url: https://api.coperniq.io/v1
  description: Production server
tags:
- name: catalogItems
paths:
  /catalog-items:
    get:
      operationId: list-catalog-items
      summary: List Catalog Items
      description: 'Lists catalog items (products and services).

        '
      tags:
      - catalogItems
      parameters:
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of catalog items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CatalogItem'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCatalogItemsRequestUnauthorizedError'
    post:
      operationId: create-catalog-item
      summary: Create Catalog Item
      description: Create a new catalog item.
      tags:
      - catalogItems
      parameters:
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Catalog item created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogItem'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCatalogItemRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCatalogItemRequestUnauthorizedError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CatalogItemCreate'
  /catalog-items/{catalogItemId}:
    get:
      operationId: get-catalog-item
      summary: Get Catalog Item
      description: Retrieve a specific catalog item by ID.
      tags:
      - catalogItems
      parameters:
      - name: catalogItemId
        in: path
        description: Catalog item identifier
        required: true
        schema:
          type: integer
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Catalog item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogItem'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCatalogItemRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCatalogItemRequestNotFoundError'
    patch:
      operationId: update-catalog-item
      summary: Update Catalog Item
      description: 'Update an existing catalog item.

        '
      tags:
      - catalogItems
      parameters:
      - name: catalogItemId
        in: path
        description: Catalog item identifier
        required: true
        schema:
          type: integer
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Catalog item updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogItem'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCatalogItemRequestBadRequestError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCatalogItemRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCatalogItemRequestNotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CatalogItemUpdate'
    delete:
      operationId: delete-catalog-item
      summary: Delete Catalog Item
      description: 'Archives the catalog item (soft delete). The item is marked as archived and will no longer appear in list or lookup responses, but is not permanently removed.

        '
      tags:
      - catalogItems
      parameters:
      - name: catalogItemId
        in: path
        description: Catalog item identifier
        required: true
        schema:
          type: integer
      - name: x-api-key
        in: header
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCatalogItemRequestUnauthorizedError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCatalogItemRequestNotFoundError'
components:
  schemas:
    CatalogCategoryCode:
      oneOf:
      - $ref: '#/components/schemas/ProductCategory'
      - $ref: '#/components/schemas/ServiceCategory'
      description: 'Catalog item category code.

        Must be:

        - one of `ProductCategory` when `type` is `PRODUCT`, or

        - one of `ServiceCategory` when `type` is `SERVICE`.

        '
      title: CatalogCategoryCode
    DeleteCatalogItemRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
      title: DeleteCatalogItemRequestUnauthorizedError
    CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode
    CatalogItemCreateType:
      type: string
      enum:
      - PRODUCT
      - SERVICE
      description: Catalog item type
      title: CatalogItemCreateType
    TradeGroup:
      type: string
      enum:
      - ENERGY
      - MECHANICAL
      - ELECTRICAL
      - PLUMBING
      - LOW_VOLTAGE
      - ENVELOPE
      - OTHER
      description: High-level trade group for catalog items.
      title: TradeGroup
    UpdateCatalogItemRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
      title: UpdateCatalogItemRequestUnauthorizedError
    CatalogItemUpdate:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/CatalogItemUpdateType'
          description: Catalog item type
        name:
          type: string
          description: Catalog item name
        category:
          $ref: '#/components/schemas/CatalogCategoryCode'
          description: Catalog item category code. Must be a valid ProductCategory or ServiceCategory value.
        code:
          type: string
          description: Catalog item code
        description:
          type:
          - string
          - 'null'
          description: Catalog item description
        cost:
          type: number
          format: double
          description: Catalog item cost
        price:
          type: number
          format: double
          description: Catalog item price
        tradeGroup:
          $ref: '#/components/schemas/TradeGroup'
          description: High-level trade group for this item.
        preferredVendorId:
          type:
          - integer
          - 'null'
          description: ID of the preferred vendor. Pass null to clear the preferred vendor.
      title: CatalogItemUpdate
    CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode
    CatalogItemUpdateType:
      type: string
      enum:
      - PRODUCT
      - SERVICE
      description: Catalog item type
      title: CatalogItemUpdateType
    UpdateCatalogItemRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: UpdateCatalogItemRequestBadRequestError
    CatalogItemCreate:
      type: object
      properties:
        name:
          type: string
          description: Catalog item name
        type:
          $ref: '#/components/schemas/CatalogItemCreateType'
          description: Catalog item type
        category:
          $ref: '#/components/schemas/CatalogCategoryCode'
          description: Catalog item category code. Must be a valid ProductCategory when type is PRODUCT or ServiceCategory when type is SERVICE.
        cost:
          type: number
          format: double
          description: Catalog item cost
        price:
          type: number
          format: double
          description: Catalog item price
        tradeGroup:
          $ref: '#/components/schemas/TradeGroup'
          description: High-level trade group for this item. Defaults to OTHER if not provided. When provided, it must be consistent with the category (for products, the category must belong to this trade group; category OTHER is allowed under any trade group).
        manufacturer:
          type:
          - string
          - 'null'
          description: Catalog item manufacturer
        sku:
          type:
          - string
          - 'null'
          description: Catalog item SKU
        code:
          type:
          - string
          - 'null'
          description: Catalog item code
        description:
          type:
          - string
          - 'null'
          description: Catalog item description
        preferredVendorId:
          type:
          - integer
          - 'null'
          description: ID of the preferred vendor (must be an existing active vendor for this company)
      required:
      - name
      - type
      - category
      - cost
      - price
      title: CatalogItemCreate
    CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - NOT_FOUND
      title: CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode
    CatalogItem:
      type: object
      properties:
        id:
          type: integer
          description: Catalog item identifier
        name:
          type: string
          description: Catalog item name
        catalog:
          oneOf:
          - $ref: '#/components/schemas/TradeGroup'
          - type: 'null'
          description: High-level trade group for this item.
        type:
          $ref: '#/components/schemas/CatalogItemType'
          description: Catalog item type
        category:
          $ref: '#/components/schemas/CatalogCategoryCode'
          description: Catalog item category code (ProductCategory or ServiceCategory)
        manufacturer:
          type:
          - string
          - 'null'
          description: Catalog item manufacturer
        sku:
          type:
          - string
          - 'null'
          description: Catalog item SKU
        code:
          type:
          - string
          - 'null'
          description: Catalog item code
        cost:
          type:
          - number
          - 'null'
          format: double
          description: Catalog item cost
        price:
          type:
          - number
          - 'null'
          format: double
          description: Catalog item price
        description:
          type:
          - string
          - 'null'
          description: Catalog item description
        image:
          oneOf:
          - $ref: '#/components/schemas/CatalogItemImage'
          - type: 'null'
        isArchived:
          type:
          - boolean
          - 'null'
          description: Whether the catalog item is archived
        createdById:
          type: integer
          description: Identifier of the user who created the catalog item
        createdAt:
          type:
          - string
          - 'null'
          format: date-time
        updatedAt:
          type:
          - string
          - 'null'
          format: date-time
        preferredVendorId:
          type:
          - integer
          - 'null'
          description: ID of the preferred vendor (must be an existing active vendor for this company)
      required:
      - id
      - name
      - catalog
      - type
      - category
      - cost
      - price
      title: CatalogItem
    CatalogItemsGetResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: CatalogItemsGetResponsesContentApplicationJsonSchemaCode
    ProductCategory:
      type: string
      enum:
      - BATTERY_SYSTEM
      - BATTERY_MANAGEMENT_SYSTEM
      - CHARGING_GATEWAY
      - COMBINER_BOX
      - EV_CHARGER
      - LOAD_CENTER
      - MICROINVERTER
      - MOUNTING
      - POWER_OPTIMIZER
      - PRODUCTION_METER
      - PV_INVERTER
      - PV_MODULE
      - RACKING
      - RAPID_SHUTDOWN_DEVICE
      - TRACKER
      - WEATHER_STATION
      - AIR_CONDITIONER
      - AIR_HANDLING_UNIT
      - BOILER
      - CHILLER
      - COOLING_TOWER
      - FAN
      - HEAT_EXCHANGER
      - HEAT_PUMP
      - MAKE_UP_AIR_UNIT
      - PUMP
      - ROOFTOP_UNIT
      - THERMOSTAT
      - VARIABLE_FREQUENCY_DRIVE
      - AUTOMATIC_TRANSFER_SWITCH
      - BREAKER
      - DISCONNECT_SWITCH
      - ELECTRIC_METER
      - GENERATOR
      - LIGHTING_PANEL
      - PANELBOARD
      - SWITCHGEAR
      - TRANSFORMER
      - UNINTERRUPTIBLE_POWER_SUPPLY
      - WIRE
      - BACKFLOW_PREVENTER
      - BOOSTER_PUMP
      - GREASE_INTERCEPTOR
      - STORAGE_TANK
      - SUMP_PUMP
      - VALVE
      - WATER_FILTRATION_SYSTEM
      - WATER_HEATER
      - WATER_SOFTENER
      - ACCESS_CONTROLLER
      - AUTOMATION_CONTROLLER
      - CAMERA
      - CARD_READER
      - DOOR_STRIKE
      - MAGLOCK
      - NETWORK_SWITCH
      - NETWORK_VIDEO_RECORDER
      - SENSOR
      - WIRELESS_ACCESS_POINT
      - ROOF_COVERING
      - ROOF_UNDERLAYMENT
      - ROOF_MEMBRANE
      - ROOF_FLASHING
      - ROOF_VENT
      - WALL_CLADDING
      - WALL_TRIM
      - WEATHER_BARRIER
      - WINDOW
      - EXTERIOR_DOOR
      - SKYLIGHT
      - OPENING_FLASHING
      - GUTTER
      - DOWNSPOUT
      - INSULATION
      - SEALANT
      - SHEATHING
      - OTHER
      description: Product catalog category.
      title: ProductCategory
    GetCatalogItemRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
      title: GetCatalogItemRequestNotFoundError
    CreateCatalogItemRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsPostResponsesContentApplicationJsonSchemaCode'
      title: CreateCatalogItemRequestUnauthorizedError
    UpdateCatalogItemRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
      title: UpdateCatalogItemRequestNotFoundError
    GetCatalogItemRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
      title: GetCatalogItemRequestUnauthorizedError
    ServiceCategory:
      type: string
      enum:
      - ADJUSTMENT
      - BALANCING
      - CALIBRATION
      - CLEANING
      - COMMISSIONING
      - DECOMMISSIONING
      - DIAGNOSTICS
      - ENGINEERING
      - EQUIPMENT_RENTAL
      - INSPECTION
      - INSTALLATION
      - MAINTENANCE
      - MONITORING
      - OPTIMIZATION
      - PERMITTING
      - RELOCATION
      - REMOVAL
      - REPAIR
      - REPLACEMENT
      - RETROFIT
      - SITE_SURVEY
      - TESTING
      - TRAINING
      - OTHER
      description: Service catalog category.
      title: ServiceCategory
    CatalogItemType:
      type: string
      enum:
      - PRODUCT
      - SERVICE
      description: Catalog item type
      title: CatalogItemType
    ListCatalogItemsRequestUnauthorizedError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsGetResponsesContentApplicationJsonSchemaCode'
      title: ListCatalogItemsRequestUnauthorizedError
    CatalogItemImage:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        url:
          type: string
          description: URL to download the image
      title: CatalogItemImage
    CatalogItemsPostResponsesContentApplicationJsonSchemaCode:
      type: string
      enum:
      - UNAUTHORIZED
      title: CatalogItemsPostResponsesContentApplicationJsonSchemaCode
    DeleteCatalogItemRequestNotFoundError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
      title: DeleteCatalogItemRequestNotFoundError
    CreateCatalogItemRequestBadRequestError:
      type: object
      properties:
        message:
          type: string
        code:
          $ref: '#/components/schemas/CatalogItemsPostResponsesContentApplicationJsonSchemaCode'
        field:
          type: string
          description: Field that caused the validation error (if applicable)
      title: CreateCatalogItemRequestBadRequestError
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic