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: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
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
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
CatalogItemsGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- UNAUTHORIZED
title: CatalogItemsGetResponsesContentApplicationJsonSchemaCode
UpdateCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
title: UpdateCatalogItemRequestUnauthorizedError
CreateCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsPostResponsesContentApplicationJsonSchemaCode'
title: CreateCatalogItemRequestUnauthorizedError
CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode
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
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
CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode
TradeGroup:
type: string
enum:
- ENERGY
- MECHANICAL
- ELECTRICAL
- PLUMBING
- LOW_VOLTAGE
- ENVELOPE
- OTHER
description: High-level trade group for catalog items.
title: TradeGroup
CatalogItemCreateType:
type: string
enum:
- PRODUCT
- SERVICE
description: Catalog item type
title: CatalogItemCreateType
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
GetCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
title: GetCatalogItemRequestUnauthorizedError
DeleteCatalogItemRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
title: DeleteCatalogItemRequestUnauthorizedError
CatalogItemImage:
type: object
properties:
id:
type: integer
name:
type: string
url:
type: string
description: URL to download the image
title: CatalogItemImage
DeleteCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdDeleteResponsesContentApplicationJsonSchemaCode'
title: DeleteCatalogItemRequestNotFoundError
ListCatalogItemsRequestUnauthorizedError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsGetResponsesContentApplicationJsonSchemaCode'
title: ListCatalogItemsRequestUnauthorizedError
CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- NOT_FOUND
title: CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode
UpdateCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdPatchResponsesContentApplicationJsonSchemaCode'
title: UpdateCatalogItemRequestNotFoundError
GetCatalogItemRequestNotFoundError:
type: object
properties:
message:
type: string
code:
$ref: '#/components/schemas/CatalogItemsCatalogItemIdGetResponsesContentApplicationJsonSchemaCode'
title: GetCatalogItemRequestNotFoundError
CatalogItemUpdateType:
type: string
enum:
- PRODUCT
- SERVICE
description: Catalog item type
title: CatalogItemUpdateType
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
CatalogItemsPostResponsesContentApplicationJsonSchemaCode:
type: string
enum:
- UNAUTHORIZED
title: CatalogItemsPostResponsesContentApplicationJsonSchemaCode
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
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key