Charthop message API
The message API from Charthop — 7 operation(s) for message.
The message API from Charthop — 7 operation(s) for message.
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-message-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 Message API
contact:
name: ChartHop
url: https://www.charthop.com
email: support@charthop.com
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: message
paths:
/v1/org/{orgId}/message:
post:
tags:
- message
summary: Create a new message
operationId: createMessage
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'201':
description: message created
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PartialMessage'
description: Message data to create
required: true
/v1/org/{orgId}/message/bulk/read:
post:
tags:
- message
summary: Sets each of the designated message's `readAt` property
operationId: bulkMarkAsRead
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'401':
description: unauthorized
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialMessage'
description: Messages to update
required: true
/v1/org/{orgId}/message/bulk/seen:
post:
tags:
- message
summary: Marks each message as `seen`
operationId: bulkMarkAsSeen
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
responses:
'401':
description: unauthorized
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialMessage'
description: Messages to update
required: true
/v1/org/{orgId}/message/me:
get:
tags:
- message
summary: Return all messages for a particular user
operationId: me
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: type
in: query
description: Message "type" (WEB, CHAT, or EMAIL)
required: false
schema:
type: string
- name: unreadOnly
in: query
description: Message "status" (read or unread)
required: false
schema:
type: boolean
- name: from
in: query
description: MessageId to start paginating from
required: false
schema:
type: string
- name: limit
in: query
description: Limit
required: false
schema:
type: integer
format: int32
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ResultsMessage'
'401':
description: unauthorized
/v1/org/{orgId}/message/me/{messageKey}:
get:
tags:
- message
summary: Return a particular message by key
operationId: getMessageByKey
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: messageKey
in: path
description: Message key
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
'401':
description: unauthorized
/v1/org/{orgId}/message/{messageId}:
get:
tags:
- message
summary: Return a particular message by id
operationId: getMessage
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: messageId
in: path
description: Message id
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
'401':
description: unauthorized
/v1/org/{orgId}/message/{messageId}/read:
post:
tags:
- message
summary: Sets the designated message's `readAt` property
operationId: markAsRead
parameters:
- name: orgId
in: path
description: Org identifier (either id or slug)
required: true
schema:
type: string
- name: messageId
in: path
description: Message id
required: true
schema:
type: string
responses:
'401':
description: unauthorized
components:
schemas:
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
Message:
type: object
required:
- id
- orgId
- type
- notificationType
- userId
- createAt
properties:
id:
type: string
description: globally unique id
example: 588f7ee98f138b19220041a7
orgId:
type: string
description: parent organization id
example: 588f7ee98f138b19220041a7
type:
type: string
description: type of message
enum:
- CHAT
- EMAIL
- WEB
notificationType:
type: string
description: type of notification (SUCCESS, ERR, ANNOUNCEMENT etc.)
enum:
- SUCCESS
- WARN
- ERROR
- COMMENT
- TASK_COMPLETED
- TASK_ASSIGNED
- REMINDER
- ANNOUNCEMENT
- PROCESS_ERROR
- PROCESS_DONE
- SHARE
userId:
type: string
description: user who receives the message
example: 588f7ee98f138b19220041a7
content:
type: object
description: message content
title:
type: string
description: message title
messageUrl:
type: string
description: link to message content (if applicable)
key:
type: string
description: key of message if applicable (e.g. product-tour, import-complete-{id})
readAt:
type: string
description: read timestamp
example: '2017-01-24T13:57:52Z'
seenAt:
type: string
description: seen timestamp
example: '2017-01-24T13:57:52Z'
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
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'
ResultsMessage:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Message'
next:
type: string
access:
type: array
items:
$ref: '#/components/schemas/ResultsAccess'
PartialMessage:
type: object
properties:
id:
type: string
description: globally unique id
example: 588f7ee98f138b19220041a7
orgId:
type: string
description: parent organization id
example: 588f7ee98f138b19220041a7
type:
type: string
description: type of message
enum:
- CHAT
- EMAIL
- WEB
notificationType:
type: string
description: type of notification (SUCCESS, ERR, ANNOUNCEMENT etc.)
enum:
- SUCCESS
- WARN
- ERROR
- COMMENT
- TASK_COMPLETED
- TASK_ASSIGNED
- REMINDER
- ANNOUNCEMENT
- PROCESS_ERROR
- PROCESS_DONE
- SHARE
userId:
type: string
description: user who receives the message
example: 588f7ee98f138b19220041a7
content:
type: object
description: message content
title:
type: string
description: message title
messageUrl:
type: string
description: link to message content (if applicable)
key:
type: string
description: key of message if applicable (e.g. product-tour, import-complete-{id})
readAt:
type: string
description: read timestamp
example: '2017-01-24T13:57:52Z'
seenAt:
type: string
description: seen timestamp
example: '2017-01-24T13:57:52Z'
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
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