Componecat Interfaces API

The Interfaces API from Componecat — 2 operation(s) for interfaces.

GitHub OpenAPI

Operations 5

GET /api/rest/v1/catalog/{catalogEntityId}/interfaces List interfaces for a catalog entity #
POST /api/rest/v1/catalog/{catalogEntityId}/interfaces Create a new interface #
GET /api/rest/v1/catalog/{catalogEntityId}/interfaces/{id} Get an interface by ID #
PATCH /api/rest/v1/catalog/{catalogEntityId}/interfaces/{id} Partially update an interface #
DELETE /api/rest/v1/catalog/{catalogEntityId}/interfaces/{id} Delete an interface #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/componecat-ai:componecat-ai-interfaces-api"
All apis
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.

Get an API 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 Specification

componecat-ai-interfaces-api-openapi.yml Raw ↑
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