Lytics · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Lytics Schema API
29 actions
29 updates
phrasing
extends
openapi/lytics-schema-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Lytics's API. It is a proposal applied on top of the contract, not a document Lytics publishes.
What the actions change
x-apievangelist-phrasing
Targets 29 · first 16 shown; the file carries all of them
$.info
$.paths['/schema'].get
$.paths['/schema/bulk'].put
$.paths['/schema/bulk'].post
$.paths['/schema/expression/evaluate'].post
$.paths['/schema/lql'].post
$.paths['/schema/{table}'].get
$.paths['/schema/{table}/compare'].get
$.paths['/schema/{table}/evaluate'].post
$.paths['/schema/{table}/field'].get
$.paths['/schema/{table}/field'].post
$.paths['/schema/{table}/field/{field_id}'].get
$.paths['/schema/{table}/field/{field_id}'].delete
$.paths['/schema/{table}/idconfig'].get
$.paths['/schema/{table}/idconfig'].post
$.paths['/schema/{table}/idconfig/{field_id}'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Lytics Schema API
version: 1.0.0
extends: openapi/lytics-schema-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-02'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 28
- target: $.paths['/schema'].get
update:
x-apievangelist-phrasing:
intent: List tables with their schemas
effect: read
questions:
- Which data tables does my account have a schema for?
- Can I list every table along with its schema?
instructions:
- text: List all my schema tables.
- text: Show the tables and schemas on account {account_id}.
slots:
account_id: query.account_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/bulk'].put
update:
x-apievangelist-phrasing:
intent: Bulk upsert schema objects (PUT)
effect: write
questions:
- Can I create or update many schema fields and mappings in one PUT request?
- Does the PUT bulk schema upsert leave existing objects in place?
instructions:
- text: PUT a bulk upsert of fields {fields} and mappings {mappings} into table {table}.
slots:
fields: requestBody.fields
mappings: requestBody.mappings
table: requestBody.table
- text: Use the PUT bulk endpoint to upsert schema for {table} as a patch {is_patch}.
slots:
table: requestBody.table
is_patch: requestBody.is_patch
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/bulk'].post
update:
x-apievangelist-phrasing:
intent: Bulk upsert schema objects (POST)
effect: write
questions:
- Is there a POST version of the bulk schema upsert?
- How do I post a batch of schema fields and ranks without deleting anything?
instructions:
- text: POST bulk schema changes with fields {fields} and ranks {ranks} for table {table}.
slots:
fields: requestBody.fields
ranks: requestBody.ranks
table: requestBody.table
- text: Send a POST bulk schema upsert for {table} with retention settings {retention_settings}.
slots:
table: requestBody.table
retention_settings: requestBody.retention_settings
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/expression/evaluate'].post
update:
x-apievangelist-phrasing:
intent: Test a mapping expression on one event
effect: read
questions:
- What would a mapping expression produce for a sample event?
- Can I try out an ad hoc mapping expression before saving it?
instructions:
- text: Evaluate expression {expression} against event {data}.
slots:
expression: requestBody.expression
data: requestBody.data
- text: Test mapping expression {expression} on a single event.
slots:
expression: requestBody.expression
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/lql'].post
update:
x-apievangelist-phrasing:
intent: Update the schema from an LQL query
effect: write
questions:
- Can I upload an LQL query to add fields and mappings to my schema?
- Is there a way to migrate legacy LQL into the schema?
instructions:
- text: Upload this LQL query to update my schema fields and mappings.
- text: Apply an LQL file to the schema of account {account_id}.
slots:
account_id: query.account_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}'].get
update:
x-apievangelist-phrasing:
intent: Get a table's schema
effect: read
questions:
- What fields, mappings and ranks make up the user table schema?
- Can I read the schema of a table at a specific draft version?
instructions:
- text: Show the current schema for table {table}.
slots:
table: path.table
- text: Get the schema of {table} at version {version_id}.
slots:
table: path.table
version_id: query.version_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/compare'].get
update:
x-apievangelist-phrasing:
intent: Diff two schema versions
effect: read
questions:
- What changed between two versions of my schema?
- Can I see a diff of my draft schema against another version?
instructions:
- text: Compare schema version {version_id} with {compare_id} on table {table}.
slots:
version_id: query.version_id
compare_id: query.compare_id
table: path.table
- text: Diff the {table} schema versions.
slots:
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/evaluate'].post
update:
x-apievangelist-phrasing:
intent: Evaluate a schema against test events
effect: read
questions:
- Will my published schema map test events the way I expect?
- Can I run sample events through a table's schema?
instructions:
- text: Evaluate the {table} schema against test events.
slots:
table: path.table
- text: Run test events through schema version {version_id} of {table}.
slots:
version_id: query.version_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/field'].get
update:
x-apievangelist-phrasing:
intent: List the fields in a table schema
effect: read
questions:
- Which fields are defined on my user table?
- Can I filter the list of schema fields?
instructions:
- text: List the fields of table {table}.
slots:
table: path.table
- text: List fields in {table} matching {filter}.
slots:
table: path.table
filter: query.filter
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/field'].post
update:
x-apievangelist-phrasing:
intent: Add or update a field in the draft schema
effect: write
questions:
- How do I add a new field to my draft schema?
- Can I mark a schema field as PII or as an identifier?
instructions:
- text: Add field {id} of type {type} to the {table} draft schema.
slots:
id: requestBody.id
type: requestBody.type
table: path.table
- text: Upsert field {id} in {table} with PII set to {is_pii} and identifier {is_identifier}.
slots:
id: requestBody.id
table: path.table
is_pii: requestBody.is_pii
is_identifier: requestBody.is_identifier
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/field/{field_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one schema field
effect: read
questions:
- What type and merge behaviour does a particular field have?
- Can I look up one schema field by its id?
instructions:
- text: Show field {field_id} in table {table}.
slots:
field_id: path.field_id
table: path.table
- text: Get the definition of {table} field {field_id} at version {version_id}.
slots:
table: path.table
field_id: path.field_id
version_id: query.version_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/field/{field_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a field from the draft schema
effect: destructive
questions:
- Can I remove a field from my draft schema?
- Is a deleted schema field soft-deleted or gone for good?
instructions:
- text: Delete field {field_id} from the {table} draft schema.
slots:
field_id: path.field_id
table: path.table
- text: Drop schema field {field_id} on {table}.
slots:
field_id: path.field_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/idconfig'].get
update:
x-apievangelist-phrasing:
intent: List identity merge settings for all fields
effect: read
questions:
- How are graph compaction and many-to-one merging set up across my identity fields?
- Can I see the identity config of every identifier at once?
instructions:
- text: List identity config for all fields in {table}.
slots:
table: path.table
- text: Show graph compaction settings across {table} identity fields.
slots:
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/idconfig'].post
update:
x-apievangelist-phrasing:
intent: Set identity merge config for a field
effect: write
questions:
- Can I change how one identity field is compacted or merged?
- How do I configure many-to-one merging for an identifier?
instructions:
- text: Create or update identity merge config for a field in {table}.
slots:
table: path.table
- text: Save many-to-one merging settings for an identifier on {table}.
slots:
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/idconfig/{field_id}'].get
update:
x-apievangelist-phrasing:
intent: Get identity merge config for one field
effect: read
questions:
- What merge settings apply to one particular identity field?
- Is graph compaction turned on for a given identifier?
instructions:
- text: Show identity config for field {field_id} in {table}.
slots:
field_id: path.field_id
table: path.table
- text: Get the merging settings of identifier {field_id} on {table}.
slots:
field_id: path.field_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/idconfig/{field_id}'].delete
update:
x-apievangelist-phrasing:
intent: Remove identity merge config from a field
effect: destructive
questions:
- Can I clear the compaction and merge settings on one identifier?
- How do I delete the ID settings from a schema field?
instructions:
- text: Delete the identity config of field {field_id} in {table}.
slots:
field_id: path.field_id
table: path.table
- text: Clear ID settings on {table} field {field_id}.
slots:
table: path.table
field_id: path.field_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/mapping'].get
update:
x-apievangelist-phrasing:
intent: List the mappings in a table schema
effect: read
questions:
- Which data mappings feed my user table?
- Can I see every mapping in the schema at a given version?
instructions:
- text: List the mappings of table {table}.
slots:
table: path.table
- text: Show {table} mappings at version {version_id}.
slots:
table: path.table
version_id: query.version_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/mapping'].post
update:
x-apievangelist-phrasing:
intent: Add or update a mapping in the draft schema
effect: write
questions:
- How do I map an incoming stream field into a schema field?
- Can a mapping have a guard expression so it only applies sometimes?
instructions:
- text: Map stream {stream} into field {field} of {table} using {expr}.
slots:
stream: requestBody.stream
field: requestBody.field
table: path.table
expr: requestBody.expr
- text: Upsert a mapping for field {field} on {table} guarded by {guard_expr}.
slots:
field: requestBody.field
table: path.table
guard_expr: requestBody.guard_expr
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/mapping/{mapping_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one schema mapping
effect: read
questions:
- What expression does a particular mapping use?
- Can I look up one mapping by its id?
instructions:
- text: Show mapping {mapping_id} in table {table}.
slots:
mapping_id: path.mapping_id
table: path.table
- text: Get the definition of {table} mapping {mapping_id}.
slots:
table: path.table
mapping_id: path.mapping_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/mapping/{mapping_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a mapping from the draft schema
effect: destructive
questions:
- Can I remove a data mapping I added by mistake?
- Is a deleted mapping soft-deleted from the draft?
instructions:
- text: Delete mapping {mapping_id} from the {table} draft schema.
slots:
mapping_id: path.mapping_id
table: path.table
- text: Drop data mapping {mapping_id} on {table}.
slots:
mapping_id: path.mapping_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/publish'].post
update:
x-apievangelist-phrasing:
intent: Publish draft schema changes
effect: write
questions:
- How do I make my draft schema changes go live?
- Can I tag a schema version when publishing it?
instructions:
- text: Publish the draft schema for {table}.
slots:
table: path.table
- text: Publish {table} schema changes with tag {tag} and note {description}.
slots:
table: path.table
tag: requestBody.tag
description: requestBody.description
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/rank'].get
update:
x-apievangelist-phrasing:
intent: Get the identifier rank list
effect: read
questions:
- In what order are identifiers ranked when resolving profiles?
- Which identity field ranks highest in my schema?
instructions:
- text: Show the identifier rank list for {table}.
slots:
table: path.table
- text: Get {table} identifier ranks at version {version_id}.
slots:
table: path.table
version_id: query.version_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/rank'].post
update:
x-apievangelist-phrasing:
intent: Set the identifier rank list
effect: write
questions:
- Can I reorder which identifiers take priority?
- How do I change the identifier ranking in my draft schema?
instructions:
- text: Set the identifier rank order of {table} to {fields}.
slots:
table: path.table
fields: requestBody.fields
- text: Apply rank changes {changes} to {table}.
slots:
changes: requestBody.changes
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/retentionsettings'].get
update:
x-apievangelist-phrasing:
intent: Get data retention settings
effect: read
questions:
- How long is profile data kept for my table?
- What retention capacity is set on a schema?
instructions:
- text: Show retention settings for {table}.
slots:
table: path.table
- text: Get {table} retention at version {version_id}.
slots:
table: path.table
version_id: query.version_id
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/retentionsettings'].post
update:
x-apievangelist-phrasing:
intent: Change data retention settings
effect: write
questions:
- Can I shorten how many days of data a table keeps?
- How do I set a retention capacity on my schema?
instructions:
- text: Keep {keep_days} days of data in {table}.
slots:
keep_days: requestBody.keep_days
table: path.table
- text: Set retention capacity of {table} to {capacity}.
slots:
table: path.table
capacity: requestBody.capacity
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/revert'].post
update:
x-apievangelist-phrasing:
intent: Revert a draft schema to the live version
effect: destructive
questions:
- Can I throw away my draft schema edits and go back to what is live?
- How do I undo every unpublished change to a schema?
instructions:
- text: Revert the {table} draft schema to the live schema.
slots:
table: path.table
- text: Discard changes in schema version {version_id} of {table}.
slots:
version_id: query.version_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/validate'].get
update:
x-apievangelist-phrasing:
intent: Validate a schema
effect: read
questions:
- Is my draft schema valid before I publish it?
- What validation errors does a schema version have?
instructions:
- text: Validate the schema of {table}.
slots:
table: path.table
- text: Check schema version {version_id} of {table} for errors.
slots:
version_id: query.version_id
table: path.table
method: generated
generated: '2026-10-02'
- target: $.paths['/schema/{table}/version'].get
update:
x-apievangelist-phrasing:
intent: List a schema's version history
effect: read
questions:
- Who published which schema versions, and when?
- Can I see the full history of a table's schema?
instructions:
- text: List every schema version of {table}.
slots:
table: path.table
- text: Show the publish history for the {table} schema.
slots:
table: path.table
method: generated
generated: '2026-10-02'