Katechon Technology Providers API

The Providers API from Katechon Technology — 8 operation(s) for providers.

GitHub OpenAPI

Operations 11

GET /api/v1/providers List Providers #
GET /api/v1/providers/video-capabilities Get Model Video Capabilities #
GET /api/v1/providers/{provider_id}/config Get Provider Config #
PATCH /api/v1/providers/{provider_id}/config Patch Provider Config #
GET /api/v1/providers/{provider_id}/credentials List Credentials #
POST /api/v1/providers/{provider_id}/credentials Create Credential #
PATCH /api/v1/providers/{provider_id}/credentials/{cred_id} Update Credential #
DELETE /api/v1/providers/{provider_id}/credentials/{cred_id} Delete Credential #
POST /api/v1/providers/{provider_id}/credentials/{cred_id}/activate Activate Credential #
POST /api/v1/providers/gemini-vertex/credentials/upload Upload Vertex Credential #
POST /api/v1/providers/{provider_id}/test Check Provider Connectivity #

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/katechon-technology:katechon-technology-providers-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

katechon-technology-providers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Katechon Arc Providers API
  description: Agent-powered AI video studio
  version: 1.0.0
tags:
- name: Providers
paths:
  /api/v1/providers:
    get:
      tags:
      - Providers
      summary: List Providers
      description: 返回所有供应商及其状态。
      operationId: list_providers_api_v1_providers_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvidersListResponse'
      security:
      - OAuth2PasswordBearer: []
  /api/v1/providers/video-capabilities:
    get:
      tags:
      - Providers
      summary: Get Model Video Capabilities
      description: '无项目上下文的视频模型能力:创建向导里项目尚不存在,按候选模型直接解析。


        与 `/projects/{name}/video-capabilities` 同一条解析链路(`ConfigResolver.video_capabilities_for_model`),

        只是没有项目可读:`default_duration` / `generation_mode` 等项目偏好为 None,时长联动约束按

        传入的 `resolution` / `uses_reference_images` 求值(缺省不按分辨率收窄、不走参考图路径)。

        裸 provider 的补全与格式校验同项目端点。'
      operationId: get_model_video_capabilities_api_v1_providers_video_capabilities_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: video_backend
        in: query
        required: true
        schema:
          type: string
          title: Video Backend
      - name: resolution
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Resolution
      - name: uses_reference_images
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Uses Reference Images
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/{provider_id}/config:
    get:
      tags:
      - Providers
      summary: Get Provider Config
      description: 返回单个供应商的配置字段(registry 元数据与 DB 值合并)。
      operationId: get_provider_config_api_v1_providers__provider_id__config_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderConfigResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Providers
      summary: Patch Provider Config
      description: 更新供应商配置。值为 null 表示删除该键。
      operationId: patch_provider_config_api_v1_providers__provider_id__config_patch
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                anyOf:
                - type: string
                - type: 'null'
              title: Body
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/{provider_id}/credentials:
    get:
      tags:
      - Providers
      summary: List Credentials
      operationId: list_credentials_api_v1_providers__provider_id__credentials_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server__routers__providers__CredentialListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Providers
      summary: Create Credential
      operationId: create_credential_api_v1_providers__provider_id__credentials_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/server__routers__providers__CreateCredentialRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server__routers__providers__CredentialResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/{provider_id}/credentials/{cred_id}:
    patch:
      tags:
      - Providers
      summary: Update Credential
      operationId: update_credential_api_v1_providers__provider_id__credentials__cred_id__patch
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      - name: cred_id
        in: path
        required: true
        schema:
          type: integer
          title: Cred Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/server__routers__providers__UpdateCredentialRequest'
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Providers
      summary: Delete Credential
      operationId: delete_credential_api_v1_providers__provider_id__credentials__cred_id__delete
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      - name: cred_id
        in: path
        required: true
        schema:
          type: integer
          title: Cred Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/{provider_id}/credentials/{cred_id}/activate:
    post:
      tags:
      - Providers
      summary: Activate Credential
      operationId: activate_credential_api_v1_providers__provider_id__credentials__cred_id__activate_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      - name: cred_id
        in: path
        required: true
        schema:
          type: integer
          title: Cred Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/gemini-vertex/credentials/upload:
    post:
      tags:
      - Providers
      summary: Upload Vertex Credential
      description: 上传 Vertex AI 服务账号 JSON 凭证文件,同时创建凭证记录。
      operationId: upload_vertex_credential_api_v1_providers_gemini_vertex_credentials_upload_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: name
        in: query
        required: false
        schema:
          type: string
          default: Vertex Credentials
          title: Name
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_vertex_credential_api_v1_providers_gemini_vertex_credentials_upload_post'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server__routers__providers__CredentialResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/providers/{provider_id}/test:
    post:
      tags:
      - Providers
      summary: Check Provider Connectivity
      description: 调用供应商 API 验证连通性。可指定 credential_id 测试特定凭证。
      operationId: check_provider_connectivity_api_v1_providers__provider_id__test_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: provider_id
        in: path
        required: true
        schema:
          type: string
          title: Provider Id
      - name: credential_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Credential Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectivityCheckResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ModelInfoResponse:
      properties:
        display_name:
          type: string
          title: Display Name
        media_type:
          type: string
          title: Media Type
        capabilities:
          items:
            type: string
          type: array
          title: Capabilities
        default:
          type: boolean
          title: Default
        best_for:
          anyOf:
          - type: string
          - type: 'null'
          title: Best For
        pricing_note:
          anyOf:
          - type: string
          - type: 'null'
          title: Pricing Note
        pricing_source:
          anyOf:
          - type: string
          - type: 'null'
          title: Pricing Source
        pricing_verified_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Pricing Verified At
        credit_estimates:
          items:
            $ref: '#/components/schemas/ModelCreditEstimate'
          type: array
          title: Credit Estimates
          default: []
        estimate_default_resolution:
          anyOf:
          - type: string
          - type: 'null'
          title: Estimate Default Resolution
        supported_durations:
          items:
            type: integer
          type: array
          title: Supported Durations
          default: []
        resolutions:
          items:
            type: string
          type: array
          title: Resolutions
          default: []
        audio_track:
          type: string
          title: Audio Track
          default: always_off
        reference_route_audio_track:
          type: string
          title: Reference Route Audio Track
          default: always_off
        voice_consistency:
          type: string
          enum:
          - native
          - soft
          - none
          title: Voice Consistency
          default: none
      type: object
      required:
      - display_name
      - media_type
      - capabilities
      - default
      title: ModelInfoResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ProviderConfigResponse:
      properties:
        id:
          type: string
          title: Id
        display_name:
          type: string
          title: Display Name
        description:
          type: string
          title: Description
        status:
          type: string
          title: Status
        media_types:
          items:
            type: string
          type: array
          title: Media Types
        fields:
          items:
            $ref: '#/components/schemas/FieldInfo'
          type: array
          title: Fields
        supports_base_url:
          type: boolean
          title: Supports Base Url
        secret_fields:
          items:
            $ref: '#/components/schemas/CredentialSecretField'
          type: array
          title: Secret Fields
        secret_field_groups:
          items:
            items:
              type: string
            type: array
          type: array
          title: Secret Field Groups
      type: object
      required:
      - id
      - display_name
      - description
      - status
      - media_types
      - fields
      - supports_base_url
      - secret_fields
      - secret_field_groups
      title: ProviderConfigResponse
    server__routers__providers__UpdateCredentialRequest:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        api_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Api Key
        base_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Base Url
        access_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Key
        secret_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret Key
      type: object
      title: UpdateCredentialRequest
    CredentialSecretField:
      properties:
        key:
          type: string
          title: Key
        label:
          type: string
          title: Label
      type: object
      required:
      - key
      - label
      title: CredentialSecretField
      description: '凭证表单需渲染的 secret 输入字段(按 provider 的 required ∩ secret ∩ 凭证键派生)。


        驱动设置页凭证表单渲染:单 secret provider 给 ``[api_key]``(见 ADR 0037),可灵给

        ``[api_key, access_key, secret_key]``(二选一分组见 ``secret_field_groups``)。

        key 名全程同名,前端据此读写各字段。'
    ProviderSummary:
      properties:
        id:
          type: string
          title: Id
        display_name:
          type: string
          title: Display Name
        description:
          type: string
          title: Description
        status:
          type: string
          title: Status
        media_types:
          items:
            type: string
          type: array
          title: Media Types
        capabilities:
          items:
            type: string
          type: array
          title: Capabilities
        configured_keys:
          items:
            type: string
          type: array
          title: Configured Keys
        missing_keys:
          items:
            type: string
          type: array
          title: Missing Keys
        models:
          additionalProperties:
            $ref: '#/components/schemas/ModelInfoResponse'
          type: object
          title: Models
      type: object
      required:
      - id
      - display_name
      - description
      - status
      - media_types
      - capabilities
      - configured_keys
      - missing_keys
      - models
      title: ProviderSummary
    ConnectivityCheckResponse:
      properties:
        success:
          type: boolean
          title: Success
        available_models:
          items:
            type: string
          type: array
          title: Available Models
        message:
          type: string
          title: Message
      type: object
      required:
      - success
      - available_models
      - message
      title: ConnectivityCheckResponse
    server__routers__providers__CredentialResponse:
      properties:
        id:
          type: integer
          title: Id
        provider:
          type: string
          title: Provider
        name:
          type: string
          title: Name
        api_key_masked:
          anyOf:
          - type: string
          - type: 'null'
          title: Api Key Masked
        credentials_filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Credentials Filename
        base_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Base Url
        access_key_masked:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Key Masked
        secret_key_masked:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret Key Masked
        is_active:
          type: boolean
          title: Is Active
        created_at:
          type: string
          title: Created At
      type: object
      required:
      - id
      - provider
      - name
      - is_active
      - created_at
      title: CredentialResponse
    ModelCreditEstimate:
      properties:
        resolution:
          type: string
          title: Resolution
        duration_seconds:
          type: integer
          title: Duration Seconds
        generate_audio:
          type: boolean
          title: Generate Audio
        credits:
          type: integer
          title: Credits
        reserved_credits:
          type: integer
          title: Reserved Credits
      type: object
      required:
      - resolution
      - duration_seconds
      - generate_audio
      - credits
      - reserved_credits
      title: ModelCreditEstimate
    ProvidersListResponse:
      properties:
        providers:
          items:
            $ref: '#/components/schemas/ProviderSummary'
          type: array
          title: Providers
      type: object
      required:
      - providers
      title: ProvidersListResponse
    server__routers__providers__CredentialListResponse:
      properties:
        credentials:
          items:
            $ref: '#/components/schemas/server__routers__providers__CredentialResponse'
          type: array
          title: Credentials
      type: object
      required:
      - credentials
      title: CredentialListResponse
    Body_upload_vertex_credential_api_v1_providers_gemini_vertex_credentials_upload_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
      type: object
      required:
      - file
      title: Body_upload_vertex_credential_api_v1_providers_gemini_vertex_credentials_upload_post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    server__routers__providers__CreateCredentialRequest:
      properties:
        name:
          type: string
          title: Name
        api_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Api Key
        base_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Base Url
        access_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Key
        secret_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Secret Key
      type: object
      required:
      - name
      title: CreateCredentialRequest
    FieldInfo:
      properties:
        key:
          type: string
          title: Key
        label:
          type: string
          title: Label
        type:
          type: string
          title: Type
        required:
          type: boolean
          title: Required
        is_set:
          type: boolean
          title: Is Set
        value:
          anyOf:
          - type: string
          - type: 'null'
          title: Value
        value_masked:
          anyOf:
          - type: string
          - type: 'null'
          title: Value Masked
        placeholder:
          anyOf:
          - type: string
          - type: 'null'
          title: Placeholder
      type: object
      required:
      - key
      - label
      - type
      - required
      - is_set
      title: FieldInfo
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/v1/auth/token