Gremlin failure-flags.apps API

Get, list, and protect applications

OpenAPI Specification

gremlin-failure-flags-apps-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Gremlin agents failure-flags.apps API
  description: The API for interacting with the Gremlin Failure-as-a-Service platform
  termsOfService: https://www.gremlin.com/terms_of_service_2017_03_24
  contact:
    name: Gremlin Support
    email: support@gremlin.com
  license:
    name: Gremlin License
    url: https://www.gremlin.com/license_2017_03_24
  version: '1.0'
servers:
- url: https://api.gremlin.com/v1
  description: Gremlin API v1
tags:
- name: failure-flags.apps
  description: Get, list, and protect applications
paths:
  /failure-flags/apps/{name}:
    get:
      tags:
      - failure-flags.apps
      summary: Get Application by name.
      description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getApplicationForNameAndTeam
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get an Application by name and team
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '404':
          description: Not found
        '403':
          description: 'User requires privilege for target team: EXPERIMENTS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - EXPERIMENTS_READ
  /failure-flags/apps:
    get:
      tags:
      - failure-flags.apps
      summary: List Applications by team.
      description: Requires the privilege [`EXPERIMENTS_READ`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: getApplicationsForTeam
      parameters:
      - name: onlyWithMetricsEnabled
        in: query
        schema:
          type: boolean
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List Applications by team
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Application'
        '404':
          description: Not found
        '403':
          description: 'User requires privilege for target team: EXPERIMENTS_READ'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - EXPERIMENTS_READ
  /failure-flags/apps/{name}/protect:
    post:
      tags:
      - failure-flags.apps
      summary: Protect Application by name.
      description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: protectApplication
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Protect an Application by name and team
        '404':
          description: Not found
        '403':
          description: 'User requires privilege for target team: EXPERIMENTS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - EXPERIMENTS_WRITE
  /failure-flags/apps/{name}/unprotect:
    post:
      tags:
      - failure-flags.apps
      summary: Unprotect Application by name.
      description: Requires the privilege [`EXPERIMENTS_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)
      operationId: unprotectApplication
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: teamId
        in: query
        description: Required when using company session token.
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Protect an Application by name and team
        '404':
          description: Not found
        '403':
          description: 'User requires privilege for target team: EXPERIMENTS_WRITE'
        '401':
          description: Authorization header missing or malformed. Please provide proper credentials in the authorization header.
      security:
      - privilege:
        - EXPERIMENTS_WRITE
components:
  schemas:
    Application:
      type: object
      properties:
        teamId:
          type: string
        name:
          type: string
        labels:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/ApplicationLabel'
        createdAt:
          type: string
          format: date-time
        lastSeen:
          type: string
          format: date-time
        state:
          type: string
          enum:
          - Active
          - Idle
        protected:
          type: boolean
        experiments:
          type: array
          items:
            type: string
    ApplicationLabel:
      type: object
      properties:
        value:
          type: string
        cardinality:
          type: integer
          format: int32