Coperniq Catalog Items API
The Catalog Items API from Coperniq — 2 operation(s) for catalog items.
The Catalog Items API from Coperniq — 2 operation(s) for catalog items.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/coperniq-catalog-items-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Reference Catalog Items API
version: 1.0.0
servers:
- url: https://api.coperniq.io/v1
description: Production server
tags:
- name: Catalog Items
paths:
/catalog-items:
get:
operationId: list-catalog-items
summary: List Catalog Items
description: Lists catalog items (products and services).
tags:
- Catalog Items
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:
- Catalog Items
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:
- Catalog Items
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:
- Catalog Items
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:
- Catalog Items
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:
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
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
CatalogItemUpdateType:
type: string
enum:
- PRODUCT
- SERVICE
description: Catalog item type
title: CatalogItemUpdateType
GetCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
title: GetCatalogItemRequestUnauthorizedError
GetCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
title: GetCatalogItemRequestNotFoundError
CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode
CreateCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsPostResponsesContentApplicationJsonSchemaCode'
title: CreateCatalogItemRequestUnauthorizedError
CatalogItemImage:
type: object
properties:
id:
type: integer
name:
type: string
url:
type: string
description: URL to download the image
title: CatalogItemImage
DeleteCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
title: DeleteCatalogItemRequestUnauthorizedError
UpdateCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
title: UpdateCatalogItemRequestNotFoundError
CatalogItemsGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- UNAUTHORIZED
title: CatalogItemsGetResponsesContentApplicationJsonSchemaCode
UpdateCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
title: UpdateCatalogItemRequestUnauthorizedError
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
TradeGroup:
type: string
enum:
- ENERGY
- MECHANICAL
- ELECTRICAL
- PLUMBING
- LOW_VOLTAGE
- ENVELOPE
- OTHER
description: High-level trade group for catalog items.
title: TradeGroup
CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode
CatalogItemCreateType:
type: string
enum:
- PRODUCT
- SERVICE
description: Catalog item type
title: CatalogItemCreateType
CatalogItemsPostResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- UNAUTHORIZED
title: CatalogItemsPostResponsesContentApplicationJsonSchemaCode
CatalogItemType:
type: string
enum:
- PRODUCT
- SERVICE
description: Catalog item type
title: CatalogItemType
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
CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode
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
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
ListCatalogItemsRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsGetResponsesContentApplicationJsonSchemaCode'
title: ListCatalogItemsRequestUnauthorizedError
DeleteCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
title: DeleteCatalogItemRequestNotFoundError
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
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
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key