IBM API Connect Validation API

The Validation API from IBM API Connect — 6 operation(s) for validation.

Operations 6

POST /validate Validate an OpenAPI or Product #
POST /orgs/{org}/validate Validate an OpenAPI or Product #
POST /orgs/{org}/validate/all Validate APIs or Products within a Provider Organization using a Configuration… #
POST /orgs/{org}/scan Scan OpenAPI Documents #
POST /orgs/{org}/rescan/{scan} Re-Scan OpenAPI Documents #
POST /orgs/{org}/validate/custom Validate an OpenApi with custom rules to verify custom rules work as expected #

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/ibm-api-connect:ibm-api-connect-validation-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

ibm-api-connect-validation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  x-ibm-name: compliance
  version: 2.0.0
  title: IBM API Connect Governance Validation API
  description: This API provides operations for accessing the API Governance capabilities.
  termsOfService: https://www.ibm.com/legal
  contact:
    name: IBM
    url: https://www.ibm.com
    email: help@ibm.com
  license:
    name: tbd
    url: https://tbd.com
servers:
- url: ''
  description: Local laptop testing
tags:
- name: Validation
paths:
  /validate:
    post:
      summary: Validate an OpenAPI or Product
      description: 'Validate a Single OpenAPI or a Single Product with a specified list of Rulesets.

        If no Rulesets are provided, spectral-oas and spectral-owasp Global Rulesets will be used for an OpenAPI document, whereas for an AsyncAPI document, the spectral-async Global Ruleset will be used.

        If validating a Product, a list of one or more Rulesets to be used must be provided.'
      operationId: compliance_validate
      security:
      - oauth:
        - org:view
      parameters:
      - $ref: '#/components/parameters/rulesets'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ValidationPublishMultipart'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
  /orgs/{org}/validate:
    parameters:
    - $ref: '#/components/parameters/org'
    post:
      summary: Validate an OpenAPI or Product
      description: 'Validate a Single OpenAPI or a Single Product with a specified list of Rulesets.

        If no Rulesets are provided, spectral-oas and spectral-owasp Global Rulesets will be used for an OpenAPI document, whereas for an AsyncAPI document, the spectral-async Global Ruleset will be used.

        If validating a Product, a list of one or more Rulesets to be used must be provided.'
      operationId: compliance_validateOrgScope
      security:
      - oauth:
        - org:view
      parameters:
      - $ref: '#/components/parameters/rulesets'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ValidationPublishMultipart'
          application/json:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
          application/yaml:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
  /orgs/{org}/validate/all:
    parameters:
    - $ref: '#/components/parameters/org'
    post:
      summary: Validate APIs or Products within a Provider Organization using a Configuration…
      description: Validate APIs or Products within a Provider Organization, using a Configuration File which contains the URLs of either APIs or Products to validate, as well as the Rulesets to use.
      operationId: compliance_validateAll
      security:
      - oauth:
        - org:view
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
          application/yaml:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResults'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ComplianceResults'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
  /orgs/{org}/scan:
    parameters:
    - $ref: '#/components/parameters/org'
    post:
      summary: Scan OpenAPI Documents
      operationId: compliance_scanOrgScope
      security:
      - oauth:
        - org:view
      parameters:
      - $ref: '#/components/parameters/scantitle'
      - $ref: '#/components/parameters/scan_type'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
          application/yaml:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanCreateResult'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ScanCreateResult'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
  /orgs/{org}/rescan/{scan}:
    parameters:
    - $ref: '#/components/parameters/org'
    - $ref: '#/components/parameters/scan'
    post:
      summary: Re-Scan OpenAPI Documents
      operationId: compliance_rescanOrgScope
      security:
      - oauth:
        - org:view
      parameters:
      - $ref: '#/components/parameters/scantitle'
      - $ref: '#/components/parameters/is_gateway_scan'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanCreateResult'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ScanCreateResult'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
  /orgs/{org}/validate/custom:
    parameters:
    - $ref: '#/components/parameters/org'
    post:
      summary: Validate an OpenApi with custom rules to verify custom rules work as expected
      description: Validate a single OpenAPI document with custom rules provided to verify the rules work as expected.
      operationId: compliance_validateCustomOrgScope
      security:
      - oauth:
        - org:view
      parameters:
      - $ref: '#/components/parameters/rulesets'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ValidationPublishMultipart'
          application/json:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
          application/yaml:
            schema:
              $ref: '#/components/schemas/ComplianceRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
            application/yaml:
              schema:
                $ref: '#/components/schemas/ComplianceResult'
        4XX:
          $ref: '#/components/responses/Error'
        5XX:
          $ref: '#/components/responses/Error'
      tags:
      - Validation
components:
  schemas:
    ComplianceResults:
      type: object
      additionalProperties: true
      properties:
        total_results:
          type: integer
        created_at:
          type: string
          format: date-time
        results:
          type: array
          items:
            $ref: '#/components/schemas/ResultResponse'
    ScanCreateResult:
      type: object
      additionalProperties: true
      properties:
        message:
          type: string
    Error:
      type: object
      additionalProperties: false
      properties:
        status:
          type: integer
          minimum: 400
          maximum: 599
        message:
          type: array
          items:
            type: string
        errors:
          type: array
          items:
            type: string
    ConfigRuleset:
      type: object
      additionalProperties: false
      properties:
        rulesetName:
          type: string
          maxLength: 255
        disabled:
          type: array
          items:
            type: string
    ValidationPublishMultipart:
      type: object
      properties:
        product:
          type: array
          items:
            $ref: '#/components/schemas/ProductDefinition'
        openapi:
          type: array
          items:
            $ref: '#/components/schemas/OpenApi2Definition'
        config:
          type: array
          items:
            $ref: '#/components/schemas/ConfigDefinition'
      oneOf:
      - required:
        - product
      - required:
        - openapi
    CronObject:
      type: object
      description: Cron configuration for scheduled scans
      additionalProperties: false
      properties:
        minute:
          type: integer
          description: Minute (0–59)
        hour:
          type: integer
          description: Hour (0–23)
        frequency:
          type: string
          description: Frequency (daily or specific day of week)
      required:
      - minute
      - hour
      - frequency
    ComplianceRequest:
      type: object
      additionalProperties: true
      properties:
        tags_enabled:
          type: boolean
        tags:
          type: object
        apiUrls:
          type: array
          items:
            type: string
            readOnly: true
        productUrls:
          type: array
          items:
            type: string
            readOnly: true
        collectionUrl:
          type: string
          format: uri
        config:
          $ref: '#/components/schemas/ConfigDefinition'
        cron:
          $ref: '#/components/schemas/CronObject'
    ResultResponse:
      type: object
      additionalProperties: true
      properties:
        ruleset_name:
          type: string
        rule_name:
          type: string
        message:
          type: string
        path:
          type: string
        severity:
          type: string
          enum:
          - error
          - warn
          - info
          - hint
          - 'off'
        api_name:
          type: string
        doc_title:
          type: string
        catalog:
          type: string
        space:
          type: string
        product_title:
          type: string
        start_line:
          type: integer
        end_line:
          type: integer
        validation_result:
          type: boolean
    ConfigDefinition:
      type: object
      additionalProperties: false
      properties:
        rulesets:
          type: array
          items:
            $ref: '#/components/schemas/ConfigRuleset'
    ComplianceResult:
      type: object
      additionalProperties: true
      properties:
        total_results:
          type: integer
        created_at:
          type: string
          format: date-time
        results:
          type: array
          items:
            $ref: '#/components/schemas/ResultResponse'
    ProductDefinition:
      type: object
      additionalProperties: true
      properties:
        product:
          type: string
          enum:
          - 1.0.0
        info:
          type: object
          additionalProperties: true
          required:
          - name
          - version
          properties:
            name:
              type: string
            version:
              type: string
    OpenApi2Definition:
      type: object
      additionalProperties: true
      properties:
        swagger:
          type: string
          enum:
          - 2.0.0
        info:
          type: object
          additionalProperties: true
          required:
          - title
          - version
          properties:
            title:
              type: string
            version:
              type: string
  parameters:
    scan_type:
      name: scan_type
      in: query
      description: Optional type for Scan
      required: false
      schema:
        type: string
    org:
      name: org
      in: path
      description: Organization name or id
      required: true
      schema:
        type: string
    is_gateway_scan:
      name: is_gateway_scan
      in: query
      description: When set to true, sets scan as gateway scan
      required: false
      schema:
        type: boolean
    rulesets:
      name: rulesets
      in: query
      description: Define one or more rulesets to be used by providing the name in the format rulesetName1,rulesetName2 with no spaces when separating names by comma. If one ruleset name is mentioned no comma should be used.
      required: false
      schema:
        type: string
    scan:
      name: scan
      in: path
      description: Scan name or id
      required: true
      schema:
        type: string
    scantitle:
      name: scantitle
      in: query
      description: Optional title for Scan
      required: false
      schema:
        type: string
  responses:
    Error:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/yaml:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /oauth2/authorize
          scopes:
            org:manage: Delete all user created rulesets, Update the Ruleset object by name or id, Delete the Ruleset object by name or id, Create a Rule object, Delete all versions of a Rule by name for a single version of a Ruleset, Update the Rule object by id, Delete a single user created Rule in a single Ruleset by id, Update the Rule object by name and version, Delete the Rule object by name and version, Create a Scan object, Clear the Scan objects, Update the Scan object by name or id, Delete the Scan object by name or id, Create a Scan Report object, Update the Scan Report object by name or id, Delete the Scan Report object by name or id
            org:view: List the Ruleset objects, Download the Ruleset object as a file to the current directory by name or id, List information about all Rules of a Ruleset, List information about the specified Rule of a Ruleset, Download the Rule object as a file to the current directory by id, Download the Rule object as a file to the current directory by name:version or id, List the Scan objects, Get the Scan object by name or id, List the Scan Report objects, Get the Scan Report object by name or id
            cloud:manage: List all rules, Scan Gateway APIs, Create Gateway Scan, Clear the Gateway Scan objects, Update Gateway Scan by ID, Delete Gateway Scan by ID
            cloud:view: List all rules, List Gateway Scans, Get Gateway Scan by ID
            product:manage: Create a catalog setting by name or id, Validate product api using catalog governance setting
        password:
          tokenUrl: /token
          refreshUrl: /token
          scopes:
            org:manage: Delete all user created rulesets, Update the Ruleset object by name or id, Delete the Ruleset object by name or id, Create a Rule object, Delete all versions of a Rule by name for a single version of a Ruleset, Update the Rule object by id, Delete a single user created Rule in a single Ruleset by id, Update the Rule object by name and version, Delete the Rule object by name and version, Create a Scan object, Clear the Scan objects, Update the Scan object by name or id, Delete the Scan object by name or id, Create a Scan Report object, Update the Scan Report object by name or id, Delete the Scan Report object by name or id
            org:view: List the Ruleset objects, Download the Ruleset object as a file to the current directory by name or id, List information about all Rules of a Ruleset, List information about the specified Rule of a Ruleset, Download the Rule object as a file to the current directory by id, Download the Rule object as a file to the current directory by name:version or id, List the Scan objects, Get the Scan object by name or id, List the Scan Report objects, Get the Scan Report object by name or id
            cloud:manage: List all rules, Scan Gateway APIs, Create Gateway Scan, Clear the Gateway Scan objects, Update Gateway Scan by ID, Delete Gateway Scan by ID
            cloud:view: List all rules, List Gateway Scans, Get Gateway Scan by ID
            product:manage: Create a catalog setting by name or id, Validate product api using catalog governance setting
        clientCredentials:
          tokenUrl: /token
          scopes:
            org:manage: Delete all user created rulesets, Update the Ruleset object by name or id, Delete the Ruleset object by name or id, Create a Rule object, Delete all versions of a Rule by name for a single version of a Ruleset, Update the Rule object by id, Delete a single user created Rule in a single Ruleset by id, Update the Rule object by name and version, Delete the Rule object by name and version, Create a Scan object, Clear the Scan objects, Update the Scan object by name or id, Delete the Scan object by name or id, Create a Scan Report object, Update the Scan Report object by name or id, Delete the Scan Report object by name or id
            org:view: List the Ruleset objects, Download the Ruleset object as a file to the current directory by name or id, List information about all Rules of a Ruleset, List information about the specified Rule of a Ruleset, Download the Rule object as a file to the current directory by id, Download the Rule object as a file to the current directory by name:version or id, List the Scan objects, Get the Scan object by name or id, List the Scan Report objects, Get the Scan Report object by name or id
            cloud:manage: List all rules, Scan Gateway APIs, Create Gateway Scan, Clear the Gateway Scan objects, Update Gateway Scan by ID, Delete Gateway Scan by ID
            cloud:view: List all rules, List Gateway Scans, Get Gateway Scan by ID
            product:manage: Create a catalog setting by name or id, Validate product api using catalog governance setting
        authorizationCode:
          authorizationUrl: /oauth2/authorize
          tokenUrl: /token
          refreshUrl: /token
          scopes:
            org:manage: Delete all user created rulesets, Update the Ruleset object by name or id, Delete the Ruleset object by name or id, Create a Rule object, Delete all versions of a Rule by name for a single version of a Ruleset, Update the Rule object by id, Delete a single user created Rule in a single Ruleset by id, Update the Rule object by name and version, Delete the Rule object by name and version, Create a Scan object, Clear the Scan objects, Update the Scan object by name or id, Delete the Scan object by name or id, Create a Scan Report object, Update the Scan Report object by name or id, Delete the Scan Report object by name or id
            org:view: List the Ruleset objects, Download the Ruleset object as a file to the current directory by name or id, List information about all Rules of a Ruleset, List information about the specified Rule of a Ruleset, Download the Rule object as a file to the current directory by id, Download the Rule object as a file to the current directory by name:version or id, List the Scan objects, Get the Scan object by name or id, List the Scan Report objects, Get the Scan Report object by name or id
            cloud:manage: List all rules, Scan Gateway APIs, Create Gateway Scan, Clear the Gateway Scan objects, Update Gateway Scan by ID, Delete Gateway Scan by ID
            cloud:view: List all rules, List Gateway Scans, Get Gateway Scan by ID
            product:manage: Create a catalog setting by name or id, Validate product api using catalog governance setting
externalDocs:
  description: Additional documentation
  url: https://www.ibm.com/knowledge-center/api-connect/platform-apis
x-ibm-configuration:
  testable: false