Charthop goal-type API
The goal-type API from Charthop — 2 operation(s) for goal-type.
The goal-type API from Charthop — 2 operation(s) for goal-type.
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-goal-type-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:
description: REST API for ChartHop
version: V1.0.0
title: ChartHop access Goal Type API
contact:
name: ChartHop
url: https://www.charthop.com
email: support@charthop.com
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: goal-type
paths:
/v1/org/{orgId}/goal-type:
get:
tags:
- goal-type
summary: Find goal types
operationId: findGoalTypes
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: fromId
in: query
description: Starting goal type id for pagination
required: false
schema:
type: string
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: returnAccess
in: query
description: 'Return access information -- pass a list of actions to check, for example: create,update,delete'
required: false
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ResultsGoalType'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
post:
tags:
- goal-type
summary: Create a new goal type
operationId: createGoalType
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/GoalType'
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: org not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGoalType'
description: Goal type data to create
required: true
/v1/org/{orgId}/goal-type/{goalTypeId}:
get:
tags:
- goal-type
summary: Get a goal type by id
operationId: getGoalType
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: goalTypeId
in: path
description: Goal type id
required: true
schema:
type: string
responses:
'200':
description: ok
content:
application/json:
schema:
$ref: '#/components/schemas/GoalType'
'400':
description: bad request
'401':
description: not authorized
'404':
description: not found
patch:
tags:
- goal-type
summary: Update an existing goal type
operationId: updateGoalType
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: goalTypeId
in: path
description: Goal type id
required: true
schema:
type: string
responses:
'200':
description: updated
content:
application/json:
schema:
$ref: '#/components/schemas/GoalType'
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGoalType'
description: Goal type data to update
required: true
delete:
tags:
- goal-type
summary: Delete a goal type
operationId: deleteGoalType
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: goalTypeId
in: path
description: Goal type id
required: true
schema:
type: string
responses:
'204':
description: deleted
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: not found
components:
schemas:
EnumValue:
type: object
required:
- name
- label
properties:
name:
type: string
description: enum value name
label:
type: string
description: enum value label
color:
type: string
description: color of property
pattern: ^#[a-f0-9]{6}$
expr:
type: string
description: computed expression, for ENUM_EXPR type
num:
type: number
description: numeric value, for ENUM_SCALE type
sort:
type: integer
format: int32
description: sort order
rank:
type: integer
format: int32
description: rank order, if selected in rank order
id:
type: string
description: unique identifier for enum
example: 588f7ee98f138b19220041a7
labelTr:
description: translations for the label
$ref: '#/components/schemas/Translations'
GoalForecastType:
type: object
required:
- type
- label
- color
properties:
type:
type: string
enum:
- WORST
- COMMIT
- CALL
- LIKELY
- BEST
label:
type: string
labelTr:
$ref: '#/components/schemas/Translations'
color:
type: string
Attribution:
type: object
properties:
principalUserId:
type: string
example: 588f7ee98f138b19220041a7
agentUserIds:
type: array
items:
type: string
example: 588f7ee98f138b19220041a7
eventId:
type: string
example: 588f7ee98f138b19220041a7
aiChatId:
type: string
example: 588f7ee98f138b19220041a7
aiToolUseId:
type: string
channel:
type: string
enum:
- WEB
- MOBILE
- SLACK
- TEAMS
- MCP
UpdateGoalType:
type: object
properties:
label:
type: string
description: name of goal type
comments:
type: string
description: whether or not comments are enabled or required
enum:
- REQUIRED
- OPTIONAL
- DISABLED
doneLevels:
type: array
description: definition of done for DONE goal
items:
$ref: '#/components/schemas/EnumValue'
confidenceLevels:
type: array
description: if confidence updates are enabled, what types of confidence levels are supported
items:
$ref: '#/components/schemas/EnumValue'
completionLevels:
type: array
description: if milestones are enabled, what types of completion statuses are supported
items:
$ref: '#/components/schemas/EnumValue'
forecastTypes:
type: array
description: if forecasting is enabled, what types of forecasts are supported
items:
$ref: '#/components/schemas/GoalForecastType'
targetValues:
type: array
description: stretch target types
items:
$ref: '#/components/schemas/GoalTargetValueType'
progressUpdateConfig:
description: configuration for automated progress update reminders
$ref: '#/components/schemas/GoalProgressUpdateConfig'
isPersonal:
type: boolean
description: whether this goal type is for personal goals (as opposed to organizational goals)
ResultsGoalType:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/GoalType'
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'
GoalTargetValueType:
type: object
required:
- label
- color
properties:
id:
type: string
example: 588f7ee98f138b19220041a7
label:
type: string
labelTr:
$ref: '#/components/schemas/Translations'
color:
type: string
Translations:
type: object
required:
- values
properties:
values:
type: object
additionalProperties:
type: string
MessageChannelConfig:
type: object
required:
- channels
- alwaysEmail
properties:
channels:
type: array
items:
type: string
enum:
- EMAIL
- CHAT
- CHAT_SLACK
- CHAT_TEAMS
alwaysEmail:
type: boolean
CreateGoalType:
type: object
required:
- label
properties:
label:
type: string
description: name of goal type
comments:
type: string
description: whether or not comments are enabled or required
enum:
- REQUIRED
- OPTIONAL
- DISABLED
doneLevels:
type: array
description: definition of done for DONE goal
items:
$ref: '#/components/schemas/EnumValue'
confidenceLevels:
type: array
description: if confidence updates are enabled, what types of confidence levels are supported
items:
$ref: '#/components/schemas/EnumValue'
completionLevels:
type: array
description: if milestones are enabled, what types of completion statuses are supported
items:
$ref: '#/components/schemas/EnumValue'
forecastTypes:
type: array
description: if forecasting is enabled, what types of forecasts are supported
items:
$ref: '#/components/schemas/GoalForecastType'
targetValues:
type: array
description: stretch target types
items:
$ref: '#/components/schemas/GoalTargetValueType'
progressUpdateConfig:
description: configuration for automated progress update reminders
$ref: '#/components/schemas/GoalProgressUpdateConfig'
isPersonal:
type: boolean
description: whether this goal type is for personal goals (as opposed to organizational goals)
GoalType:
type: object
required:
- id
- label
properties:
id:
type: string
description: globally unique id
example: 588f7ee98f138b19220041a7
orgId:
type: string
description: parent organization id, org null if platform-wide
example: 588f7ee98f138b19220041a7
label:
type: string
description: name of goal type
comments:
type: string
description: whether or not comments are enabled or required
enum:
- REQUIRED
- OPTIONAL
- DISABLED
doneLevels:
type: array
description: definition of done for DONE goal
items:
$ref: '#/components/schemas/EnumValue'
confidenceLevels:
type: array
description: if confidence updates are enabled, what types of confidence levels are supported
items:
$ref: '#/components/schemas/EnumValue'
completionLevels:
type: array
description: if milestones are enabled, what types of completion statuses are supported
items:
$ref: '#/components/schemas/EnumValue'
forecastTypes:
type: array
description: if forecasting is enabled, what types of forecasts are supported
items:
$ref: '#/components/schemas/GoalForecastType'
targetValues:
type: array
description: stretch target types
items:
$ref: '#/components/schemas/GoalTargetValueType'
progressUpdateConfig:
description: configuration for automated progress update reminders
$ref: '#/components/schemas/GoalProgressUpdateConfig'
isPersonal:
type: boolean
description: whether this goal type is for personal goals (as opposed to organizational goals)
createId:
type: string
description: created by user id
example: 588f7ee98f138b19220041a7
createBehalfId:
type: string
description: created on behalf of user id
example: 588f7ee98f138b19220041a7
createAttribution:
$ref: '#/components/schemas/Attribution'
createAt:
type: string
description: created timestamp
example: '2017-01-24T13:57:52Z'
updateId:
type: string
description: last updated by user id
example: 588f7ee98f138b19220041a7
updateBehalfId:
type: string
description: last updated on behalf of user id
example: 588f7ee98f138b19220041a7
updateAttribution:
$ref: '#/components/schemas/Attribution'
updateAt:
type: string
description: last updated timestamp
example: '2017-01-24T13:57:52Z'
deleteId:
type: string
description: deleted by user id
example: 588f7ee98f138b19220041a7
deleteBehalfId:
type: string
description: deleted on behalf of user id
example: 588f7ee98f138b19220041a7
deleteAttribution:
$ref: '#/components/schemas/Attribution'
deleteAt:
type: string
description: deleted timestamp
example: '2017-01-24T13:57:52Z'
GoalProgressUpdateConfig:
type: object
required:
- schedule
properties:
schedule:
type: string
description: schedule to send progress reminders, in crontab format
example: 5 4 * * *
messageChannel:
description: the channel to send progress reminders to
$ref: '#/components/schemas/MessageChannelConfig'
message:
type: string
description: custom message, if any, to include with progress reminders
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