Alpic Telemetry API
The telemetry API from Alpic — 2 operation(s) for telemetry.
The telemetry API from Alpic — 2 operation(s) for telemetry.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/alpic:alpic-telemetry-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Alpic Telemetry API
version: 1.0.0
servers:
- url: https://api.alpic.ai
security:
- bearerAuth: []
tags:
- name: Telemetry
paths:
/v1/environments/{environmentId}/telemetry-destinations:
get:
operationId: telemetryDestinations.list.v1
summary: List telemetry destinations
description: List the OTLP destinations configured for an environment. Secret header values are never returned.
tags:
- Telemetry
parameters:
- name: environmentId
in: path
required: true
schema:
type: string
description: The ID of the environment
responses:
'200':
description: The list of telemetry destinations
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
signal:
enum:
- logs
- metrics
- traces
type: string
endpoint:
type: string
minLength: 1
maxLength: 2048
protocol:
enum:
- http/protobuf
- http/json
type: string
headers:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: 'null'
isSecret:
const: true
required:
- id
- name
- value
- isSecret
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: string
maxLength: 2048
isSecret:
const: false
required:
- id
- name
- value
- isSecret
status:
enum:
- active
- suspended
type: string
lastFailureReason:
anyOf:
- enum:
- credentials
- wrong-path
- wrong-protocol
- invalid-payload
- partial-rejection
- blocked-target
- timeout
- unreachable
- receiver-error
- unexpected-status
type: string
- type: 'null'
isScopedToIntentionalRequestsOnly:
type: boolean
required:
- id
- signal
- endpoint
- protocol
- headers
- status
- lastFailureReason
- isScopedToIntentionalRequestsOnly
'400':
description: '400'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: BAD_REQUEST
status:
const: 400
message:
type: string
default: Bad Request
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'404':
description: '404'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: NOT_FOUND
status:
const: 404
message:
type: string
default: Not Found
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
post:
operationId: telemetryDestinations.create.v1
summary: Create a telemetry destination
description: Verify and save an OTLP destination for logs, metrics, or traces.
tags:
- Telemetry
parameters:
- name: environmentId
in: path
required: true
schema:
type: string
description: The ID of the environment
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
signal:
enum:
- logs
- metrics
- traces
type: string
endpoint:
type: string
minLength: 1
maxLength: 2048
protocol:
enum:
- http/protobuf
- http/json
type: string
default: http/protobuf
isScopedToIntentionalRequestsOnly:
type: boolean
default: false
headers:
type: array
items:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: string
minLength: 1
maxLength: 2048
isSecret:
type: boolean
required:
- name
- value
- isSecret
default: []
required:
- signal
- endpoint
responses:
'200':
description: The telemetry destination has been created
content:
application/json:
schema:
type: object
properties:
id:
type: string
signal:
enum:
- logs
- metrics
- traces
type: string
endpoint:
type: string
minLength: 1
maxLength: 2048
protocol:
enum:
- http/protobuf
- http/json
type: string
headers:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: 'null'
isSecret:
const: true
required:
- id
- name
- value
- isSecret
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: string
maxLength: 2048
isSecret:
const: false
required:
- id
- name
- value
- isSecret
status:
enum:
- active
- suspended
type: string
lastFailureReason:
anyOf:
- enum:
- credentials
- wrong-path
- wrong-protocol
- invalid-payload
- partial-rejection
- blocked-target
- timeout
- unreachable
- receiver-error
- unexpected-status
type: string
- type: 'null'
isScopedToIntentionalRequestsOnly:
type: boolean
required:
- id
- signal
- endpoint
- protocol
- headers
- status
- lastFailureReason
- isScopedToIntentionalRequestsOnly
'400':
description: '400'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: BAD_REQUEST
status:
const: 400
message:
type: string
default: Bad Request
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: true
code:
const: OTLP_DESTINATION_UNVERIFIED
status:
const: 400
message:
type: string
default: OTLP_DESTINATION_UNVERIFIED
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'403':
description: '403'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: FORBIDDEN
status:
const: 403
message:
type: string
default: Forbidden
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'404':
description: '404'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: NOT_FOUND
status:
const: 404
message:
type: string
default: Not Found
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'500':
description: '500'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: INTERNAL_SERVER_ERROR
status:
const: 500
message:
type: string
default: Internal Server Error
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
/v1/environments/{environmentId}/telemetry-destinations/{destinationId}:
patch:
operationId: telemetryDestinations.update.v1
summary: Update a telemetry destination
description: Verify and save changes to an OTLP destination. Omit headers to keep them unchanged; omit the value of an existing header to preserve it. A secret header value must be re-entered when the endpoint changes.
tags:
- Telemetry
parameters:
- name: environmentId
in: path
required: true
schema:
type: string
description: The ID of the environment
- name: destinationId
in: path
required: true
schema:
type: string
description: The ID of the telemetry destination
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
endpoint:
type: string
minLength: 1
maxLength: 2048
protocol:
enum:
- http/protobuf
- http/json
type: string
isScopedToIntentionalRequestsOnly:
type: boolean
headers:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: string
maxLength: 2048
isSecret:
type: boolean
required:
- name
- isSecret
responses:
'200':
description: The telemetry destination has been updated
content:
application/json:
schema:
type: object
properties:
id:
type: string
signal:
enum:
- logs
- metrics
- traces
type: string
endpoint:
type: string
minLength: 1
maxLength: 2048
protocol:
enum:
- http/protobuf
- http/json
type: string
headers:
type: array
items:
anyOf:
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: 'null'
isSecret:
const: true
required:
- id
- name
- value
- isSecret
- type: object
properties:
id:
type: string
name:
type: string
minLength: 1
maxLength: 128
pattern: ^[A-Za-z0-9!#$%&'*+\-.^_`|~]+$
value:
type: string
maxLength: 2048
isSecret:
const: false
required:
- id
- name
- value
- isSecret
status:
enum:
- active
- suspended
type: string
lastFailureReason:
anyOf:
- enum:
- credentials
- wrong-path
- wrong-protocol
- invalid-payload
- partial-rejection
- blocked-target
- timeout
- unreachable
- receiver-error
- unexpected-status
type: string
- type: 'null'
isScopedToIntentionalRequestsOnly:
type: boolean
required:
- id
- signal
- endpoint
- protocol
- headers
- status
- lastFailureReason
- isScopedToIntentionalRequestsOnly
'400':
description: '400'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: BAD_REQUEST
status:
const: 400
message:
type: string
default: Bad Request
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: true
code:
const: OTLP_DESTINATION_UNVERIFIED
status:
const: 400
message:
type: string
default: OTLP_DESTINATION_UNVERIFIED
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'403':
description: '403'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: FORBIDDEN
status:
const: 403
message:
type: string
default: Forbidden
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'404':
description: '404'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: NOT_FOUND
status:
const: 404
message:
type: string
default: Not Found
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
delete:
operationId: telemetryDestinations.delete.v1
summary: Delete a telemetry destination
description: Delete an OTLP destination from an environment.
tags:
- Telemetry
parameters:
- name: environmentId
in: path
required: true
schema:
type: string
description: The ID of the environment
- name: destinationId
in: path
required: true
schema:
type: string
description: The ID of the telemetry destination
responses:
'200':
description: The telemetry destination has been deleted
content:
application/json:
schema:
type: object
properties:
success:
const: true
required:
- success
'400':
description: '400'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: BAD_REQUEST
status:
const: 400
message:
type: string
default: Bad Request
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'404':
description: '404'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: NOT_FOUND
status:
const: 404
message:
type: string
default: Not Found
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
'500':
description: '500'
content:
application/json:
schema:
oneOf:
- type: object
properties:
defined:
const: true
code:
const: INTERNAL_SERVER_ERROR
status:
const: 500
message:
type: string
default: Internal Server Error
data: {}
required:
- defined
- code
- status
- message
- type: object
properties:
defined:
const: false
code:
type: string
status:
type: number
message:
type: string
data: {}
required:
- defined
- code
- status
- message
components:
securitySchemes:
bearerAuth:
type: http
description: Bearer token for authentication. Use an API key from the API Keys page in team settings, or an OAuth access token.
scheme: bearer