SigNoz gateway API

The gateway API from SigNoz — 5 operation(s) for gateway.

OpenAPI Specification

signoz-gateway-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    email: support@signoz.io
    name: SigNoz Support
    url: https://signoz.io
  description: OpenTelemetry-Native Logs, Metrics and Traces in a single pane
  termsOfService: https://signoz.io/terms-of-service/
  title: SigNoz alerts gateway API
  version: ''
servers:
- description: The fully qualified URL to the SigNoz APIServer.
  url: https://{host}:{port}{base_path}
  variables:
    base_path:
      default: /
      description: The base path of the SigNoz APIServer
    host:
      default: localhost
      description: The host of the SigNoz APIServer
    port:
      default: '8080'
      description: The port of the SigNoz APIServer
tags:
- name: gateway
paths:
  /api/v2/gateway/ingestion_keys:
    get:
      deprecated: false
      description: This endpoint returns the ingestion keys for a workspace
      operationId: GetIngestionKeys
      parameters:
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableIngestionKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Get ingestion keys for workspace
      tags:
      - gateway
    post:
      deprecated: false
      description: This endpoint creates an ingestion key for the workspace
      operationId: CreateIngestionKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKey'
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableCreatedIngestionKey'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create ingestion key for workspace
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/{keyId}:
    delete:
      deprecated: false
      description: This endpoint deletes an ingestion key for the workspace
      operationId: DeleteIngestionKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete ingestion key for workspace
      tags:
      - gateway
    patch:
      deprecated: false
      description: This endpoint updates an ingestion key for the workspace
      operationId: UpdateIngestionKey
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKey'
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update ingestion key for workspace
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/{keyId}/limits:
    post:
      deprecated: false
      description: This endpoint creates an ingestion key limit
      operationId: CreateIngestionKeyLimit
      parameters:
      - in: path
        name: keyId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesPostableIngestionKeyLimit'
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableCreatedIngestionKeyLimit'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: Created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Create limit for the ingestion key
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/limits/{limitId}:
    delete:
      deprecated: false
      description: This endpoint deletes an ingestion key limit
      operationId: DeleteIngestionKeyLimit
      parameters:
      - in: path
        name: limitId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Delete limit for the ingestion key
      tags:
      - gateway
    patch:
      deprecated: false
      description: This endpoint updates an ingestion key limit
      operationId: UpdateIngestionKeyLimit
      parameters:
      - in: path
        name: limitId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GatewaytypesUpdatableIngestionKeyLimit'
      responses:
        '204':
          description: No Content
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Update limit for the ingestion key
      tags:
      - gateway
  /api/v2/gateway/ingestion_keys/search:
    get:
      deprecated: false
      description: This endpoint returns the ingestion keys for a workspace
      operationId: SearchIngestionKeys
      parameters:
      - in: query
        name: name
        required: true
        schema:
          type: string
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per_page
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/GatewaytypesGettableIngestionKeys'
                  status:
                    type: string
                required:
                - status
                - data
                type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Forbidden
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenderErrorResponse'
          description: Internal Server Error
      security:
      - api_key:
        - EDITOR
      - tokenizer:
        - EDITOR
      summary: Search ingestion keys for workspace
      tags:
      - gateway
components:
  schemas:
    GatewaytypesPostableIngestionKey:
      properties:
        expires_at:
          format: date-time
          type: string
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - name
      type: object
    GatewaytypesGettableCreatedIngestionKeyLimit:
      properties:
        id:
          type: string
      required:
      - id
      type: object
    GatewaytypesLimitConfig:
      properties:
        day:
          $ref: '#/components/schemas/GatewaytypesLimitValue'
        second:
          $ref: '#/components/schemas/GatewaytypesLimitValue'
      type: object
    GatewaytypesGettableIngestionKeys:
      properties:
        _pagination:
          $ref: '#/components/schemas/GatewaytypesPagination'
        keys:
          items:
            $ref: '#/components/schemas/GatewaytypesIngestionKey'
          nullable: true
          type: array
      type: object
    RenderErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorsJSON'
        status:
          type: string
      required:
      - status
      - error
      type: object
    GatewaytypesIngestionKey:
      properties:
        created_at:
          format: date-time
          type: string
        expires_at:
          format: date-time
          type: string
        id:
          type: string
        limits:
          items:
            $ref: '#/components/schemas/GatewaytypesLimit'
          nullable: true
          type: array
        name:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
        updated_at:
          format: date-time
          type: string
        value:
          type: string
        workspace_id:
          type: string
      type: object
    GatewaytypesLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        created_at:
          format: date-time
          type: string
        id:
          type: string
        key_id:
          type: string
        metric:
          $ref: '#/components/schemas/GatewaytypesLimitMetric'
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
        updated_at:
          format: date-time
          type: string
      type: object
    GatewaytypesLimitMetric:
      properties:
        day:
          $ref: '#/components/schemas/GatewaytypesLimitMetricValue'
        second:
          $ref: '#/components/schemas/GatewaytypesLimitMetricValue'
      type: object
    GatewaytypesLimitMetricValue:
      properties:
        count:
          format: int64
          type: integer
        size:
          format: int64
          type: integer
      type: object
    GatewaytypesGettableCreatedIngestionKey:
      properties:
        id:
          type: string
        value:
          type: string
      required:
      - id
      - value
      type: object
    GatewaytypesLimitValue:
      properties:
        count:
          nullable: true
          type: integer
        size:
          nullable: true
          type: integer
      type: object
    ErrorsJSON:
      properties:
        code:
          type: string
        errors:
          items:
            $ref: '#/components/schemas/ErrorsResponseerroradditional'
          type: array
        message:
          type: string
        url:
          type: string
      required:
      - code
      - message
      type: object
    GatewaytypesPagination:
      properties:
        page:
          type: integer
        pages:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
      type: object
    GatewaytypesUpdatableIngestionKeyLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        tags:
          items:
            type: string
          nullable: true
          type: array
      required:
      - config
      type: object
    ErrorsResponseerroradditional:
      properties:
        message:
          type: string
      type: object
    GatewaytypesPostableIngestionKeyLimit:
      properties:
        config:
          $ref: '#/components/schemas/GatewaytypesLimitConfig'
        signal:
          type: string
        tags:
          items:
            type: string
          nullable: true
          type: array
      type: object
  securitySchemes:
    api_key:
      description: API Keys
      in: header
      name: SigNoz-Api-Key
      type: apiKey
    tokenizer:
      bearerFormat: Tokenizer
      description: Tokens generated by the tokenizer
      scheme: bearer
      type: http