Skip to content
frama-c-openapi.yaml 2.66 KiB
Newer Older
openapi: 3.0.0
info:
  title: FramaCRestfulApiForPkm
  description: API of Frama-C
  version: 1.0.0
  contact:
    email: decoder@decoder-project.eu
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  - url: https://frama-c:8081
paths:
  /frama_c/{dbName}:
    post:
      operationId: frama_c
      parameters:
        - name: dbName
          description: Database name from where to get source code/header files and put analysis results
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/keyParam'
      requestBody:
        content:
          application/json:
            schema:
              type : object
              properties:
                source_file_paths:
                  description: Source Code filenames
                  type: array
                  items:
                    type: string
                header_file_paths:
                  description: Source Header filenames
                  type: array
                  items:
                    type: string
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  stdout:
                    type: string
                  stderr:
                    type: string
        400:
          description: Bad request
          content:
            application/json:
              schema:
                type: string
                description: error message
        401:
          description: Unauthorized operation, returns an error message
          content:
            application/json:
              schema:
                type: string
                description: error message
        403:
          description: Forbidden operation, returns an error message
          content:
            application/json:
              schema:
                type: string
                description: error message
        404:
          description: Not found, returns an error message
          content:
            application/json:
              schema:
                type: string
                description: error message
        500:
          description: Internal Server Error, returns an error message
          content:
            application/json:
              schema:
                type: string
                description: error message
components:
  parameters:
    keyParam:
      name: key
      description: Access key to the PKM (optional, depending on server configuration)
      in: header
      schema:
        type: string