Overops General API

Fetch general information about provisioned OverOps enviroments

OpenAPI Specification

overops-general-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: v1
  title: Services Alerts General API
  contact:
    email: hello@overops.com
  description: "Main OverOps API.\nThe REST API layer enables OverOps admins and users to perform and automate all actions\nprovided by the OverOps UI available at https://app.overops.com (or On-premises equivalent URL) via a platform independent programmatic interface.\nA wrapper Java client API library that leverages these APIs for convenience by\nJava and Scala developers is available at https://github.com/takipi/api-client and on Maven Central.\n\nAll calls must be authenticated using one of the following methods:\n  1. Using `x-api-key` header (To generate the token, go to `Settings` --> `Account Settings` in the OverOps App). This is the recommended method.\n  2. Using Basic auth with `username:password` combo.\n"
servers:
- url: https://api.overops.com/api/v1
security:
- basicAuth: []
- ApiKeyAuth: []
tags:
- name: General
  description: Fetch general information about provisioned OverOps enviroments
paths:
  /services:
    get:
      tags:
      - General
      summary: List all environments
      description: List all environments accessible to the calling user
      parameters:
      - in: query
        name: name
        description: Environment key name
        schema:
          type: string
      responses:
        '200':
          description: List of all accessible environments to the calling user
          content:
            '*/*':
              schema:
                type: object
                properties:
                  services:
                    type: array
                    description: list of environment
                    items:
                      $ref: '#/components/schemas/EnvironmentWithRole'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
    put:
      tags:
      - General
      summary: Generate a new environment key
      description: Defines a new environment
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
      responses:
        '200':
          description: New environment key properties
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EnvironmentBasic'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}:
    get:
      tags:
      - General
      summary: Get information about an environment
      description: Get information about an environment
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Environment data
          content:
            '*/*':
              schema:
                type: object
                properties:
                  services:
                    type: array
                    description: Data for a single environment
                    items:
                      $ref: '#/components/schemas/EnvironmentBasic'
    post:
      tags:
      - General
      summary: Rename an environment
      description: Rename an environment. This call is allowed for admins only
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                name:
                  type: string
      responses:
        '200':
          description: Updated environment properties
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EnvironmentBasic'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}/settings:
    get:
      tags:
      - General
      summary: Get environment settings
      description: Get environment settings
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/TBD'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}/servers:
    get:
      tags:
      - General
      summary: List servers
      description: List all (or just active) servers that were used to monitor applications. These can be either the IP/Hostname of a host or a cluster identifier. [How to name your Server](https://doc.overops.com/docs/naming-your-application-server-deployment)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: query
        name: active
        description: Show only active servers
        schema:
          type: boolean
      responses:
        '200':
          description: List of servers
          content:
            '*/*':
              schema:
                properties:
                  servers:
                    type: array
                    items:
                      $ref: '#/components/schemas/Server'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}/applications:
    get:
      tags:
      - General
      summary: List applications
      description: List all (or just active) applications that were used to monitor applications. These can be either an application name, an integration suite name or a specific instance. [How to name your Application](https://doc.overops.com/docs/naming-your-application-server-deployment)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: query
        name: active
        description: Show only active applications
        schema:
          type: boolean
      responses:
        '200':
          description: List of applications
          content:
            '*/*':
              schema:
                properties:
                  applications:
                    type: array
                    items:
                      $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}/deployments:
    get:
      tags:
      - General
      summary: List deployments
      description: List all (or just active) deployments that were monitoring in the environment. These can be either the Jenkins build number, Git commit, Maven version, etc. [How to tag your deployment](https://doc.overops.com/docs/naming-your-application-server-deployment)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: query
        name: active
        description: Show only active deployments
        schema:
          type: boolean
      responses:
        '200':
          description: List of deployments
          content:
            '*/*':
              schema:
                properties:
                  deployments:
                    type: array
                    items:
                      $ref: '#/components/schemas/Deployment'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /services/{env_id}/settings/storage-settings:
    get:
      tags:
      - General
      summary: Get storage settings of an environment
      description: In Hybrid OverOps installation, data collected from your JVMs is locally redacted for PII and encrypted using your private encryption key before it is stored in a server that resides behind your firewall. Use this API call to fetch the current settings of your storage server. Visit OverOps [On-Premises Data Installation](https://doc.overops.com/docs/hybrid-installation) for full information
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Storage settings
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/StorageSettings'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    post:
      tags:
      - General
      summary: Set storage settings for a service
      description: In Hybrid OverOps installation, data collected from your JVMs is locally redacted for PII and encrypted using your private encryption key before it is stored in a server that resides behind your firewall. This API call allows you to configure your storage server as part of your Hybrid OverOps setup. Visit OverOps [On-Premises Data Installation](https://doc.overops.com/docs/hybrid-installation) for full information
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorageSettings'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /services/{env_id}/settings/advanced-settings:
    get:
      tags:
      - General
      summary: Get advanced settings for an environment
      description: Get advanced settings for an environment
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Environment advanced settings
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EnvironmentAdvancedSettings'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    post:
      tags:
      - General
      summary: Set advanced settings for an environment
      description: Set advanced settings for an environment
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentAdvancedSettings'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /services/{env_id}/settings/reliability-settings:
    get:
      tags:
      - General
      summary: Fetch reliability settings JSON
      description: Fetch reliability settings JSON which defines all the thresholds and preferences for OverOps reliability tools - Grafana dashboards, Jenkins plugin, etc.
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Reliability dashboards settings JSON
          content:
            '*/*':
              schema:
                type: object
                properties:
                  reliability_settings_json:
                    type: string
                    format: binary
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
    post:
      tags:
      - General
      summary: Upload reliability settings JSON
      description: Upload reliability settings JSON which defines all the thresholds and preferences for OverOps reliability tools - Grafana dashboards, Jenkins plugin, etc.
      parameters:
      - in: path
        name: env_id
        description: Environment to use
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reliability_settings_json:
                  type: string
                  format: binary
        required: true
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  schemas:
    EnvironmentBasic:
      type: object
      description: Basic information about a environment
      properties:
        id:
          type: string
          example: S100
        name:
          type: string
          example: Pre-prod
        full_key:
          type: string
          example: S35817XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Deployment:
      type: object
      properties:
        name:
          type: string
          example: stage1.0.4
        active:
          type: boolean
          example: true
        first_seen:
          type: string
          description: Indicates the time when the deployment was first detected by OverOps
          example: '2018-02-28T22:47:09.038Z'
        last_seen:
          type: string
          description: The last time when the deployment was seen by OverOps
          example: '2018-03-01T08:08:08.001Z'
    EnvironmentAdvancedSettings:
      type: object
      description: Advanced settings for an environment
      properties:
        allowed_ips:
          type: array
          description: Limit access to a list of selected IPs
          items:
            type: string
            example: 127.0.0.1
        show_rethrows:
          type: boolean
          description: Show exception rethrows in the dashboard
          example: true
        show_log_links:
          type: boolean
          description: Enable log links for exceptions (requires JVM restart, supported in version 4.9.0 or above)
          example: false
        clear_env_filters:
          type: boolean
          description: Clear servers, applications and deployments filters when moving between views
          example: false
        enhanced_decompilation:
          type: boolean
          description: Enable enhanced decompilation (This will use raw bytecode but won't store it)
          example: true
    StorageSettings:
      type: object
      properties:
        type:
          type: string
          enum:
          - HYBRID
          - HOSTED
          example: HYBRID
        hostname:
          description: Relevant for hybrid storage only. Both hostname and ip may be used. For cloud storage, NA value will be returned
          type: string
          example: storage.company.com
        frontend_hostname:
          description: OPTIONAL Relevant for hybrid storage only. Both hostname and ip may be used. For cloud storage, NA value will be returned
          type: string
          example: 123.91.12.100
    Application:
      type: object
      properties:
        name:
          type: string
          example: jobs-api
        active:
          type: boolean
          example: true
        first_seen:
          type: string
          description: Indicates the time when the application was first detected by OverOps
          example: '2018-02-28T22:47:09.038Z'
        last_seen:
          type: string
          description: The last time when the application was seen by OverOps
          example: '2018-03-01T08:08:08.001Z'
    EnvironmentWithRole:
      type: object
      description: Environment data including user's role
      properties:
        id:
          type: string
          example: S100
        name:
          type: string
          example: Pre-prod
        full_key:
          type: string
          example: S35817XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        role:
          type: string
          description: user's role in the environment
          example: admin
    Server:
      type: object
      properties:
        name:
          type: string
          example: ip57-110-0-18
        active:
          type: boolean
          example: true
        first_seen:
          type: string
          description: Indicates the time when the server was first detected by OverOps
          example: '2018-02-28T22:47:09.038Z'
        last_seen:
          type: string
          description: The last time when the server was seen by OverOps
          example: '2018-03-01T08:08:08.001Z'
  responses:
    TBD:
      description: TBD
    NotFoundError:
      description: Not Found
    OK:
      description: OK
    UnauthorizedError:
      description: Unauthorized
    BadRequestError:
      description: Bad Request
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY