klisten-co-kr Scans API

The Scans API from klisten-co-kr — 3 operation(s) for scans.

Operations 3

POST /v1/scans/paid Create paid scan #
POST /v1/scans Create scan #
GET /v1/scans/{id} Get scan #

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/klisten-co-kr:klisten-co-kr-scans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

klisten-co-kr-scans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Klisten Agent Infrastructure Scans API
  version: 0.1.0
  description: Phase 1 API. Optional capabilities fail closed unless their runtime dependencies are configured. See health and capability discovery for this instance.
tags:
- name: Scans
paths:
  /v1/scans/paid:
    post:
      operationId: createPaidScan
      security:
      - ApiKey: []
      x-required-scope: scans:write
      x-implementation-status: implemented
      responses:
        '202':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaidScanAccepted'
        '400':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: Idempotency-Key
        in: header
        required: true
        schema:
          type: string
          minLength: 16
          maxLength: 128
          pattern: ^[A-Za-z0-9._:-]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScanRequest'
      description: Reserve $0.05 from prepaid credit atomically with scan admission. Charge once on completion; release funds on terminal failure. Reuse Idempotency-Key for retries. Admission limits remain consumed after failed execution.
      tags:
      - Scans
      summary: Create paid scan
      x-summary-source: derived
  /v1/scans:
    post:
      operationId: createScan
      security:
      - ApiKey: []
      x-required-scope: scans:write
      x-implementation-status: implemented
      responses:
        '202':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanAccepted'
        '400':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: Idempotency-Key
        in: header
        required: true
        schema:
          type: string
          minLength: 16
          maxLength: 128
          pattern: ^[A-Za-z0-9._:-]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScanRequest'
      tags:
      - Scans
      summary: Create scan
      x-summary-source: derived
  /v1/scans/{id}:
    get:
      operationId: getScan
      security:
      - ApiKey: []
      x-required-scope: scans:read
      x-implementation-status: implemented
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanStatus'
        '400':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Request denied or dependency unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          pattern: ^scan_[0-9a-f-]{36}$
      tags:
      - Scans
      summary: Get scan
      x-summary-source: derived
components:
  schemas:
    Error:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
              pattern: ^req_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
            retryable:
              type: boolean
          required:
          - code
          - message
          - request_id
          - retryable
          additionalProperties: false
      required:
      - error
      additionalProperties: false
    ScanStatus:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        scan_id:
          type: string
          pattern: ^scan_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        service_id:
          type: string
          pattern: ^svc_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        status:
          type: string
          enum:
          - queued
          - running
          - succeeded
          - failed
          - dead_letter
        attempts:
          type: integer
          minimum: 0
          maximum: 3
        created_at:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
        started_at:
          anyOf:
          - type: string
            format: date-time
            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
          - type: 'null'
        completed_at:
          anyOf:
          - type: string
            format: date-time
            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
          - type: 'null'
        observation:
          anyOf:
          - type: object
            properties:
              id:
                type: string
                pattern: ^obs_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
              completeness:
                type: string
                enum:
                - complete
                - partial
              risk_score:
                anyOf:
                - type: integer
                  minimum: 0
                  maximum: 100
                - type: 'null'
              fingerprint:
                anyOf:
                - type: string
                  pattern: ^sha256:[a-f0-9]{64}$
                - type: 'null'
              observed_at:
                type: string
                format: date-time
                pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
              expires_at:
                type: string
                format: date-time
                pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
              coverage:
                type: object
                properties:
                  identity:
                    type: string
                    enum:
                    - complete
                    - partial
                    - not_checked
                  metadata:
                    type: string
                    enum:
                    - complete
                    - partial
                    - not_checked
                  tool_schema:
                    type: string
                    enum:
                    - complete
                    - partial
                    - not_checked
                  availability:
                    type: string
                    enum:
                    - complete
                    - partial
                    - not_checked
                  vulnerability:
                    type: string
                    enum:
                    - complete
                    - partial
                    - not_checked
                required:
                - identity
                - metadata
                - tool_schema
                - availability
                - vulnerability
                additionalProperties: false
              normalized_tools:
                maxItems: 200
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 200
                    input_schema:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    output_schema:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    annotations:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    description_hash:
                      type: string
                      pattern: ^sha256:[a-f0-9]{64}$
                  required:
                  - name
                  - input_schema
                  - annotations
                  - description_hash
                  additionalProperties: false
              findings:
                maxItems: 200
                type: array
                items:
                  type: object
                  properties:
                    rule_id:
                      type: string
                      minLength: 1
                      maxLength: 100
                    rule_version:
                      type: string
                      minLength: 1
                      maxLength: 50
                    kind:
                      type: string
                      enum:
                      - deterministic
                      - heuristic
                    severity:
                      type: string
                      enum:
                      - info
                      - low
                      - medium
                      - high
                      - critical
                    code:
                      type: string
                      pattern: ^[A-Z][A-Z0-9_]{0,99}$
                    tool_name:
                      anyOf:
                      - type: string
                        maxLength: 200
                      - type: 'null'
                    evidence_pointer:
                      type: string
                      maxLength: 1071
                      pattern: ^sha256:[a-f0-9]{64}#(?:\/[^\r\n]*)?$
                    summary:
                      type: string
                      maxLength: 300
                  required:
                  - rule_id
                  - rule_version
                  - kind
                  - severity
                  - code
                  - tool_name
                  - evidence_pointer
                  - summary
                  additionalProperties: false
            required:
            - id
            - completeness
            - risk_score
            - fingerprint
            - observed_at
            - expires_at
            - coverage
            - findings
            additionalProperties: false
          - type: 'null'
        error:
          anyOf:
          - type: object
            properties:
              code:
                type: string
              retryable:
                type: boolean
            required:
            - code
            - retryable
            additionalProperties: false
          - type: 'null'
        request_id:
          type: string
          pattern: ^req_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      required:
      - scan_id
      - service_id
      - status
      - attempts
      - created_at
      - started_at
      - completed_at
      - observation
      - error
      - request_id
      additionalProperties: false
    ScanRequest:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        service_id:
          type: string
          pattern: ^svc_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      required:
      - service_id
      additionalProperties: false
    PaidScanAccepted:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        scan_id:
          type: string
          pattern: ^scan_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        service_id:
          type: string
          pattern: ^svc_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        status:
          type: string
          enum:
          - queued
          - running
        created_at:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
        poll_after_seconds:
          type: number
          const: 2
        request_id:
          type: string
          pattern: ^req_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        charge:
          type: object
          properties:
            amount_micros:
              type: string
              pattern: ^[0-9]+$
            tariff_version:
              type: string
            funding:
              type: string
              enum:
              - prepaid
              - subscription
            new_reservation:
              type: boolean
          required:
          - amount_micros
          - tariff_version
          - funding
          - new_reservation
          additionalProperties: false
      required:
      - scan_id
      - service_id
      - status
      - created_at
      - poll_after_seconds
      - request_id
      - charge
      additionalProperties: false
    ScanAccepted:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        scan_id:
          type: string
          pattern: ^scan_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        service_id:
          type: string
          pattern: ^svc_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
        status:
          type: string
          enum:
          - queued
          - running
        created_at:
          type: string
          format: date-time
          pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$
        poll_after_seconds:
          type: number
          const: 2
        request_id:
          type: string
          pattern: ^req_[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      required:
      - scan_id
      - service_id
      - status
      - created_at
      - poll_after_seconds
      - request_id
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: ck_live_<secret>
    SupabaseHuman:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Supabase access token for a verified Google user in the configured project. Agent API keys are not accepted.