CertiK Partner (Skynet) API

Skynet Security Score and Token Scan APIs for blockchain project and token security intelligence.

OpenAPI Specification

certik-skynet-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CertiK Partner (Skynet) API
  version: 1.4.2
  description: >-
    CertiK Partner API (Skynet) exposes CertiK's Web3 security intelligence:
    the Skynet Security Score API returns comprehensive, multi-metric security
    scores for blockchain projects, and the Token Scan API returns real-time
    on-chain security analysis of token contracts across major chains. Access
    is by API key issued to partners by the CertiK Business Team. This spec was
    generated by the API Evangelist enrichment pipeline from CertiK's published
    Partner API documentation; it is not an official CertiK-published OpenAPI.
  x-apievangelist-generated: true
  x-source-docs: https://api.certik-skynet.com/public-docs/
  contact:
    name: CertiK API Support
    email: APIsupport@certik.com
    url: https://api.certik-skynet.com/public-docs/
servers:
  - url: https://partner.certik-skynet.com
    description: CertiK Partner API production
security:
  - CertikApiKey: []
tags:
  - name: Security Score
    description: Skynet multi-metric project security scores.
  - name: Token Scan
    description: Real-time on-chain token contract security analysis.
paths:
  /v1/security-scores:
    get:
      tags: [Security Score]
      operationId: listSecurityScores
      summary: List project security scores
      description: >-
        Returns a paginated JSON object of project-level Skynet security score
        entries, including the overall score, rank, tier, percentile, category
        metrics, highlights and alerts.
      parameters:
        - name: skip
          in: query
          description: Pagination offset (number of records to skip).
          required: false
          schema: { type: integer, minimum: 0 }
        - name: limit
          in: query
          description: Maximum number of records to return per page.
          required: false
          schema: { type: integer, minimum: 1 }
        - name: partnerData
          in: query
          description: When set, includes partner metadata in each entry.
          required: false
          schema: { type: boolean }
      responses:
        '200':
          description: Paginated list of security score entries.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/SecurityScoreList' }
        '400': { $ref: '#/components/responses/BadRequest' }
        '403': { $ref: '#/components/responses/Forbidden' }
        '500': { $ref: '#/components/responses/InternalServerError' }
  /v1/security-scores/{id}:
    get:
      tags: [Security Score]
      operationId: getSecurityScore
      summary: Get a single project security score
      description: >-
        Retrieves the Skynet security score for a single project by CertiK
        Project ID or by chain-prefixed primary contract address.
      parameters:
        - name: id
          in: path
          description: CertiK Project ID or chain-prefixed contract address.
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Security score entry for the requested project.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/SecurityScore' }
        '400': { $ref: '#/components/responses/BadRequest' }
        '403': { $ref: '#/components/responses/Forbidden' }
        '500': { $ref: '#/components/responses/InternalServerError' }
  /v1/token-scan/contract/query:
    get:
      tags: [Token Scan]
      operationId: queryTokenScan
      summary: Scan a single token contract
      description: >-
        Returns comprehensive token analysis for a single contract, including
        token info, market info, SkyKnight score, and a security summary of
        risk flags with severity levels.
      responses:
        '200':
          description: Token scan result.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/TokenScanResponse' }
        '400': { $ref: '#/components/responses/BadRequest' }
        '403': { $ref: '#/components/responses/Forbidden' }
        '500': { $ref: '#/components/responses/InternalServerError' }
  /v1/token-scan/contract/query/batch:
    get:
      tags: [Token Scan]
      operationId: queryTokenScanBatch
      summary: Scan multiple token contracts in bulk
      description: Returns token scan results for multiple contracts in a single request.
      responses:
        '200':
          description: Batch of token scan results.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/TokenScanResponse' }
        '400': { $ref: '#/components/responses/BadRequest' }
        '403': { $ref: '#/components/responses/Forbidden' }
        '500': { $ref: '#/components/responses/InternalServerError' }
components:
  securitySchemes:
    CertikApiKey:
      type: apiKey
      in: header
      name: X-Certik-Api-Key
      description: >-
        Partner API key issued by the CertiK Business Team, sent on every
        request in the X-Certik-Api-Key header.
  responses:
    BadRequest:
      description: The server could not process the request, likely due to invalid parameters.
      content:
        application/json:
          schema: { $ref: '#/components/schemas/Error' }
    Forbidden:
      description: The 'X-Certik-Api-Key' header is invalid or missing.
      content:
        application/json:
          schema: { $ref: '#/components/schemas/Error' }
    InternalServerError:
      description: An unexpected server issue was encountered.
      content:
        application/json:
          schema: { $ref: '#/components/schemas/Error' }
  schemas:
    Error:
      type: object
      description: Standard CertiK API error envelope.
      properties:
        code: { type: integer, description: HTTP status code. }
        message: { type: string, description: Success or failure message. }
        data: { type: object, nullable: true }
    Page:
      type: object
      properties:
        skip: { type: integer }
        limit: { type: integer }
        total: { type: integer }
    SecurityScoreList:
      type: object
      properties:
        items:
          type: array
          items: { $ref: '#/components/schemas/SecurityScore' }
        page: { $ref: '#/components/schemas/Page' }
    SecurityScore:
      type: object
      properties:
        certiKProjectId: { type: string }
        securityScore:
          type: object
          properties:
            score: { type: number }
            rank: { type: integer }
            tier: { type: string }
            rankPercentile: { type: number }
        highlights:
          type: array
          items: { type: object }
        alerts:
          type: array
          items: { type: object }
    TokenScanResponse:
      type: object
      properties:
        code: { type: integer }
        message: { type: string }
        data:
          type: object
          properties:
            token_info: { type: object }
            token_meta: { type: object }
            market_info: { type: object }
            skyknight_score: { type: object }
            security_summary: { type: object }
            created_at: { type: string, format: date-time }