Overops Categories API

Fetch and manipulate grouping of views into logical categories (e.g "CI/CD", "Favorites")

OpenAPI Specification

overops-categories-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: v1
  title: Services Alerts Categories 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: Categories
  description: Fetch and manipulate grouping of views into logical categories (e.g "CI/CD", "Favorites")
paths:
  /services/{env_id}/categories:
    get:
      tags:
      - Categories
      summary: List categories
      description: List view categories
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: query
        name: name
        description: Category name
        schema:
          type: string
      - in: query
        name: views
        description: List views associated with each category in the response
        schema:
          type: boolean
      responses:
        '200':
          description: List of View Categories and their info
          content:
            '*/*':
              schema:
                type: object
                properties:
                  categories:
                    type: array
                    items:
                      $ref: '#/components/schemas/Category'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
    post:
      tags:
      - Categories
      summary: Create category (Not implemented yet)
      description: Create category (Not implemented yet)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Category'
        description: category properties
      responses:
        '200':
          $ref: '#/components/responses/TBD'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '409':
          $ref: '#/components/responses/Conflict'
  /services/{env_id}/categories/{category_id}:
    get:
      tags:
      - Categories
      summary: Get category details (Not implemented yet)
      description: Get category details (Not implemented yet)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: path
        name: category_id
        description: View category to use
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Category info
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Category'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
    delete:
      tags:
      - Categories
      summary: Delete category (Not implemented yet)
      description: Delete category (Not implemented yet)
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: path
        name: category_id
        description: View category to use
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
  /services/{env_id}/categories/{category_id}/views:
    post:
      tags:
      - Categories
      summary: Add view to selected category
      description: Add view to selected category
      parameters:
      - in: path
        name: env_id
        description: Environment ID to use (e.g. S1234)
        required: true
        schema:
          type: string
      - in: path
        name: category_id
        description: View category to use
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
              example: P12
        description: View ID (string)
        required: true
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  schemas:
    ViewBasic:
      type: object
      properties:
        id:
          type: string
          example: P12
        name:
          type: string
          example: DB Errors
        shared:
          type: boolean
          example: false
        admin:
          type: boolean
          description: Indicates that this view can be created and accessed by environment admins only.
          example: true
    Category:
      type: object
      description: Single category properties
      properties:
        id:
          type: string
          example: B345
        name:
          type: string
          description: Category Name
          example: CI/CD
        shared:
          type: boolean
          description: Indicates whether this category is visible for all users under this key or only for the category creator.
          example: false
        admin:
          type: boolean
          description: (TBD - NOT YET IMPLEMENTED) marks the category as visible only to key admins
          example: true
        icon:
          type: string
          description: (TBD - NOT YET IMPLEMENTED) based 64 encoded SVG
        views:
          type: array
          items:
            $ref: '#/components/schemas/ViewBasic'
  responses:
    ForbiddenError:
      description: Forbidden
    TBD:
      description: TBD
    NotFoundError:
      description: Not Found
    OK:
      description: OK
    Conflict:
      description: Conflict
    UnauthorizedError:
      description: Unauthorized
    BadRequestError:
      description: Bad Request
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY