Mezmo Ingestion Control API

Manage exclusion rules (/v1/config/ingestion/exclusions) and ingestion suspend/resume (/v1/config/ingestion/suspend, /resume) to cap costs and stop noisy sources without losing configuration. Two-factor suspension protects against accidental cutoff.

OpenAPI Specification

mezmo-ingestion-control-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mezmo Ingestion Control API
  description: |
    Manage exclusion rules that drop log lines before they hit storage, and
    suspend/resume ingestion for an account. Suspension uses a two-step
    confirmation to protect against accidental cutoff.
  version: '1.0'
servers:
- url: https://api.mezmo.com
tags:
- name: Exclusions
- name: Suspension
security:
- AccessToken: []
paths:
  /v1/config/ingestion/exclusions:
    get:
      tags:
      - Exclusions
      summary: List Exclusion Rules
      operationId: listExclusions
      responses:
        '200':
          description: Exclusion rules.
    post:
      tags:
      - Exclusions
      summary: Create Exclusion Rule
      operationId: createExclusion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExclusionRule'
      responses:
        '201':
          description: Rule created.
  /v1/config/ingestion/exclusions/{ruleid}:
    parameters:
    - name: ruleid
      in: path
      required: true
      schema:
        type: string
    patch:
      tags:
      - Exclusions
      summary: Update Exclusion Rule
      operationId: updateExclusion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExclusionRule'
      responses:
        '200':
          description: Rule updated.
    delete:
      tags:
      - Exclusions
      summary: Delete Exclusion Rule
      operationId: deleteExclusion
      responses:
        '204':
          description: Rule deleted.
  /v1/config/ingestion/status:
    get:
      tags:
      - Suspension
      summary: Get Ingestion Status
      operationId: getIngestionStatus
      responses:
        '200':
          description: Current ingestion status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestionStatus'
  /v1/config/ingestion/suspend:
    post:
      tags:
      - Suspension
      summary: Initiate Ingestion Suspension
      operationId: suspendIngestion
      responses:
        '202':
          description: Suspension requested; confirmation required.
  /v1/config/ingestion/suspend/confirm:
    post:
      tags:
      - Suspension
      summary: Confirm Ingestion Suspension
      operationId: confirmSuspendIngestion
      responses:
        '200':
          description: Suspension confirmed.
  /v1/config/ingestion/resume:
    post:
      tags:
      - Suspension
      summary: Resume Ingestion
      operationId: resumeIngestion
      responses:
        '200':
          description: Ingestion resumed.
components:
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer
  schemas:
    ExclusionRule:
      type: object
      properties:
        title:
          type: string
        query:
          type: string
        hosts:
          type: array
          items:
            type: string
        apps:
          type: array
          items:
            type: string
        active:
          type: boolean
        indexonly:
          type: boolean
    IngestionStatus:
      type: object
      properties:
        status:
          type: string
          enum:
          - active
          - suspended
          - suspending
        modified:
          type: integer
          format: int64