StackRox ImageService API

The ImageService API from StackRox — 5 operation(s) for imageservice.

Operations 6

GET /v1/images ListImages returns all the images. #
DELETE /v1/images DeleteImage removes the images based on a query #
GET /v1/images/cache/invalidate InvalidateScanAndRegistryCaches removes the image metadata cache. #
POST /v1/images/scan ScanImage scans a single image and returns the result #
GET /v1/images/{id} GetImage returns the image given its ID. #
GET /v1/imagescount ListImages returns all the images. #

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/stackrox-imageservice-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

stackrox-imageservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference AlertService Image Service API
  version: '1'
  description: API reference for the StackRox Kubernetes Security Platform (upstream of Red Hat Advanced Cluster Security). Provides risk analysis, visibility, runtime alerts, policy management, compliance checking, and vulnerability management for containerized workloads. Authentication uses API tokens generated via /v1/apitokens/generate and passed as Bearer tokens.
  contact:
    email: support@stackrox.com
    url: https://www.stackrox.io/
  license:
    name: All Rights Reserved
    url: https://www.stackrox.com/
servers:
- url: https://{central-host}
  description: StackRox Central API server
  variables:
    central-host:
      default: stackrox.localhost
      description: StackRox Central hostname or IP
security:
- ApiToken: []
tags:
- name: ImageService
paths:
  /v1/images:
    get:
      summary: ListImages returns all the images.
      operationId: ListImages
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1ListImagesResponse'
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: pagination.limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pagination.offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pagination.sort_option.field
        in: query
        required: false
        schema:
          type: string
      - name: pagination.sort_option.reversed
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      tags:
      - ImageService
    delete:
      summary: DeleteImage removes the images based on a query
      operationId: DeleteImages
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1DeleteImagesResponse'
      parameters:
      - name: query.query
        in: query
        required: false
        schema:
          type: string
      - name: query.pagination.limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: query.pagination.offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: query.pagination.sort_option.field
        in: query
        required: false
        schema:
          type: string
      - name: query.pagination.sort_option.reversed
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      - name: confirm
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      tags:
      - ImageService
  /v1/images/cache/invalidate:
    get:
      summary: InvalidateScanAndRegistryCaches removes the image metadata cache.
      operationId: InvalidateScanAndRegistryCaches
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1Empty'
      tags:
      - ImageService
  /v1/images/scan:
    post:
      summary: ScanImage scans a single image and returns the result
      operationId: ScanImage
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageImage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1ScanImageRequest'
        required: true
      tags:
      - ImageService
  /v1/images/{id}:
    get:
      summary: GetImage returns the image given its ID.
      operationId: GetImage
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/storageImage'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      tags:
      - ImageService
  /v1/imagescount:
    get:
      summary: ListImages returns all the images.
      operationId: CountImages
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1CountImagesResponse'
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: pagination.limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pagination.offset
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: pagination.sort_option.field
        in: query
        required: false
        schema:
          type: string
      - name: pagination.sort_option.reversed
        in: query
        required: false
        schema:
          type: boolean
          format: boolean
      tags:
      - ImageService
components:
  schemas:
    storageCVSSV3Severity:
      type: string
      enum:
      - UNKNOWN
      - NONE
      - LOW
      - MEDIUM
      - HIGH
      - CRITICAL
      default: UNKNOWN
    storageEmbeddedVulnerabilityScoreVersion:
      type: string
      enum:
      - V2
      - V3
      default: V2
    storageImage:
      type: object
      properties:
        id:
          type: string
        name:
          $ref: '#/components/schemas/storageImageName'
        metadata:
          $ref: '#/components/schemas/storageImageMetadata'
        scan:
          $ref: '#/components/schemas/storageImageScan'
        components:
          type: integer
          format: int32
        cves:
          type: integer
          format: int32
        fixableCves:
          type: integer
          format: int32
        lastUpdated:
          type: string
          format: date-time
        notPullable:
          type: boolean
          format: boolean
        priority:
          type: string
          format: int64
      title: 'Next Tag: 12'
    storageCVSSV3AttackVector:
      type: string
      enum:
      - ATTACK_LOCAL
      - ATTACK_ADJACENT
      - ATTACK_NETWORK
      - ATTACK_PHYSICAL
      default: ATTACK_LOCAL
    storageCVSSV2AttackVector:
      type: string
      enum:
      - ATTACK_LOCAL
      - ATTACK_ADJACENT
      - ATTACK_NETWORK
      default: ATTACK_LOCAL
    storageCVSSV3Scope:
      type: string
      enum:
      - UNCHANGED
      - CHANGED
      default: UNCHANGED
    storageImageLayer:
      type: object
      properties:
        instruction:
          type: string
        value:
          type: string
        created:
          type: string
          format: date-time
        author:
          type: string
        DEPRECATEDComponents:
          type: array
          items:
            $ref: '#/components/schemas/storageEmbeddedImageScanComponent'
        empty:
          type: boolean
          format: boolean
    v1ScanImageRequest:
      type: object
      properties:
        imageName:
          type: string
        force:
          type: boolean
          format: boolean
    storageImageMetadata:
      type: object
      properties:
        v1:
          $ref: '#/components/schemas/storageV1Metadata'
        v2:
          $ref: '#/components/schemas/storageV2Metadata'
        layerShas:
          type: array
          items:
            type: string
          title: We never need both sets of layers so consolidate them. They will be ordered by oldest->newest
    CVSSV3Privileges:
      type: string
      enum:
      - PRIVILEGE_NONE
      - PRIVILEGE_LOW
      - PRIVILEGE_HIGH
      default: PRIVILEGE_NONE
    v1DeleteImagesResponse:
      type: object
      properties:
        numDeleted:
          type: integer
          format: int64
        dryRun:
          type: boolean
          format: boolean
    CVSSV3UserInteraction:
      type: string
      enum:
      - UI_NONE
      - UI_REQUIRED
      default: UI_NONE
    v1ListImagesResponse:
      type: object
      properties:
        images:
          type: array
          items:
            $ref: '#/components/schemas/storageListImage'
    EmbeddedVulnerabilityVulnerabilityType:
      type: string
      enum:
      - UNKNOWN_VULNERABILITY
      - IMAGE_VULNERABILITY
      - K8S_VULNERABILITY
      - ISTIO_VULNERABILITY
      default: UNKNOWN_VULNERABILITY
    storageCVSSV2Impact:
      type: string
      enum:
      - IMPACT_NONE
      - IMPACT_PARTIAL
      - IMPACT_COMPLETE
      default: IMPACT_NONE
    storageEmbeddedVulnerability:
      type: object
      properties:
        cve:
          type: string
        cvss:
          type: number
          format: float
        summary:
          type: string
        link:
          type: string
        fixedBy:
          type: string
        scoreVersion:
          $ref: '#/components/schemas/storageEmbeddedVulnerabilityScoreVersion'
        cvssV2:
          $ref: '#/components/schemas/storageCVSSV2'
        cvssV3:
          $ref: '#/components/schemas/storageCVSSV3'
        publishedOn:
          type: string
          format: date-time
        lastModified:
          type: string
          format: date-time
        vulnerabilityType:
          $ref: '#/components/schemas/EmbeddedVulnerabilityVulnerabilityType'
      title: 'TODO: Remove when migration is in place'
    storageCVSSV3Impact:
      type: string
      enum:
      - IMPACT_NONE
      - IMPACT_LOW
      - IMPACT_HIGH
      default: IMPACT_NONE
    storageCVSSV2Severity:
      type: string
      enum:
      - UNKNOWN
      - LOW
      - MEDIUM
      - HIGH
      default: UNKNOWN
    storageCVSSV2:
      type: object
      properties:
        vector:
          type: string
        attackVector:
          $ref: '#/components/schemas/storageCVSSV2AttackVector'
        accessComplexity:
          $ref: '#/components/schemas/CVSSV2AccessComplexity'
        authentication:
          $ref: '#/components/schemas/CVSSV2Authentication'
        confidentiality:
          $ref: '#/components/schemas/storageCVSSV2Impact'
        integrity:
          $ref: '#/components/schemas/storageCVSSV2Impact'
        availability:
          $ref: '#/components/schemas/storageCVSSV2Impact'
        exploitabilityScore:
          type: number
          format: float
        impactScore:
          type: number
          format: float
        score:
          type: number
          format: float
        severity:
          $ref: '#/components/schemas/storageCVSSV2Severity'
    v1CountImagesResponse:
      type: object
      properties:
        count:
          type: integer
          format: int32
    storageImageName:
      type: object
      properties:
        registry:
          type: string
        remote:
          type: string
        tag:
          type: string
        fullName:
          type: string
    storageEmbeddedImageScanComponent:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        license:
          $ref: '#/components/schemas/storageLicense'
        vulns:
          type: array
          items:
            $ref: '#/components/schemas/storageEmbeddedVulnerability'
        layerIndex:
          type: integer
          format: int32
        priority:
          type: string
          format: int64
        source:
          $ref: '#/components/schemas/EmbeddedImageScanComponentSourceType'
        location:
          type: string
      title: 'TODO: Remove when migration is in place'
    storageListImage:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        components:
          type: integer
          format: int32
        cves:
          type: integer
          format: int32
        fixableCves:
          type: integer
          format: int32
        created:
          type: string
          format: date-time
        lastUpdated:
          type: string
          format: date-time
        priority:
          type: string
          format: int64
    storageImageScan:
      type: object
      properties:
        scanTime:
          type: string
          format: date-time
        components:
          type: array
          items:
            $ref: '#/components/schemas/storageEmbeddedImageScanComponent'
    CVSSV3Complexity:
      type: string
      enum:
      - COMPLEXITY_LOW
      - COMPLEXITY_HIGH
      default: COMPLEXITY_LOW
    storageV2Metadata:
      type: object
      properties:
        digest:
          type: string
    storageCVSSV3:
      type: object
      properties:
        vector:
          type: string
        exploitabilityScore:
          type: number
          format: float
        impactScore:
          type: number
          format: float
        attackVector:
          $ref: '#/components/schemas/storageCVSSV3AttackVector'
        attackComplexity:
          $ref: '#/components/schemas/CVSSV3Complexity'
        privilegesRequired:
          $ref: '#/components/schemas/CVSSV3Privileges'
        userInteraction:
          $ref: '#/components/schemas/CVSSV3UserInteraction'
        scope:
          $ref: '#/components/schemas/storageCVSSV3Scope'
        confidentiality:
          $ref: '#/components/schemas/storageCVSSV3Impact'
        integrity:
          $ref: '#/components/schemas/storageCVSSV3Impact'
        availability:
          $ref: '#/components/schemas/storageCVSSV3Impact'
        score:
          type: number
          format: float
        severity:
          $ref: '#/components/schemas/storageCVSSV3Severity'
    EmbeddedImageScanComponentSourceType:
      type: string
      enum:
      - OS
      - PYTHON
      - JAVA
      - RUBY
      - NODEJS
      default: OS
    v1Empty:
      type: object
    storageLicense:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        url:
          type: string
    CVSSV2AccessComplexity:
      type: string
      enum:
      - ACCESS_HIGH
      - ACCESS_MEDIUM
      - ACCESS_LOW
      default: ACCESS_HIGH
    CVSSV2Authentication:
      type: string
      enum:
      - AUTH_MULTIPLE
      - AUTH_SINGLE
      - AUTH_NONE
      default: AUTH_MULTIPLE
    storageV1Metadata:
      type: object
      properties:
        digest:
          type: string
        created:
          type: string
          format: date-time
        author:
          type: string
        layers:
          type: array
          items:
            $ref: '#/components/schemas/storageImageLayer'
        user:
          type: string
        command:
          type: array
          items:
            type: string
        entrypoint:
          type: array
          items:
            type: string
        volumes:
          type: array
          items:
            type: string
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: 'StackRox API token. Format: Bearer {token}'