Kondukto Users API

The Users API from Kondukto — 2 operation(s) for users.

OpenAPI Specification

kondukto-users-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Invicti ASPM (Kondukto) REST API v2 Authorization Managers Users API
  version: '2.0'
  description: Public REST API v2 for the Invicti ASPM platform (formerly Kondukto), an Application Security Posture Management platform that centralizes SAST, DAST, SCA, container and pentest findings from more than eighty scanners. The API manages projects, products, teams, labels, scans and vulnerabilities, and is the same public API the open-source KDT command-line client uses. Assembled by API Evangelist from the per-operation OpenAPI 3.1 definitions Kondukto publishes on each page of its API reference.
  contact:
    name: Kondukto Support
    email: support@kondukto.io
    url: https://docs.kondukto.io/reference/starting-with-kondukto-api
  x-origin:
  - format: openapi
    version: '3.1'
    url: https://docs.kondukto.io/reference/starting-with-kondukto-api
servers:
- url: https://{hostname}
  description: 'Invicti ASPM deployment host. The platform is deployed per customer (self-hosted or dedicated tenant), so there is no single shared public endpoint: set this to your own instance, the same value KDT reads from INVICTI_ASPM_HOST. The provider''s own published definitions leave this variable with the literal placeholder default "hostname"; api.kondukto.io is used here as a real, provider-owned default. It resolves but answers 403 to unauthenticated requests.'
  variables:
    hostname:
      default: api.kondukto.io
      description: Hostname of your Invicti ASPM instance.
security:
- apiToken: []
tags:
- name: Users
paths:
  /api/v2/users/:
    get:
      summary: Get Users
      description: Return users. Query users by username or email
      operationId: get-users
      parameters:
      - name: start
        in: query
        description: Offset for pagination
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: How many records will return
        schema:
          type: integer
          format: int32
          default: 30
      - name: q
        in: query
        description: Username or email (Contains)
        schema:
          type: string
      - name: X-Cookie
        in: header
        description: Personal Access Token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    limit: 30
                    start: 0
                    total: 3
                    users:
                    - id: '{userID}'
                      username: '{username}'
                      email: '{email}'
                      teams:
                      - '{teamID}'
                      - '{teamID}'
                    - id: '{userID}'
                      username: '{username}'
                      email: '{email}'
                      teams:
                      - '{teamID}'
                      - '{teamID}'
                    - id: '{userID}'
                      username: '{username}'
                      email: '{email}'
                      teams:
                      - '{teamID}'
              schema:
                type: object
                properties:
                  limit:
                    type: integer
                    example: 30
                    default: 0
                  start:
                    type: integer
                    example: 0
                    default: 0
                  total:
                    type: integer
                    example: 3
                    default: 0
                  users:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: '{userID}'
                        username:
                          type: string
                          example: '{username}'
                        email:
                          type: string
                          example: '{email}'
                        teams:
                          type: array
                          items:
                            type: string
                            example: '{teamID}'
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value:
                    error: failed to authorize
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: failed to authorize
      deprecated: false
      tags:
      - Users
  /api/v2/users/{userID}:
    get:
      summary: Get User Details
      description: Returns a user's details
      operationId: get-user-details
      parameters:
      - name: userD
        in: path
        description: User ID
        schema:
          type: string
        required: true
      - name: X-Cookie
        in: header
        description: Personal Access Token
        required: true
        schema:
          type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    id: '{userID}'
                    username: '{username}'
                    email: '{email}'
                    teams:
                    - '{teamID}'
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: '{userID}'
                  username:
                    type: string
                    example: '{username}'
                  email:
                    type: string
                    example: '{email}'
                  teams:
                    type: array
                    items:
                      type: string
                      example: '{teamID}'
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value:
                    error: failed to get users
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: failed to get users
        '401':
          description: '401'
          content:
            application/json:
              examples:
                Result:
                  value:
                    error: failed to authorize
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: failed to authorize
      deprecated: false
      tags:
      - Users
components:
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: X-Cookie
      description: Kondukto-issued API token. Generate it in the UI under Integrations > Personal Access Token (shown once). Sent on every request in the X-Cookie header.