Solvimon productItems API
The productItems API from Solvimon — 6 operation(s) for productitems.
The productItems API from Solvimon — 6 operation(s) for productitems.
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/solvimon-productitems-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Configuration alertRules Product Items API
version: 1.0.0
servers:
- url: https://test.api.solvimon.com
description: The TEST environment for our API
- url: https://api.solvimon.com
description: The live environment for our API
tags:
- name: productItems
paths:
/v{version}/product-items:
get:
operationId: getProductItems
summary: Get a list of all product items
description: Requires the PRODUCT_ITEM.VIEW permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: expand[]
in: query
description: The id fields of the resources that are going to be expanded.
required: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered.
required: false
schema:
type: string
- name: order_direction
in: query
description: The order direction by which the response is ordered.
required: false
schema:
type: string
- name: product_id
in: query
description: Filter products items based on product id.
required: false
schema:
type: string
- name: customer_id
in: query
description: The resource id of the customer.
required: false
schema:
type: string
- name: custom_field
in: query
description: Filter product items based on a custom field, formatted as reference:value.
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItemResponseWrapper'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
post:
operationId: postProductItems
summary: Create a product item
description: Requires the PRODUCT_ITEM.CREATE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItemCreateRequest'
put:
operationId: putProductItems
summary: Update or create a product item (upsert)
description: Requires the PRODUCT_ITEM.CREATE or PRODUCT_ITEM.UPDATE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: identifier_field
in: query
description: Which field to use to identify whether the resource exists or not
required: false
schema:
type: string
- name: custom_field_reference
in: query
description: Which custom field to use to identify whether the resource exists or not
required: false
schema:
type: string
- name: field_actions
in: query
description: The list of actions for specific fields.
required: false
schema:
type: object
additionalProperties:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItemCreateRequest'
/v{version}/product-items/{resourceIdOrReference}:
get:
operationId: getProductItemsByResourceIdOrReference
summary: Get a product item
description: Requires the PRODUCT_ITEM.VIEW permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: expand[]
in: query
description: The id fields of the resources that are going to be expanded.
required: false
schema:
type: array
items:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
delete:
operationId: deleteProductItemsByResourceIdOrReference
summary: Delete a product item
description: Requires the PRODUCT_ITEM.DELETE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
patch:
operationId: patchProductItemsByResourceIdOrReference
summary: Update a product item
description: Requires the PRODUCT_ITEM.UPDATE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItemUpdateRequest'
/v{version}/product-items/{resourceIdOrReference}/activate:
post:
operationId: postProductItemsByResourceIdOrReferenceActivate
summary: Activate a product item
description: Requires the PRODUCT_ITEM.ACTIVATE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/product-items/{resourceIdOrReference}/deprecate:
post:
operationId: postProductItemsByResourceIdOrReferenceDeprecate
summary: Deprecate a product item
description: Requires the PRODUCT_ITEM.DEPRECATE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/product-items/{resourceIdOrReference}/archive:
post:
operationId: postProductItemsByResourceIdOrReferenceArchive
summary: Archive a product item
description: Requires the PRODUCT_ITEM.ARCHIVE permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/product-items/search:
post:
operationId: postProductItemsSearch
summary: Search product items.
description: Requires the PRODUCT_ITEM.VIEW permission.
tags:
- productItems
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: expand[]
in: query
description: The id fields of the resources that are going to be expanded.
required: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered. default = name
required: false
schema:
type: string
- name: order_direction
in: query
description: The parameter for the response ordering direction (asc, desc) default asc
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProductItemResponseWrapper'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchCreateRequest'
components:
schemas:
ApiError:
type: object
properties:
type:
$ref: '#/components/schemas/ApiErrorType'
code:
$ref: '#/components/schemas/ApiErrorCode'
field:
type:
- string
- 'null'
message:
type: string
resource_id:
type:
- string
- 'null'
resource_type:
oneOf:
- $ref: '#/components/schemas/ApiErrorResourceType'
- type: 'null'
required:
- type
- code
- message
title: ApiError
MeterCreateRequest:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
reference:
type: string
name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
status:
oneOf:
- $ref: '#/components/schemas/MeterCreateRequestStatus'
- type: 'null'
description: The status of the meter indicating the activity of the meter and the ability to update properties.
meter_values:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/MeterMeterValueCreateRequest'
description: The values used as input to calculate billable units, used in the meter.
meter_properties:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/MeterMeterPropertyCreateRequest'
description: The properties that provide information to give context to an event, used in the meter.
required:
- reference
title: MeterCreateRequest
UnitNameUpdateRequest:
type: object
properties:
singular:
type: string
plural:
type:
- string
- 'null'
title: UnitNameUpdateRequest
CreditType:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
reference:
type: string
status:
oneOf:
- $ref: '#/components/schemas/CreditTypeStatus'
- type: 'null'
name:
type: string
description:
type:
- string
- 'null'
unit_name:
$ref: '#/components/schemas/UnitName'
created_at:
type:
- string
- 'null'
updated_at:
type:
- string
- 'null'
title: CreditType
MeterValueCreateRequestType:
type: string
enum:
- NUMBER
- AMOUNT
description: The type of the meter value.
title: MeterValueCreateRequestType
ProductItemUpdateRequestTaxCategory:
type: string
enum:
- STANDARD
- NO_TAX
- EXEMPT
description: The default tax category applied to the product item.
title: ProductItemUpdateRequestTaxCategory
FilterFieldCreateRequest:
type: object
properties:
name:
type: string
reference:
type:
- string
- 'null'
value:
type:
- string
- 'null'
values:
type: array
items:
type: string
title: FilterFieldCreateRequest
MeterMeterPropertyCreateRequest:
type: object
properties:
id:
type:
- string
- 'null'
description: Resource ID of type METER_PROPERTY
object:
oneOf:
- $ref: '#/components/schemas/MeterProperty'
- type: 'null'
reference:
type:
- string
- 'null'
required:
type:
- boolean
- 'null'
title: MeterMeterPropertyCreateRequest
ProductItemCredits:
type: object
properties:
credit_type_id:
type:
- string
- 'null'
description: The linked meter value calculation
credit_type:
oneOf:
- $ref: '#/components/schemas/CreditType'
- type: 'null'
title: ProductItemCredits
ProductItemCreateRequestModelType:
type: string
enum:
- USAGE_BASED
- USAGE_BASED_CONVERSION
- RECURRING
- ONE_OFF
- PER_SEAT
- CREDITS
title: ProductItemCreateRequestModelType
SelectionRuleFieldCreateRequest:
type: object
properties:
name:
type: string
value:
type:
- string
- 'null'
title: SelectionRuleFieldCreateRequest
ProductUpdateRequestStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the product.
title: ProductUpdateRequestStatus
ProductCreateRequestProductType:
type: string
enum:
- DEFAULT
- ADDON
title: ProductCreateRequestProductType
SearchCreateRequest:
type: object
properties:
search_fields:
type: array
items:
$ref: '#/components/schemas/SearchFieldCreateRequest'
filter_fields:
type: array
items:
$ref: '#/components/schemas/FilterFieldCreateRequest'
selection_rule_fields:
type: array
items:
$ref: '#/components/schemas/SelectionRuleFieldCreateRequest'
title: SearchCreateRequest
ProductItemUsageBased:
type: object
properties:
meter_value_calculation_id:
type:
- string
- 'null'
description: The linked meter value calculation
meter_value_calculation:
oneOf:
- $ref: '#/components/schemas/MeterValueCalculation'
- type: 'null'
tiering_meter_value_calculation_id:
type:
- string
- 'null'
description: The optional alternative linked meter value calculation for tiering
tiering_meter_value_calculation:
oneOf:
- $ref: '#/components/schemas/MeterValueCalculation'
- type: 'null'
report_meter_value_calculation_ids:
type:
- array
- 'null'
items:
type: string
description: Optional reporting meter value calculations.
conditions:
$ref: '#/components/schemas/MeterConditions'
description: Optional conditions.
title: ProductItemUsageBased
MeterCreateRequestStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the meter indicating the activity of the meter and the ability to update properties.
title: MeterCreateRequestStatus
ProductCreateRequestTaxCategory:
type: string
enum:
- STANDARD
- NO_TAX
- EXEMPT
description: The default tax category applied to the product.
title: ProductCreateRequestTaxCategory
MeterValueCreateRequest:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
reference:
type: string
name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
status:
oneOf:
- $ref: '#/components/schemas/MeterValueCreateRequestStatus'
- type: 'null'
description: The status of the meter value indicating the activity and the ability to update properties.
type:
oneOf:
- $ref: '#/components/schemas/MeterValueCreateRequestType'
- type: 'null'
description: The type of the meter value.
required:
- reference
- name
- type
title: MeterValueCreateRequest
MeterValueStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the meter value indicating the activity and the ability to update properties.
title: MeterValueStatus
MeterMeterValueCreateRequest:
type: object
properties:
id:
type:
- string
- 'null'
description: Resource ID of type METER_VALUE
object:
oneOf:
- $ref: '#/components/schemas/MeterValue'
- type: 'null'
reference:
type:
- string
- 'null'
required:
type:
- boolean
- 'null'
title: MeterMeterValueCreateRequest
ApiErrorCode:
type: string
enum:
- RESOURCE_NOT_FOUND
- RESOURCES_NOT_FOUND
- UNABLE_TO_PROCESS_INSTRUCTIONS
- BAD_REQUEST
- UNSUPPORTED_MEDIA_TYPE
- RESOURCE_ALREADY_EXISTS
- CUSTOM_FIELD_VALUE_ALREADY_EXISTS
- COULD_NOT_CREATE_RESOURCE
- COULD_NOT_UPDATE_RESOURCE
- COULD_NOT_DELETE_RESOURCE
- MISSING_VERSION
- UNSUPPORTED_VERSION
- UNAUTHORISED
- CUSTOMER_NOT_FOUND
- PLATFORM_NOT_FOUND
- PRICING_PLAN_NOT_FOUND
- PRODUCT_NOT_FOUND
- PRODUCT_ITEM_NOT_FOUND
- PRICING_NOT_FOUND
- PRICING_ITEM_NOT_FOUND
- USER_NOT_FOUND
- METER_NOT_FOUND
- METER_VALUE_NOT_FOUND
- METER_PROPERTY_NOT_FOUND
- PRICING_ITEM_SUMMARIES_NOT_FOUND
- MISSING_ID
- INVALID_ID
- MISSING_REFERENCE
- MISSING_FIELD
- INVALID_FIELD
- INVALID_OPERATION
- INTERNAL_ERROR
- USER_NOT_ALLOWED
- IDEMPOTENCY_CHECK_FAILED
- INVALID_REQUEST
title: ApiErrorCode
ProductItemCreateRequestStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
title: ProductItemCreateRequestStatus
ProductCreateRequestStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the product.
title: ProductCreateRequestStatus
MeterStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the meter indicating the activity of the meter and the ability to update properties.
title: MeterStatus
AdyenIntegrationDetails:
type: object
properties:
recurring_detail_reference:
type: string
title: AdyenIntegrationDetails
ProductProductType:
type: string
enum:
- DEFAULT
- ADDON
title: ProductProductType
ProductItemCreateRequestTaxCategory:
type: string
enum:
- STANDARD
- NO_TAX
- EXEMPT
description: The default tax category applied to the product item.
title: ProductItemCreateRequestTaxCategory
ProductUpdateRequestProductType:
type: string
enum:
- DEFAULT
- ADDON
title: ProductUpdateRequestProductType
ProductItemUpdateRequest:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
product_id:
type:
- string
- 'null'
description: Th
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solvimon/refs/heads/main/openapi/solvimon-productitems-api-openapi.yml