Secure Code Warrior Assessments API

The Assessments API from Secure Code Warrior — 3 operation(s) for assessments.

OpenAPI Specification

secure-code-warrior-assessments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Secure Code Warrior Portal Assessments API
  description: The Secure Code Warrior Portal API provides programmatic access to the developer security training platform. Manage users, teams, training progress, assessments, tournaments, courses, programs, metrics, and audit logs. Supports multiple API key types for granular access control across US and EU regions.
  version: 2.0.0
  contact:
    url: https://portal-api.securecodewarrior.com/api/docs/v2/
servers:
- url: https://portal-api.securecodewarrior.com/api/v2
  description: Secure Code Warrior Portal API - US
- url: https://portal-api.eu.securecodewarrior.com/api/v2
  description: Secure Code Warrior Portal API - EU
security:
- apiKey: []
tags:
- name: Assessments
paths:
  /assessments:
    get:
      operationId: listAssessments
      summary: List Assessments
      description: Returns a list of Assessment objects within the organization.
      tags:
      - Assessments
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: startdate
        in: query
        schema:
          type: string
          format: date
      - name: enddate
        in: query
        schema:
          type: string
          format: date
      responses:
        '200':
          description: List of assessments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssessmentsResponse'
  /assessments/{assessment_id}/attempts:
    get:
      operationId: listAssessmentAttempts
      summary: List Assessment Attempts
      description: Get detailed assessment attempt reports for a specific assessment.
      tags:
      - Assessments
      parameters:
      - name: assessment_id
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: developer
        in: query
        description: Filter by developer email
        schema:
          type: string
      - name: startdate
        in: query
        schema:
          type: string
          format: date
      - name: enddate
        in: query
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Assessment attempts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttemptsResponse'
  /assessments/{assessment_id}/assign:
    post:
      operationId: assignAssessment
      summary: Assign Assessment
      description: Assign an assessment to users or teams.
      tags:
      - Assessments
      parameters:
      - name: assessment_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: string
                  description: List of user emails to assign
                teams:
                  type: array
                  items:
                    type: string
                  description: List of team IDs to assign
                sendEmail:
                  type: boolean
                  description: Send assignment notification email
                  default: true
      responses:
        '200':
          description: Assessment assigned successfully
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        role:
          type: string
        teams:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
        lastActiveAt:
          type: string
          format: date-time
    AttemptsResponse:
      type: object
      properties:
        attempts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              developer:
                $ref: '#/components/schemas/User'
              score:
                type: number
              completed:
                type: boolean
              startedAt:
                type: string
                format: date-time
              completedAt:
                type: string
                format: date-time
        total:
          type: integer
        page:
          type: integer
    AssessmentsResponse:
      type: object
      properties:
        assessments:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              status:
                type: string
                enum:
                - active
                - inactive
                - draft
              language:
                type: string
              difficulty:
                type: string
                enum:
                - beginner
                - intermediate
                - advanced
              createdAt:
                type: string
                format: date-time
        total:
          type: integer
        page:
          type: integer
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Report API key, Admin API key, or Team API Key