swagger: "2.0"
schemes:
  - https
host: app.code-scan.com
basePath: /api
info:
  contact:
    email: support@villagechief.com
    name: VillageChief Support
    url: http://www.code-scan.com
    x-twitter: CodeScanforSFDC
  description: Manage your Hosted CodeScan Service
  license:
    name: Commercial
    url: https://app.code-scan.com/site/terms
  termsOfService: https://app.code-scan.com/site/terms
  title: CodeScan API
  version: 1.0.0
  x-apisguru-categories:
    - developer_tools
  x-logo:
    url: https://twitter.com/CodeScanforSFDC/profile_image?size=original
  x-origin:
    - format: swagger
      url: https://www.code-scan.com/api.swagger.yaml
      version: "2.0"
  x-providerName: code-scan.com
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  codescan_auth:
    description: CodeScan uses Basic Authentication. The username should be your Subscription Id and the Password your api_key available on the subscription page.
    type: basic
paths:
  /job:
    get:
      description: Fetches the status of a job
      parameters:
        - description: Id of the Job to retrieve
          in: query
          name: jobId
          required: true
          type: string
      responses:
        "200":
          description: Profile information for a user
          schema:
            $ref: "#/definitions/Job"
        default:
          description: Unexpected error
          schema:
            $ref: "#/definitions/Error"
      security:
        - codescan_auth: []
      summary: Get the status of a job
    post:
      description: Creates a new job
      parameters:
        - description: Id of the Job to retrieve
          in: body
          name: job
          required: true
          schema:
            $ref: "#/definitions/NewJob"
      responses:
        "200":
          description: Profile information for a user
          schema:
            $ref: "#/definitions/Job"
        default:
          description: Unexpected error
          schema:
            $ref: "#/definitions/Error"
      security:
        - codescan_auth: []
      summary: Queues a job
definitions:
  Error:
    properties:
      error:
        description: generally set to 1
        type: number
      message:
        description: Message of the error
        type: string
    type: object
  Job:
    properties:
      alert:
        description: Quality Gate status of a completed job
        type: string
      alertDescription:
        description: Quality Gate errors of a completed job
        type: string
      analysisMode:
        description: When set to preview, analysis is not added to the database
        type: string
      commit:
        description: The git commit that this job is evaluating
        type: string
      created:
        description: DateTime that this job was queued
        format: dateTime
        type: string
      emailReportTo:
        description: List of usernames to email the report to
        type: string
      finished:
        description: If the job has finished, then the datetime that the job finished processing
        format: dateTime
        type: string
      jobId:
        description: The jobId of this job
        type: string
      projectBranch:
        description: The project branch that this job is evaluating
        type: string
      projectKey:
        description: The projectKey that this job is running
        type: string
      started:
        description: If the job has started, then the datetime that the job started processing
        format: dateTime
        type: string
      status:
        description: The status of the job
        type: string
      url:
        description: The url to view the output report
        type: string
      version:
        description: The project version that this job is evaluating
        type: string
      warnings:
        description: When creating a new job, any warnings will be listed here.
        type: string
    type: object
  NewJob:
    properties:
      analysisMode:
        description: When set to preview, analysis is not added to the database
        type: string
      commitOverride:
        description: When the project is based on git, the git commit that this job should run. Leave blank to use the project's default
        type: string
      emailReportTo:
        description: List of usernames to email the report to
        type: string
      projectBranch:
        description: he project branch that this job is evaluating
        type: string
      projectKey:
        description: The key of the project to start
        type: string
      version:
        description: Use this as the analysis' version. On success the Project's default version will be set to this
        type: string
    required:
      - projectKey
    type: object
