Charthop product API
The product API from Charthop — 3 operation(s) for product.
The product API from Charthop — 3 operation(s) for product.
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/charthop-product-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:
description: REST API for ChartHop
version: V1.0.0
title: ChartHop access Product API
contact:
name: ChartHop
url: https://www.charthop.com
email: support@charthop.com
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: product
paths:
/v1/product:
get:
tags:
- product
summary: Return all products
operationId: findProducts
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ResultsProduct'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
post:
tags:
- product
summary: Create a new product
operationId: createProduct
responses:
'201':
description: product created
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProduct'
description: Product data to create
required: true
/v1/product/features:
get:
tags:
- product
summary: Return all features
operationId: findFeatures
responses:
'200':
description: the request has succeeded
content:
application/json:
schema:
type: array
items:
type: string
enum:
- AI_ACTION
- AI_AGENT
- AI_API_WRITE
- AI_SLACK_TEAM_CHAT
- ATS_SYNC
- BUDGET
- COMPENSATION_REVIEW
- CUSTOM_CALENDAR
- CUSTOM_FIELD
- CUSTOM_FIELD_READONLY
- CUSTOM_FORM
- CUSTOM_PROFILE_TAB
- CUSTOM_ROLE
- FORM_ANONYMOUS
- FORM_RELEASE
- FORM_SIGNATURE
- GOAL
- MULTI_PAYROLL
- PERFORMANCE_REVIEW
- REPORT
- REPORT_READONLY
- SCENARIO
- SIGNATURE
- SIGNATURE_QES
- SIMPLE_WORKFLOWS
- SURVEY
- TABLE
- TEMPLATE
- WORKDAY_ADAPTIVE
- PAYROLL_OUTBOUND
- APPROVAL_WORKFLOWS
- CONTENT
- IDENTITY_OUTBOUND
- ONBOARDING_OFFBOARDING
- TIMEOFF
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
/v1/product/{productId}:
get:
tags:
- product
summary: Return a particular product by id
operationId: getProduct
parameters:
- name: productId
in: path
description: Product id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
'400':
description: bad request
'404':
description: not found
patch:
tags:
- product
summary: Update an existing product
operationId: updateProduct
parameters:
- name: productId
in: path
description: Product id
required: true
schema:
type: string
responses:
'204':
description: product updated
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProduct'
description: Product data to update
required: true
components:
schemas:
CreateProduct:
type: object
required:
- name
- sku
- salesforceProductId
- stripeProductId
- features
- status
properties:
name:
type: string
description: name of product
example: Compensation Reviews
sku:
type: string
description: unique sku of product
example: compensation-reviews
salesforceProductId:
type: string
description: corresponding product id in salesforce
example: 01t4T000000RpgKQAS
stripeProductId:
type: string
description: corresponding product id in stripe
example: prod_12345ABC
features:
type: array
description: set of features this product has access to
uniqueItems: true
items:
type: string
enum:
- AI_ACTION
- AI_AGENT
- AI_API_WRITE
- AI_SLACK_TEAM_CHAT
- ATS_SYNC
- BUDGET
- COMPENSATION_REVIEW
- CUSTOM_CALENDAR
- CUSTOM_FIELD
- CUSTOM_FIELD_READONLY
- CUSTOM_FORM
- CUSTOM_PROFILE_TAB
- CUSTOM_ROLE
- FORM_ANONYMOUS
- FORM_RELEASE
- FORM_SIGNATURE
- GOAL
- MULTI_PAYROLL
- PERFORMANCE_REVIEW
- REPORT
- REPORT_READONLY
- SCENARIO
- SIGNATURE
- SIGNATURE_QES
- SIMPLE_WORKFLOWS
- SURVEY
- TABLE
- TEMPLATE
- WORKDAY_ADAPTIVE
- PAYROLL_OUTBOUND
- APPROVAL_WORKFLOWS
- CONTENT
- IDENTITY_OUTBOUND
- ONBOARDING_OFFBOARDING
- TIMEOFF
featureOptions:
type: object
description: map of options for the feature
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FeatureAccessOption'
status:
type: string
description: whether the product is Active (currently being sold), Legacy (in use, but not being sold to new customers), or Inactive (no longer in use by any active customers)
enum:
- ACTIVE
- LEGACY
- INACTIVE
ResultsProduct:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Product'
next:
type: string
access:
type: array
items:
$ref: '#/components/schemas/ResultsAccess'
ResultsAccess:
type: object
required:
- allowed
properties:
ids:
type: array
uniqueItems: true
items:
type: string
example: 588f7ee98f138b19220041a7
allowed:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/AccessAction'
Product:
type: object
required:
- name
- sku
- salesforceProductId
- stripeProductId
- features
- status
properties:
id:
type: string
description: globally unique id
example: 588f7ee98f138b19220041a7
name:
type: string
description: name of product
example: Compensation Reviews
sku:
type: string
description: unique sku of product
example: compensation-reviews
salesforceProductId:
type: string
description: corresponding product id in salesforce
example: 01t4T000000RpgKQAS
stripeProductId:
type: string
description: corresponding product id in stripe
example: prod_12345ABC
features:
type: array
description: set of features this product has access to
uniqueItems: true
items:
type: string
enum:
- AI_ACTION
- AI_AGENT
- AI_API_WRITE
- AI_SLACK_TEAM_CHAT
- ATS_SYNC
- BUDGET
- COMPENSATION_REVIEW
- CUSTOM_CALENDAR
- CUSTOM_FIELD
- CUSTOM_FIELD_READONLY
- CUSTOM_FORM
- CUSTOM_PROFILE_TAB
- CUSTOM_ROLE
- FORM_ANONYMOUS
- FORM_RELEASE
- FORM_SIGNATURE
- GOAL
- MULTI_PAYROLL
- PERFORMANCE_REVIEW
- REPORT
- REPORT_READONLY
- SCENARIO
- SIGNATURE
- SIGNATURE_QES
- SIMPLE_WORKFLOWS
- SURVEY
- TABLE
- TEMPLATE
- WORKDAY_ADAPTIVE
- PAYROLL_OUTBOUND
- APPROVAL_WORKFLOWS
- CONTENT
- IDENTITY_OUTBOUND
- ONBOARDING_OFFBOARDING
- TIMEOFF
featureOptions:
type: object
description: map of options for the feature
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FeatureAccessOption'
status:
type: string
description: whether the product is Active (currently being sold), Legacy (in use, but not being sold to new customers), or Inactive (no longer in use by any active customers)
enum:
- ACTIVE
- LEGACY
- INACTIVE
FeatureAccessOption:
type: object
required:
- name
- type
properties:
name:
type: string
description: The name of the feature option tied to the feature access
example: smart_fields
enum:
- CONFIGURED_ROLES
- SMART_FIELDS
- APP_FIELD_MAPPERS
- MULTI_PAYROLL_INSTALLS
description:
type: string
description: The description of the feature option
type:
type: string
description: The feature option type
enum:
- LIMIT
- FULL_ACCESS
limit:
type: integer
format: int32
description: The feature option limit
AccessAction:
type: object
required:
- action
properties:
action:
type: string
fields:
type: array
uniqueItems: true
items:
type: string
types:
type: array
uniqueItems: true
items:
type: string
UpdateProduct:
type: object
properties:
name:
type: string
description: name of product
example: Compensation Reviews
sku:
type: string
description: unique sku of product
example: compensation-reviews
salesforceProductId:
type: string
description: corresponding product id in salesforce
example: 01t4T000000RpgKQAS
stripeProductId:
type: string
description: corresponding product id in stripe
example: prod_12345ABC
features:
type: array
description: set of features this product has access to
uniqueItems: true
items:
type: string
enum:
- AI_ACTION
- AI_AGENT
- AI_API_WRITE
- AI_SLACK_TEAM_CHAT
- ATS_SYNC
- BUDGET
- COMPENSATION_REVIEW
- CUSTOM_CALENDAR
- CUSTOM_FIELD
- CUSTOM_FIELD_READONLY
- CUSTOM_FORM
- CUSTOM_PROFILE_TAB
- CUSTOM_ROLE
- FORM_ANONYMOUS
- FORM_RELEASE
- FORM_SIGNATURE
- GOAL
- MULTI_PAYROLL
- PERFORMANCE_REVIEW
- REPORT
- REPORT_READONLY
- SCENARIO
- SIGNATURE
- SIGNATURE_QES
- SIMPLE_WORKFLOWS
- SURVEY
- TABLE
- TEMPLATE
- WORKDAY_ADAPTIVE
- PAYROLL_OUTBOUND
- APPROVAL_WORKFLOWS
- CONTENT
- IDENTITY_OUTBOUND
- ONBOARDING_OFFBOARDING
- TIMEOFF
featureOptions:
type: object
description: map of options for the feature
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FeatureAccessOption'
status:
type: string
description: whether the product is Active (currently being sold), Legacy (in use, but not being sold to new customers), or Inactive (no longer in use by any active customers)
enum:
- ACTIVE
- LEGACY
- INACTIVE