Componecat Interfaces API
The Interfaces API from Componecat — 2 operation(s) for interfaces.
The Interfaces API from Componecat — 2 operation(s) for interfaces.
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/componecat-ai:componecat-ai-interfaces-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Componecat Ai Interfaces API
version: v1
description: 'Operations tagged Interfaces across 2 of this provider''s published API definitions: componecat-ai-openapi.json, componecat-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://app.componecat.ai/
security:
- {}
tags:
- name: Interfaces
paths:
/api/rest/v1/catalog/{catalogEntityId}/interfaces:
get:
tags:
- Interfaces
summary: List interfaces for a catalog entity
operationId: ListInterfaces
parameters:
- name: catalogEntityId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResponseOfListOfCatalogInterfaceListItem'
'401':
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
post:
tags:
- Interfaces
summary: Create a new interface
operationId: CreateInterface
parameters:
- name: catalogEntityId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCatalogInterfaceRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResponseOfCatalogInterfaceDetail'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'422':
description: Unprocessable Entity
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
servers:
- url: https://app.componecat.ai/
/api/rest/v1/catalog/{catalogEntityId}/interfaces/{id}:
get:
tags:
- Interfaces
summary: Get an interface by ID
operationId: GetInterface
parameters:
- name: catalogEntityId
in: path
required: true
schema:
type: string
format: uuid
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResponseOfCatalogInterfaceDetail'
'404':
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
patch:
tags:
- Interfaces
summary: Partially update an interface
operationId: UpdateInterface
parameters:
- name: catalogEntityId
in: path
required: true
schema:
type: string
format: uuid
- name: id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JsonElement'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResponseOfCatalogInterfaceDetail'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'422':
description: Unprocessable Entity
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
delete:
tags:
- Interfaces
summary: Delete an interface
operationId: DeleteInterface
parameters:
- name: catalogEntityId
in: path
required: true
schema:
type: string
format: uuid
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'403':
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'404':
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'429':
description: Too Many Requests
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ProblemDetails'
servers:
- url: https://app.componecat.ai/
components:
schemas:
CatalogInterfaceListItem:
required:
- id
- catalogEntityId
- name
- kind
- protocol
- url
- authMethod
- labels
- visibility
type: object
properties:
id:
type: string
format: uuid
catalogEntityId:
type: string
format: uuid
name:
type: string
kind:
type: string
protocol:
type:
- 'null'
- string
url:
type:
- 'null'
- string
authMethod:
type:
- 'null'
- string
labels:
type: array
items:
type: string
visibility:
type: string
executableName:
type:
- 'null'
- string
installMethod:
type:
- 'null'
- string
transportType:
type:
- 'null'
- string
toolCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
resourceCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
sharePlatform:
type:
- 'null'
- string
shareName:
type:
- 'null'
- string
shareScope:
type:
- 'null'
- string
listingUrl:
type:
- 'null'
- string
registryType:
type:
- 'null'
- string
packageName:
type:
- 'null'
- string
description: Interface list view -- minimal fields for collection responses.
ProblemDetails:
type: object
properties:
type:
type:
- 'null'
- string
title:
type:
- 'null'
- string
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
detail:
type:
- 'null'
- string
instance:
type:
- 'null'
- string
CatalogInterfaceDetail:
required:
- id
- catalogEntityId
- name
- kind
- protocol
- url
- healthCheckUrl
- authMethod
- specUrl
- labels
- visibility
- rateLimit
- organizationId
- createdAt
- updatedAt
type: object
properties:
id:
type: string
format: uuid
catalogEntityId:
type: string
format: uuid
name:
type: string
kind:
type: string
protocol:
type:
- 'null'
- string
url:
type:
- 'null'
- string
healthCheckUrl:
type:
- 'null'
- string
authMethod:
type:
- 'null'
- string
specUrl:
type:
- 'null'
- string
labels:
type: array
items:
type: string
visibility:
type: string
rateLimit:
type:
- 'null'
- string
organizationId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
executableName:
type:
- 'null'
- string
installMethod:
type:
- 'null'
- string
installCommand:
type:
- 'null'
- string
version:
type:
- 'null'
- string
documentationUrl:
type:
- 'null'
- string
sourceUrl:
type:
- 'null'
- string
transportType:
type:
- 'null'
- string
command:
type:
- 'null'
- string
toolCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
resourceCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
sharePlatform:
type:
- 'null'
- string
shareName:
type:
- 'null'
- string
shareScope:
type:
- 'null'
- string
listingUrl:
type:
- 'null'
- string
registryType:
type:
- 'null'
- string
packageName:
type:
- 'null'
- string
registryUrl:
type:
- 'null'
- string
description: Interface detail view -- full fields for single-resource responses.
JsonElement: {}
RestApiResponseOfListOfCatalogInterfaceListItem:
required:
- data
type: object
properties:
data:
type:
- 'null'
- array
items:
$ref: '#/components/schemas/CatalogInterfaceListItem'
description: Standard REST API response envelope for a single resource.
CreateCatalogInterfaceRequest:
required:
- name
type: object
properties:
name:
type: string
kind:
type: string
default: Api
protocol:
type:
- 'null'
- string
url:
type:
- 'null'
- string
healthCheckUrl:
type:
- 'null'
- string
authMethod:
type:
- 'null'
- string
specUrl:
type:
- 'null'
- string
labels:
type:
- 'null'
- array
items:
type: string
visibility:
type: string
default: Internal
rateLimit:
type:
- 'null'
- string
executableName:
type:
- 'null'
- string
installMethod:
type:
- 'null'
- string
installCommand:
type:
- 'null'
- string
version:
type:
- 'null'
- string
documentationUrl:
type:
- 'null'
- string
sourceUrl:
type:
- 'null'
- string
transportType:
type:
- 'null'
- string
command:
type:
- 'null'
- string
toolCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
resourceCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
sharePlatform:
type:
- 'null'
- string
shareName:
type:
- 'null'
- string
shareScope:
type:
- 'null'
- string
listingUrl:
type:
- 'null'
- string
registryType:
type:
- 'null'
- string
packageName:
type:
- 'null'
- string
registryUrl:
type:
- 'null'
- string
description: Create interface request body.
RestApiResponseOfCatalogInterfaceDetail:
required:
- data
type: object
properties:
data:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/CatalogInterfaceDetail'
description: Standard REST API response envelope for a single resource.
securitySchemes:
bearer:
type: http
description: Personal access token. Create one in the application settings.
scheme: bearer
bearerFormat: JWT
x-refined-from:
- componecat-ai-openapi.json
- componecat-ai-openapi.yml