Solvimon products API
The products API from Solvimon — 6 operation(s) for products.
The products API from Solvimon — 6 operation(s) for products.
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-products-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 Products 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: products
paths:
/v{version}/products:
get:
operationId: getProducts
summary: Get a list of all products
description: Requires the PRODUCT.VIEW permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: statuses[]
in: query
description: Filter products based on product status(es)
required: false
schema:
type: array
items:
type: string
- 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: custom_field
in: query
description: Filter the response by a custom field value.
required: false
schema:
type: string
- name: product_category_id
in: query
description: Filter the response by a product category value.
required: false
schema:
type: string
- name: customer_id
in: query
description: The resource id of the customer.
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/ProductResponseWrapper'
'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: postProducts
summary: Create a product
description: Requires the PRODUCT.CREATE permission.
tags:
- products
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/Product'
'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/ProductCreateRequest'
put:
operationId: putProducts
summary: Update or create a product (upsert)
description: Requires the PRODUCT.CREATE or PRODUCT.UPDATE permission.
tags:
- products
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/Product'
'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/ProductCreateRequest'
/v{version}/products/{resourceIdOrReference}:
get:
operationId: getProductsByResourceIdOrReference
summary: Get a product
description: Requires the PRODUCT.VIEW permission.
tags:
- products
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/Product'
'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: deleteProductsByResourceIdOrReference
summary: Delete a product
description: Requires the PRODUCT.DELETE permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: align_product_item_status
in: query
description: Updates the status of product items to the status of the Product, e.g. if theDD Product is Activated, the product items are activated
required: false
schema:
type: boolean
- 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/Product'
'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: patchProductsByResourceIdOrReference
summary: Update a product
description: Requires the PRODUCT.UPDATE permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: align_product_item_status
in: query
description: Updates the status of product items to the status of the Product, e.g. if theDD Product is Activated, the product items are activated
required: false
schema:
type: boolean
- 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/Product'
'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/ProductUpdateRequest'
/v{version}/products/{resourceIdOrReference}/activate:
post:
operationId: postProductsByResourceIdOrReferenceActivate
summary: Activate a product
description: Requires the PRODUCT.STATUS.UPDATE permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: align_product_item_status
in: query
description: Updates the status of product items to the status of the Product, e.g. if theDD Product is Activated, the product items are activated
required: false
schema:
type: boolean
- 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/Product'
'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}/products/{resourceIdOrReference}/deprecate:
post:
operationId: postProductsByResourceIdOrReferenceDeprecate
summary: Deprecate a product
description: Requires the PRODUCT.STATUS.UPDATE permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: align_product_item_status
in: query
description: Updates the status of product items to the status of the Product, e.g. if theDD Product is Activated, the product items are activated
required: false
schema:
type: boolean
- 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/Product'
'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}/products/{resourceIdOrReference}/archive:
post:
operationId: postProductsByResourceIdOrReferenceArchive
summary: Archive a product
description: Requires the PRODUCT.STATUS.UPDATE permission.
tags:
- products
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID of the resource for which the action is posted.
required: true
schema:
type: string
default: ''
- name: align_product_item_status
in: query
description: Updates the status of product items to the status of the Product, e.g. if theDD Product is Activated, the product items are activated
required: false
schema:
type: boolean
- 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/Product'
'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}/products/search:
post:
operationId: postProductsSearch
summary: Search products.
description: Requires the PRODUCT.VIEW permission.
tags:
- products
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/ProductResponseWrapper'
'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:
LinkedIntegration:
type: object
properties:
id:
type: string
link_details:
type: array
items:
$ref: '#/components/schemas/LinkDetail'
title: LinkedIntegration
PaginationLinks:
type: object
properties:
first:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
current:
type:
- string
- 'null'
next:
type:
- string
- 'null'
title: PaginationLinks
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
StripeIntegrationDetails:
type: object
properties:
payment_method_id:
type: string
title: StripeIntegrationDetails
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
ProductCreateRequestStatus:
type: string
enum:
- DRAFT
- ACTIVE
- ARCHIVED
- DEPRECATED
description: The status of the product.
title: ProductCreateRequestStatus
AdyenIntegrationDetails:
type: object
properties:
recurring_detail_reference:
type: string
title: AdyenIntegrationDetails
ProductProductType:
type: string
enum:
- DEFAULT
- ADDON
title: ProductProductType
ProductCategory:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
name:
type: string
reference:
type: string
description:
type:
- string
- 'null'
tax_category:
oneOf:
- $ref: '#/components/schemas/ProductCategoryTaxCategory'
- type: 'null'
description: The default tax category applied to the products in the product category.
display_order:
type:
- integer
- 'null'
customer_id:
type:
- string
- 'null'
description: Resource ID of type CUSTOMER
title: ProductCategory
ProductUpdateRequestProductType:
type: string
enum:
- DEFAULT
- ADDON
title: ProductUpdateRequestProductType
LinkDetail:
type: object
properties:
url:
type:
- string
- 'null'
custom_field_name:
type:
- string
- 'null'
title: LinkDetail
CustomFieldValue:
type: object
properties:
id:
type:
- string
- 'null'
description: Resource ID of type CUSTOM_FIELD
reference:
type:
- string
- 'null'
value:
type:
- string
- 'null'
values:
type:
- array
- 'null'
items:
type: string
integration_details:
oneOf:
- $ref: '#/components/schemas/IntegrationDetails'
- type: 'null'
integration_id:
type: string
description: The resource ID of the integration linked to the custom field
title: CustomFieldValue
ApiErrorResourceType:
type: string
enum:
- CUSTOMER
- CUSTOM_FIELD
- PLATFORM
- PLATFORM_UPTODATE
- METER
- METER_VALUE
- METER_PROPERTY
- METER_VALUE_CALCULATION
- INGEST_DATA
- METER_DATA
- CHARGE_DATA
- PERSIST_DATA
- ADJUSTMENT_DATA
- PRODUCT_CATEGORY
- PRODUCT
- PRODUCT_ITEM
- PRICING
- PRICING_GROUP
- PRICING_ITEM
- PRICING_ITEM_CONFIG
- PRICING_PLAN_SUBSCRIPTION
- PRICING_PLAN_SUBSCRIPTION_GROUP
- PRICING_PLAN_SCHEDULE
- PRICING_PLAN
- PRICING_PLAN_VERSION
- QUOTE
- QUOTE_VERSION
- QUOTE_TEMPLATE
- API_KEY
- USER
- ROLE
- PROXY_USER
- EXTERNAL_CREDENTIALS
- TOKEN
- INVOICE
- E_INVOICE
- PDF
- BILLING_ENTITY
- FEATURE
- MEMBERSHIP
- PAYMENT
- PAYMENT_ACCEPTOR
- PAYMENT_METHOD
- PAYMENT_METHOD_OPTIONS
- PAYMENT_SCHEDULE
- PAYMENT_REQUEST
- INTEGRATION
- WEBHOOK
- FILE
- FILE_PROCESSING_SETTINGS
- TEAM
- DOWNLOAD_URL
- CSV_REPORT
- REPORT
- REPORT_GENERATE_REQUEST
- REPORT_CONFIGURATION
- REPORT_SUBSCRIPTION
- REPORT_DEFINITION
- ACCOUNT_GROUP
- ENTITY
- EVENT_TRACE
- EVENT_TRACE_LINK
- PRICING_CATEGORY
- CONTACT
- ALERT_RULE
- ALERT
- AUDIT_RECORD
- PORTAL_URL
- AUTHENTICATION_PROVIDER
- REPROCESS
- APPROVAL_POLICY
- APPROVAL_REQUEST
- BULK_ACTION
- COUPON
- PROMOTION_CODE
- WALLET
- WALLET_TYPE
- WALLET_GRANT
- WORKFLOW
- WORKFLOW_TRIGGER
- WORKFLOW_ACTION
- CREDIT_TYPE
- SIGNATURE_REQUEST
- ATTACHMENT
- DOCUMENT
title: ApiErrorResourceType
Product:
type: object
properties:
object_type:
type:
- string
- 'null'
id:
type:
- string
- 'null'
category_id:
type: string
description: The resource ID of the product category, that belongs to the product.
category:
oneOf:
- $ref: '#/components/schemas/ProductCategory'
- type: 'null'
parent_product_id:
type:
- string
- 'null'
description: The resource ID of the original product, to which the product will belong to.
name:
type: string
reference:
type: string
description:
type:
- string
- 'null'
status:
oneOf:
- $ref: '#/components/schemas/ProductStatus'
- type: 'null'
description: The status of the product.
product_type:
$ref: '#/components/schemas/ProductProductType'
tax_category:
oneOf:
- $ref: '#/components/schemas/ProductTaxCategory'
- type: 'null'
description: The default tax category applied to the product.
features:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/FeatureResourceReference'
description: The features associated with the product.
custom_fields:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CustomFieldValue'
display_order:
type:
- integer
- 'null'
description: Determines the order in which products are displayed on overview pages and invoices. The lowest number gets the highest priority.
linked_integrations:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/LinkedIntegration'
billing_entity_id:
type:
- string
- 'null'
description: The resource ID of the billing entity linked to this product.
customer_id:
type:
- string
- 'null'
title: Product
IntegrationDetailsPaymentGatewayVariant:
type: string
enum:
- ADYEN
- STRIPE
title: IntegrationDetailsPaymentGatewayVariant
ProductTaxCategory:
type: string
enum:
- STANDARD
- NO_TAX
- EXEMPT
description: The default tax category applied to the product.
title: ProductTaxCategory
ProductUpdateRequestTaxCategory:
type: string
enum:
- STANDARD
- NO_TAX
- EXEMPT
description: The default tax category applied to the product.
title: ProductUpdateRequestTaxCategory
ApiErrorType:
type: string
enum:
- API_ERROR
- INVALID_REQUEST
title: ApiErrorType
FeatureResourceReference:
type: object
properties:
id:
type:
- string
- 'null'
description: The ID of the feature.
reference:
type: string
description: The reference of the feature.
title: FeatureResourceReference
IntegrationDetails:
type: object
properties:
id:
type:
- string
- 'null'
reference:
type:
- string
- 'null'
payment_gateway_variant:
$ref: '#/components/schemas/IntegrationDetailsPaymentGatewayVariant'
adyen:
$ref: '#/components/schemas/AdyenIntegrationDetails'
stripe:
$ref: '#/components/schemas/StripeIntegrationDetails'
title: IntegrationDetails
FilterFieldCreateRequest:
type: object
properties:
name:
type: string
reference:
type:
- string
- 'null'
value:
type:
- string
- 'null'
values:
type: array
items:
type: string
title: FilterFieldCreateRequest
Pr
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solvimon/refs/heads/main/openapi/solvimon-products-api-openapi.yml