Canny Comments API
The Comments API from Canny — 4 operation(s) for comments.
The Comments API from Canny — 4 operation(s) for comments.
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/canny-comments-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:
title: Canny REST Autopilot Comments API
description: 'REST API for retrieving and managing Canny customer-feedback resources:
boards, categories, changelog entries, comments, companies, ideas, posts,
status changes, tags, users, and votes. All requests are POST and JSON-
bodied. Authentication is a secret API key passed in the apiKey body
parameter (or the x-api-key header on supported endpoints).
This specification is a best-effort, hand-authored representation of the
publicly documented v1/v2 endpoints at https://developers.canny.io/.
Request and response payloads are intentionally generic where the public
docs do not enumerate the full property schema.
'
version: 1.0.0
contact:
name: Canny
url: https://developers.canny.io/
servers:
- url: https://canny.io/api/v1
description: Canny v1 base URL
- url: https://canny.io/api/v2
description: Canny v2 base URL (cursor-paginated endpoints)
security:
- apiKeyBody: []
- apiKeyHeader: []
tags:
- name: Comments
paths:
/comments/retrieve:
post:
tags:
- Comments
summary: Retrieve a comment
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AuthedRequest'
responses:
'200':
$ref: '#/components/responses/GenericObject'
/comments/list:
post:
tags:
- Comments
summary: List comments
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PagedAuthedRequest'
responses:
'200':
$ref: '#/components/responses/GenericList'
/comments/create:
post:
tags:
- Comments
summary: Create a comment
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AuthedRequest'
responses:
'200':
$ref: '#/components/responses/GenericObject'
/comments/delete:
post:
tags:
- Comments
summary: Delete a comment
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AuthedRequest'
responses:
'200':
$ref: '#/components/responses/GenericObject'
components:
schemas:
AuthedRequest:
type: object
required:
- apiKey
properties:
apiKey:
type: string
description: Secret API key for the Canny company.
additionalProperties: true
GenericObject:
type: object
additionalProperties: true
PagedAuthedRequest:
allOf:
- $ref: '#/components/schemas/AuthedRequest'
- type: object
properties:
limit:
type: integer
description: Page size limit.
skip:
type: integer
description: v1 skip-based pagination offset.
cursor:
type: string
description: v2 cursor-based pagination token.
GenericList:
type: object
properties:
hasMore:
type: boolean
cursor:
type: string
additionalProperties: true
responses:
GenericObject:
description: Single resource response.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
GenericList:
description: Paginated list response.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericList'
securitySchemes:
apiKeyBody:
type: apiKey
in: query
name: apiKey
description: 'Secret API key. Canny documents the key as a body parameter named
`apiKey`; it is modeled here as an `apiKey` security scheme.
'
apiKeyHeader:
type: apiKey
in: header
name: x-api-key