Checkmarx Projects API

Manage scanning projects and their configuration

OpenAPI Specification

checkmarx-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Checkmarx One Applications Projects API
  description: Unified REST API for the Checkmarx One cloud-native application security platform, providing consolidated access to SAST, SCA, KICS, and other security scanning capabilities through a single API with project management, scan orchestration, and results retrieval.
  version: '1.0'
  contact:
    name: Checkmarx Support
    url: https://support.checkmarx.com/
  termsOfService: https://checkmarx.com/terms-of-use/
servers:
- url: https://ast.checkmarx.net/api
  description: Checkmarx One (US)
- url: https://eu.ast.checkmarx.net/api
  description: Checkmarx One (EU)
security:
- bearerAuth: []
tags:
- name: Projects
  description: Manage scanning projects and their configuration
paths:
  /projects:
    get:
      operationId: listProjects
      summary: Checkmarx List projects
      description: Retrieve all projects with optional filtering by name, group, or tag.
      tags:
      - Projects
      parameters:
      - name: offset
        in: query
        description: Pagination offset
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: Number of results to return
        schema:
          type: integer
          default: 20
      - name: name
        in: query
        description: Filter by project name
        schema:
          type: string
      - name: groups
        in: query
        description: Filter by group IDs (comma-separated)
        schema:
          type: string
      - name: tags-keys
        in: query
        description: Filter by tag keys
        schema:
          type: string
      - name: tags-values
        in: query
        description: Filter by tag values
        schema:
          type: string
      responses:
        '200':
          description: List of projects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectListResponse'
        '401':
          description: Unauthorized
    post:
      operationId: createProject
      summary: Checkmarx Create a project
      description: Create a new project for security scanning. A project represents a code repository or application component to be scanned.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '201':
          description: Project created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /projects/{projectId}:
    get:
      operationId: getProject
      summary: Checkmarx Get project details
      description: Retrieve details of a specific project by ID.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    put:
      operationId: updateProject
      summary: Checkmarx Update a project
      description: Update an existing project's configuration.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
      responses:
        '204':
          description: Project updated
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    delete:
      operationId: deleteProject
      summary: Checkmarx Delete a project
      description: Delete a project and all its associated scans and results.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '204':
          description: Project deleted
        '401':
          description: Unauthorized
        '404':
          description: Project not found
  /projects/{projectId}/sourceCode/remoteSettings/git:
    get:
      operationId: getProjectGitSettings
      summary: Checkmarx Get Git remote source settings
      description: Retrieve the Git repository settings for a project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId_2'
      responses:
        '200':
          description: Git remote settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitSettings'
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    post:
      operationId: setProjectGitSettings
      summary: Checkmarx Set Git remote source settings
      description: Configure the Git repository source settings for a project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId_2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitSettings'
      responses:
        '204':
          description: Git settings updated
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /risk-management/projects:
    get:
      operationId: listProjects
      summary: Checkmarx List all projects
      description: Retrieve a list of all SCA projects for the authenticated tenant.
      tags:
      - Projects
      responses:
        '200':
          description: List of projects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project_3'
        '401':
          description: Unauthorized
    post:
      operationId: createProject
      summary: Checkmarx Create a new project
      description: Create a new SCA project for scanning open source dependencies.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest_3'
      responses:
        '201':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project_3'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /risk-management/projects/{projectId}:
    get:
      operationId: getProject
      summary: Checkmarx Get project details
      description: Retrieve details of a specific SCA project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project_3'
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    put:
      operationId: updateProject
      summary: Checkmarx Update a project
      description: Update the configuration of an existing SCA project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest_3'
      responses:
        '204':
          description: Project updated
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    delete:
      operationId: deleteProject
      summary: Checkmarx Delete a project
      description: Delete an SCA project and all associated scan data.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '204':
          description: Project deleted
        '401':
          description: Unauthorized
        '404':
          description: Project not found
components:
  schemas:
    ProjectListResponse:
      type: object
      properties:
        totalCount:
          type: integer
          description: Total number of projects
        filteredTotalCount:
          type: integer
          description: Total count after filtering
        projects:
          type: array
          items:
            $ref: '#/components/schemas/Project'
    GitSettings:
      type: object
      required:
      - url
      - branch
      properties:
        url:
          type: string
          description: Git repository URL
        branch:
          type: string
          description: Branch to scan
        privateKey:
          type: string
          description: SSH private key for authentication
    CreateProjectRequest_3:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Project name
        assignedTeams:
          type: array
          items:
            type: string
          description: Team IDs to assign to the project
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Project unique identifier
        name:
          type: string
          description: Project name
        groups:
          type: array
          items:
            type: string
          description: Group IDs the project belongs to
        repoUrl:
          type: string
          description: Repository URL
        mainBranch:
          type: string
          description: Main branch name
        origin:
          type: string
          description: Project creation origin
        tags:
          type: object
          additionalProperties:
            type: string
          description: Key-value tags
        criticality:
          type: integer
          description: Project criticality level (1-5)
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
    CreateProjectRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          description: Project name
        groups:
          type: array
          items:
            type: string
          description: Group IDs to assign
        repoUrl:
          type: string
          description: Source repository URL
        mainBranch:
          type: string
          description: Main branch name
          default: main
        origin:
          type: string
          description: Project origin
        tags:
          type: object
          additionalProperties:
            type: string
        criticality:
          type: integer
          description: Project criticality (1-5)
          default: 3
    UpdateProjectRequest:
      type: object
      properties:
        name:
          type: string
          description: Project name
        groups:
          type: array
          items:
            type: string
        repoUrl:
          type: string
        mainBranch:
          type: string
        tags:
          type: object
          additionalProperties:
            type: string
        criticality:
          type: integer
    UpdateProjectRequest_3:
      type: object
      properties:
        name:
          type: string
          description: Updated project name
        assignedTeams:
          type: array
          items:
            type: string
          description: Updated team assignments
    Project_3:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Project unique identifier
        name:
          type: string
          description: Project name
        createdOn:
          type: string
          format: date-time
          description: Project creation timestamp
        tenantId:
          type: string
          description: Tenant identifier
        assignedTeams:
          type: array
          items:
            type: string
          description: Teams assigned to the project
        lastScanDate:
          type: string
          format: date-time
          description: Timestamp of the most recent scan
        riskScore:
          type: number
          format: float
          description: Overall risk score for the project
        totalPackages:
          type: integer
          description: Total number of packages detected
        highVulnerabilityCount:
          type: integer
          description: Number of high severity vulnerabilities
        mediumVulnerabilityCount:
          type: integer
          description: Number of medium severity vulnerabilities
        lowVulnerabilityCount:
          type: integer
          description: Number of low severity vulnerabilities
  parameters:
    projectId_2:
      name: projectId
      in: path
      required: true
      description: Project unique identifier
      schema:
        type: integer
    projectId:
      name: projectId
      in: path
      required: true
      description: Project unique identifier
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token obtained via client credentials from the Checkmarx One IAM service
externalDocs:
  description: Checkmarx One API Documentation
  url: https://checkmarx.com/resource/documents/en/34965-128036-checkmarx-one-api.html