Grepr OpenTelemetry Integration API

The OpenTelemetry Integration API from Grepr — 4 operation(s) for opentelemetry integration.

Operations 8

GET /v1/integrations/otlp List all OTLP integrations #
POST /v1/integrations/otlp Create an OTLP integration #
DELETE /v1/integrations/otlp/{id} Delete a OTLP integration #
GET /v1/integrations/otlp/{id} Get a OTLP integration #
PUT /v1/integrations/otlp/{id} Update a OTLP integration #
DELETE /v1/integrations/otlp/{id}/secret-headers/{name} Delete a single OTLP integration secret header #
PUT /v1/integrations/otlp/{id}/secret-headers/{name} Create or update a single OTLP integration secret header #
GET /v1/integrations/otlp/{id}/token Retrieve OTLP integration token in clear text #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/grepr:grepr-opentelemetry-integration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

grepr-opentelemetry-integration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Grepr OpenTelemetry Integration API
  version: 1.0.0
  description: 'Operations tagged OpenTelemetry Integration across 2 of this provider''s published API definitions: grepr-openapi.json, grepr.json. Each path carries the servers of the definition it was published in.'
tags:
- description: ''
  name: OpenTelemetry Integration
paths:
  /v1/integrations/otlp:
    get:
      description: Get all OTLP integrations.
      operationId: listOtlpIntegrations
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemsCollectionReadOtlp'
          description: Integrations retrieved successfully
        '401':
          description: Unauthorized
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: List all OTLP integrations
      tags:
      - OpenTelemetry Integration
    post:
      description: Creates an integration to connect to OTLP.
      operationId: createOtlpIntegration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WriteOtlp'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadOtlp'
          description: Integration created successfully
        '401':
          description: Unauthorized
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadOtlp'
          description: Integration already exists.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Create an OTLP integration
      tags:
      - OpenTelemetry Integration
  /v1/integrations/otlp/{id}:
    delete:
      description: Deletes an integration to connect to OTLP. This will delete the associated keys as well. No-op if already deleted.
      operationId: deleteOtlpIntegration
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Integration deleted successfully
        '401':
          description: Unauthorized
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Delete a OTLP integration
      tags:
      - OpenTelemetry Integration
    get:
      description: Get an integration to connect to OTLP.
      operationId: getOtlpIntegration
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadOtlp'
          description: Integration retrieved successfully
        '401':
          description: Unauthorized
        '404':
          description: Integration not found.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Get a OTLP integration
      tags:
      - OpenTelemetry Integration
    put:
      description: Updates an integration to connect to OTLP. The version should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.
      operationId: updateOtlpIntegration
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WriteOtlp'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadOtlp'
          description: Integration updated successfully
        '401':
          description: Unauthorized
        '404':
          description: Integration not found.
        '409':
          description: Integration was modified or deleted concurrently.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Update a OTLP integration
      tags:
      - OpenTelemetry Integration
  /v1/integrations/otlp/{id}/secret-headers/{name}:
    delete:
      description: Deletes a single secret HTTP header from an OTLP integration.
      operationId: deleteOtlpSecretHeader
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Secret header deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Integration not found.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Delete a single OTLP integration secret header
      tags:
      - OpenTelemetry Integration
    put:
      description: Creates or updates a single secret HTTP header for an OTLP integration.
      operationId: upsertOtlpSecretHeader
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SecretApi'
      responses:
        '204':
          description: Secret header updated successfully
        '400':
          description: Invalid header name or reserved header name
        '401':
          description: Unauthorized
        '404':
          description: Integration not found.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Create or update a single OTLP integration secret header
      tags:
      - OpenTelemetry Integration
  /v1/integrations/otlp/{id}/token:
    get:
      description: Retrieves the plain-text authentication token for an OTLP integration.
      operationId: getOtlpToken
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                description: The token in clear text
                type: string
          description: Token retrieved successfully
        '401':
          description: Unauthorized
        '404':
          description: Integration not found.
      security:
      - grepr-api-key: []
      - grepr-oidc: []
      summary: Retrieve OTLP integration token in clear text
      tags:
      - OpenTelemetry Integration
components:
  schemas:
    ReadOtlp:
      properties:
        createdAt:
          description: Timestamp when the integration was created.
          format: date-time
          readOnly: true
          type: string
        id:
          description: The integration id
          type: string
        jobIds:
          description: List of job IDs associated with the integration.
          items:
            description: List of job IDs associated with the integration.
            type: string
          type: array
          uniqueItems: true
        name:
          description: Name of the integration.
          example: my_integration
          pattern: '[a-zA-Z0-9 _-]{1,128}'
          type: string
        organizationId:
          description: Organization ID of the integration.
          type: string
        payload:
          $ref: '#/components/schemas/Otlp'
        teamIds:
          description: The team IDs that this integration is associated with.
          items:
            description: The team IDs that this integration is associated with.
            type: string
          type: array
          uniqueItems: true
        type:
          description: The type of the integration. This is used to determine the payload type.
          enum:
          - otlp
          type: string
        updatedAt:
          description: Timestamp when the integration was last updated.
          format: date-time
          readOnly: true
          type: string
        version:
          description: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.
          example: 0
          format: int32
          minimum: 0
          type: integer
      required:
      - createdAt
      - id
      - jobIds
      - name
      - organizationId
      - payload
      - type
      - updatedAt
      - version
      type: object
    SecretApi:
      description: Secret wrapper for API responses
      properties:
        secret:
          description: The secret value
          type: string
      required:
      - secret
      type: object
    AttributeHeaderMapping:
      description: Maps a log event attribute path to an HTTP header name
      example:
      - attributePath:
        - kubernetes
        - namespace
        - name
        headerName: X-Tenant
      properties:
        attributePath:
          description: Attribute path segments to extract the header value from. Each segment represents one level of nesting in the log event attributes.
          example:
          - kubernetes
          - namespace
          - name
          items:
            description: Attribute path segments to extract the header value from. Each segment represents one level of nesting in the log event attributes.
            example: '["kubernetes","namespace","name"]'
            type: string
          type: array
        headerName:
          description: HTTP header name to set from the attribute value
          example: X-Tenant
          type: string
      required:
      - headerName
      type: object
    Otlp:
      description: The payload containing integration data.
      properties:
        attributeHeaders:
          default: []
          description: Headers whose values are dynamically extracted from log event attributes. Each mapping specifies a header name and the attribute path to read the value from.
          example:
          - attributePath:
            - kubernetes
            - namespace
            - name
            headerName: X-Tenant
          items:
            $ref: '#/components/schemas/AttributeHeaderMapping'
          type: array
        endpoint:
          description: The base OTLP endpoint. Signal-specific paths will be appended automatically (e.g., /v1/logs for logs, /v1/traces for traces) unless overridden by signal-specific endpoint fields.
          example: https://otlp.example.com:4318
          type: string
        headers:
          description: Non-secret HTTP headers for writing to an OTLP sink. Headers can contain multiple values.
          example:
          - - Host
            - my_server
          - - Accept-Language
            - en-US
          - - Accept-Language
            - en;q=0.9
          items:
            $ref: '#/components/schemas/Header'
          type: array
        logsEndpoint:
          description: Optional override for the logs endpoint. If specified, this will be used instead of appending /v1/logs to the base endpoint.
          example: https://logs.example.com:4318/v1/logs
          type: string
        outputEncoding:
          default: proto
          description: Wire encoding for outbound OTLP HTTP requests.
          enum:
          - proto
          - json
          example: proto
          type: string
        plainTextToken:
          description: A unique token generated by Grepr in plain-text
          example: plain-text-secret
          readOnly: true
          type: string
        secretHeaders:
          additionalProperties:
            $ref: '#/components/schemas/SecretApi'
          description: Secret HTTP headers for writing to an OTLP sink. Headers are single-valued.
          example:
            DD-API-KEY: '******ey'
          type: object
        token:
          description: A unique token generated by Grepr to authenticate for an OTLP integration at ingestion
          example: '*****ssHA'
          readOnly: true
          type: string
        tracesEndpoint:
          description: Optional override for the traces endpoint. If specified, this will be used instead of appending /v1/traces to the base endpoint.
          example: https://traces.example.com:4318/v1/traces
          type: string
      required:
      - endpoint
      type: object
      x-type:
        type: otlp
    Header:
      description: A header with name and value
      example:
      - - Host
        - my_server
      - - Accept-Language
        - en-US
      - - Accept-Language
        - en;q=0.9
      properties:
        name:
          description: Header name
          example: Accept-Language
          type: string
        value:
          description: Header value
          example: en-US
          type: string
      required:
      - name
      - value
      type: object
    ItemsCollectionReadOtlp:
      properties:
        items:
          default: []
          items:
            $ref: '#/components/schemas/ReadOtlp'
          type: array
      type: object
    WriteOtlp:
      properties:
        name:
          description: Name of the integration.
          example: my_integration
          pattern: '[a-zA-Z0-9 _-]{1,128}'
          type: string
        payload:
          $ref: '#/components/schemas/Otlp'
        teamIds:
          default: []
          description: The team IDs that this integration is associated with.
          items:
            description: The team IDs that this integration is associated with.
            type: string
          type: array
          uniqueItems: true
        type:
          description: The type of the integration. This is used to determine the payload type.
          enum:
          - otlp
          type: string
        version:
          description: Version of the integration. Should be increased by one for every new update in order for the write to succeed. Otherwise, a '409 Conflict' will be returned.
          example: 0
          format: int32
          minimum: 0
          type: integer
      required:
      - name
      - payload
      - type
      - version
      type: object
  securitySchemes:
    grepr-api-key:
      in: header
      name: GREPR-API-KEY
      type: apiKey
    grepr-oidc:
      bearerFormat: JWT
      openIdConnectUrl: https://grepr-prod.us.auth0.com/.well-known/openid-configuration
      type: openIdConnect
x-refined-from:
- grepr-openapi.json
- grepr.json
x-tagGroups:
- name: Integrations
  tags:
  - Grepr-hosted Data Warehouse Integration
  - External S3 Data Warehouse Integration
  - Datadog Integration
  - New Relic Integration
  - Splunk Integration
  - Sumo Logic Integration
  - OpenTelemetry Integration
- name: Pipelines
  tags:
  - Jobs
  - Templates
  - Datasets
  - Status Metrics
  - External Triggers
  - Job Actions
  - Triggers
- name: Pipeline Components
  tags:
  - Operations
  - Transforms
  - Sources
  - Sinks
- name: Administration
  tags:
  - Users
  - Teams
  - Roles
  - Permission
  - Invitations
  - Activity Logs
- name: Organization
  tags:
  - Organizations
  - Access Configuration
  - Grepr API Key
  - Service Accounts
  - Signup
- name: Query & Analysis
  tags:
  - Job Anomalies
  - Grok Parsing
  - Query Parsing
  - Validation
- name: System
  tags:
  - Manifest