Access is strictly read-only. Velatir retrieves data on a schedule and never sits in the path of a live request, so an integration cannot affect your users’ experience.
Resources
Velatir consumes four independent resource types. Implement those your system supports; apart from identifiers and timestamps, all fields are optional.1. Conversations
One record per AI interaction: a conversation, or a single request and response exchange for stateless systems. This is the content Velatir’s compliance agents review.string
Stable, unique identifier for the interaction.
string
Thread identifier, where the interaction is part of a multi-turn conversation.
timestamp
When the interaction began. RFC 3339, UTC.
timestamp
When the record was last modified.
timestamp
Present when the interaction has been deleted.
object
The person who ran the interaction.
object
The custom assistant used, if any. See Assistants.
string
Model used, for example
gpt-4o.string
Underlying LLM vendor, for example
openai.object
Sampling configuration:
temperature, topP, maxTokens, and similar.string
The system prompt in effect. Provide
systemPromptHash instead where the text cannot be shared.object[]
The turns of the interaction.
object[]
Tools or skills invoked during the interaction.
object[]
Files exchanged during the interaction.
object
Token counts and cost:
inputTokens, outputTokens, totalTokens, cost.string
Outcome of the interaction.
object
Any additional provider-specific fields, preserved as received.
2. Usage and cost
Aggregated, time-bucketed usage, for adoption and cost reporting.timestamp
Start of the bucket.
timestamp
End of the bucket.
enum
hour or day.object
The grouping keys present in the bucket, any subset of the following.
object
The measured values for the bucket.
3. Assistants
Where your product allows customers to configure their own assistants, agents, or custom GPTs, one record per assistant describing its configuration.string
string
string
string
For example
active or archived.timestamp
timestamp
object
The user who owns the assistant.
enum
private, team, organisation, or public.string
Default model.
object
Default sampling configuration.
string
The assistant’s instructions. Provide
instructionsHash instead where the text cannot be shared.object[]
Tools or skills installed on the assistant.
object[]
Integrations and data sources connected to the assistant.
object[]
Attached knowledge or reference files.
object
Rollup:
conversationCount, userCount, lastUsedAt.4. Events
One record per notable action, forming an audit trail. Your native event type is preserved verbatim; the normalised fields are best-effort.string
timestamp
string
Your native event type.
object
Who performed the action.
enum
Authentication, Access, Configuration, DataMovement, ResourceLifecycle, Integration, Policy, or Other.enum
Created, Updated, Deleted, Enabled, Disabled, Exported, Shared, and similar.object
What the action affected.
object
The raw event body, preserved as received.
Access and synchronisation
Transport. A read-only REST/JSON API is recommended and the simplest to integrate. An MCP server, a scheduled export, or webhooks are equally acceptable; the resource shapes above are what is normative. Authentication. A single credential (bearer token or API key) per customer, scoped to that customer’s data only. Per-resource scopes, for exampleread:usage or read:conversations, allow a customer to share usage metrics without exposing conversation content.
Synchronisation. Velatir retrieves data by polling on a schedule. The following are recommended rather than required; where they are absent, Velatir performs a full re-pull.
- Stable identifiers. A stable
idon every record allows Velatir to update records in place rather than duplicate them on re-sync. - Timestamps. RFC 3339, UTC.
updatedAtandoccurredAtallow Velatir to request only records that changed since the previous poll. - Pagination. Lists that return
{ data[], hasMore, nextCursor }with an opaque, retry-safe cursor allow Velatir to page through large histories reliably. - Incremental retrieval. Filtering lists by
updatedSince(conversations, assistants) andoccurredAfter(events) avoids re-reading the full history on each poll. - Forward compatibility. Fields and enum values may be added at any time. Velatir ignores unknown fields and never discards an unrecognised event
type.