Log10 LLM Logging API
REST API for capturing LLM completions, managing sessions, applying tags, and retrieving logged request and response data across LLM provider calls.
REST API for capturing LLM completions, managing sessions, applying tags, and retrieving logged request and response data across LLM provider calls.
openapi: 3.0.3
info:
title: Log10 Feedback API Spec
description: Log10 Feedback API Spec
version: 1.0.0
servers:
- url: https://log10.io
tags:
- name: Completions
description: Completions
- name: Feedback
description: Feedback
- name: FeedbackTasks
description: FeedbackTasks
- name: Sessions
description: Sessions
x-speakeasy-globals:
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
components:
securitySchemes:
Log10Token: # arbitrary name for the security scheme
type: apiKey
in: header # can be "header", "query" or "cookie"
name: X-Log10-Token # name of the header, query parameter or cookie
schemas:
Task:
type: object
required:
- name
- instruction
- json_schema
- completion_tags_selector
properties:
id:
type: string
description: The unique identifier for this task.
created_at_ms:
type: number
description: The epoch this schema was created.
json_schema:
type: object
description: The schema of the task. Must be valid JSON Schema.
name:
type: string
description: The name of the task.
instruction:
type: string
description: The instructions for this task.
completion_tags_selector:
type: object
description: The completion tag matching with this task i.e. surfaced as needing feedback.
items:
type: string
Feedback:
type: object
required:
- task_id
- json_values
- matched_completion_ids
- comment
properties:
id:
type: string
description: The unique identifier for this feedback.
created_at_ms:
type: number
description: The epoch this schema was created.
task_id:
type: string
description: The unique identifier for the task associated with this feedback.
json_values:
type: object
description: The values of the feedback. Must be valid JSON according to the task schema.
matched_completion_ids:
type: array
description: The matched completion ids associated with this feedback.
items:
type: string
comment:
type: string
description: The comment associated with this feedback.
completions_summary:
type: string
Completion:
type: object
required:
- organization_id
properties:
id:
type: string
description: The unique identifier for this task.
organization_id:
type: string
description: The unique identifier for the organization.
kind:
type: string
description: The kind of completion i.e. chat messages or prompt
enum:
- chat
- prompt
status:
type: string
description: The status of this completion.
enum:
- started
- finished
- failed
tags:
type: array
description: The tags for this completion.
items:
type: string
request:
type: object
$ref: "openai.yaml#/components/schemas/CreateChatCompletionRequest"
response:
type: object
$ref: "openai.yaml#/components/schemas/CreateChatCompletionResponse"
stacktrace:
type: array
description: The stacktrace for this completion.
items:
type: object
properties:
file:
type: string
description: The file associated with this stacktrace.
line:
type: string
description: The line associated with this stacktrace.
lineno:
type: number
description: The line number associated with this stacktrace.
name:
type: string
description: The function or module associated with this stacktrace.
required:
- file
- line
- lineno
- name
session_id:
type: string
description: The session id for this completion.
duration:
type: number
description: The duration of this completion in seconds.
failure_kind:
type: string
description: The failure kind of this completion.
failure_reason:
type: string
description: The failure reason of this completion.
Session:
type: object
properties:
id:
type: string
description: The unique identifier for this session.
paths:
/api/v1/completions:
post:
tags:
- Completions
operationId: create
summary: Create a completion
security:
- Log10Token: []
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Completion"
responses:
"200":
description: Created
content:
application/json:
schema:
type: object
x-speakeasy-type-override: any
"201":
description: Created
content:
application/json:
schema:
$ref: "#/components/schemas/Completion"
/api/v1/completions/{completionId}:
post:
parameters:
- name: completionId
in: path
required: true
description: The completion id to update.
schema:
type: string
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
tags:
- Completions
operationId: update
summary: Update completion by id.
security:
- Log10Token: []
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/Completion"
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Completion"
/api/v1/sessions:
post:
tags:
- Sessions
x-speakeasy-name-override: create
x-speakeasy-usage-example: true
operationId: createSession
summary: Create a session
security:
- Log10Token: []
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
responses:
"201":
description: Created
content:
application/json:
schema:
type: object
properties:
session:
$ref: "#/components/schemas/Session"
/api/v1/completions/ungraded:
get:
tags:
- Completions
operationId: listUngraded
summary: List ungraded completions i.e. completions that have not been associated with feedback but matches task selector.
security:
- Log10Token: []
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
type: object
properties:
completions:
type: array
items:
$ref: "#/components/schemas/Completion"
/api/v1/feedback/{feedbackId}:
get:
tags:
- Feedback
parameters:
- name: feedbackId
in: path
required: true
description: The feedback id to fetch.
schema:
type: string
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
operationId: get
summary: Fetch feedback by id.
security:
- Log10Token: []
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Feedback"
/api/v1/feedback:
get:
tags:
- Feedback
operationId: list
summary: List feedback
security:
- Log10Token: []
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
offset:
type: integer
description: The offset to start fetching feedback from.
limit:
type: integer
description: The number of feedback to fetch.
completion_id:
type: string
description: The completion id to fetch feedback for.
task_id:
type: string
description: The task id to fetch feedback for.
responses:
"200":
description: OK
content:
application/json:
schema:
type: object
properties:
feedback:
type: array
items:
$ref: "#/components/schemas/Feedback"
post:
summary: Upload a piece of feedback
tags:
- Feedback
operationId: upload
security:
- Log10Token: []
parameters:
- name: X-Log10-Organization
in: header
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- allOf:
- $ref: "#/components/schemas/Feedback"
- type: object
required:
- allow_unmatched_feedback
- completion_tags_selector
properties:
allow_unmatched_feedback:
type: boolean
description: Whether to allow unmatched feedback. Defaults to false.
default: false
max_matched_completions:
type: integer
description: The maximum number of matched completions. Returns error if exceeded. Defaults to 100.
default: 100
completion_tags_selector:
type: array
description: The completion tags associated with this feedback.
items:
type: string
- allOf:
- $ref: "#/components/schemas/Feedback"
- type: object
required:
- completion_ids
properties:
completion_ids:
type: array
description: The completion ids to associate with this feedback.
items:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Feedback"
/api/v1/feedback_task:
get:
tags:
- FeedbackTasks
x-speakeasy-name-override: list
operationId: listFeedbackTasks
summary: List feedback tasks.
responses:
"200":
description: OK
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Task"
post:
tags:
- FeedbackTasks
x-speakeasy-name-override: create
operationId: createFeedbackTask
summary: Create a new task.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Task"
/api/v1/feedback_task/{taskId}:
get:
parameters:
- name: taskId
in: path
required: true
description: The task id to fetch.
schema:
type: string
tags:
- FeedbackTasks
x-speakeasy-name-override: get
operationId: getFeedbackTask
summary: Retrieves feedback task `taskId`.
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Task"