Operations 8
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
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/lytics:lytics-reports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
contact:
email: support@lytics.com
name: Lytics Support
url: https://support.lytics.com/hc/en-us
description: Version 2 of the Lytics API
termsOfService: https://www.lytics.com/terms-of-service/
title: Lytics Reports API
version: '2.0'
servers:
- url: https://api.lytics.io/v2
tags:
- description: Create and manage reports.
name: Reports
paths:
/report:
get:
description: Get a list of all Reports for the account
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
items:
$ref: '#/components/schemas/models.Report'
type: array
type: object
description: Report List Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Get Reports
tags:
- Reports
operationId: getReport
x-operation-id-source: derived
post:
description: Create a new Report
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/models.Report'
description: Report Request
required: true
x-originalParamName: report
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'201':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Create a Report
tags:
- Reports
operationId: postReport
x-operation-id-source: derived
/report/{id}:
delete:
description: Delete a Report by ID
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Delete a Report
tags:
- Reports
operationId: deleteReportById
x-operation-id-source: derived
get:
description: Get a Report by ID
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Get a Report
tags:
- Reports
operationId: getReportById
x-operation-id-source: derived
put:
description: Update a Report's label or description
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/models.Report'
description: Report Request
required: true
x-originalParamName: report
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Update Report
tags:
- Reports
operationId: putReportById
x-operation-id-source: derived
/report/{id}/component:
post:
description: 'Add a new Report Component to the Report. If the component already exists, it will be updated.
To create a new Component, you will need to specify the `type`, `name`, and `config` fields.
Depending on the Component type, you may need to specify additional fields in the `config` object.
For `size` components, you will need to specify the `segment_ids` field (`[]string`) in the `config` object.
For `composition` components, you will need to specify the `segment_ids` (`[]string`) field and a `field` (`string`) from the user schema in the `config` object.
For `overflow` components, you will need to specify the `segment_ids` (`[]string`) field in the `config` object.
For `dataflow` components, you will need to specify the `segment_ids` (`[]string`) field in the `config` object, as well as `show_providers`, `show_streams`, and `show_destinations` (`boolean`) options.'
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/models.Component'
description: Component Request
required: true
x-originalParamName: report
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'201':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Create a new Report Component
tags:
- Reports
operationId: postReportByIdComponent
x-operation-id-source: derived
/report/{id}/component/{componentid}:
delete:
description: Delete a Report Component by ID
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
- description: The component ID
in: path
name: componentid
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Delete a Report Component
tags:
- Reports
operationId: deleteReportByIdComponentByComponentid
x-operation-id-source: derived
put:
description: Update a Report Component by ID
parameters:
- description: The account ID. Defaults to the user's default account.
in: query
name: account_id
schema:
type: string
- description: The report ID
in: path
name: id
required: true
schema:
type: string
- description: The component ID
in: path
name: componentid
required: true
schema:
type: string
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/models.Component'
description: Component Request
required: true
x-originalParamName: report
responses:
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/models.ApiResponse'
- properties:
data:
$ref: '#/components/schemas/models.Report'
type: object
description: Report Response
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Bad Request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ApiErrorResponse'
description: Internal Server Error
security:
- ApiKeyAuth: []
summary: Update a Report component
tags:
- Reports
operationId: putReportByIdComponentByComponentid
x-operation-id-source: derived
components:
schemas:
models.ApiErrorResponse:
properties:
errors:
description: Lytics API Errors
items:
$ref: '#/components/schemas/lioerrors.ApiV2ErrorOut'
type: array
request_id:
type: string
status:
description: HTTP Status Code
type: integer
type: object
models.Component:
properties:
config:
description: The configuration for the component. The structure of this object is dependent on the type of component. See the top of the page for more information.
description:
description: An optional description of the component
type: string
id:
type: string
name:
description: The name of the component to be used in the Report.
type: string
type:
description: The type of component to be used in the Report.
enum:
- size
- composition
- overlap
- dataflow
type: string
required:
- name
- type
type: object
models.ApiResponse:
properties:
_meta:
additionalProperties: true
description: Response Metadata
type: object
data:
description: Response Payload
type: object
request_id:
type: string
status:
description: HTTP Status Code
type: integer
type: object
lioerrors.ApiV2ErrorOut:
properties:
code:
description: Lytics Error Code
enum:
- UNKNOWN-000
- BADREQ-001
- JOB-BADREQ-002
- NOTFOUND-003
- JOB-NOTFOUND-004
- WF-NOTFOUND-005
- AUTH-NOTFOUND-006
- AUTHTYPE-NOTFOUND-007
- AUTH-BADREQ-008
- TABLE-NOTFOUND-009
- SCHEMA-NOTFOUND-010
- SCHEMAVERSION-NOTFOUND-011
- ENTITY-NOTFOUND-012
- QUERY-NOTFOUND-013
- STREAM-NOTFOUND-014
- PROVIDER-BADREQ-015
- PROVIDER-NOTFOUND-016
- UNAUTHORIZED-017
- SCHEMA-INVALID-018
- INTERNAL-019
- ROUTERULE-NOTFOUND-020
- ACCOUNT-NOTFOUND-021
- JOB-FAULT-022
- USER-NOTFOUND-023
- USER-BADREQ-024
- JSON-BADREQ-025
- FORBIDDEN-026
type: string
level:
description: When the error was generated
type: string
message:
description: A description of the error that occurred
type: string
timestamp:
description: The time the error occurred
format: date-time
type: string
type: object
models.Report:
properties:
components:
description: List of components that make up the report
items:
$ref: '#/components/schemas/models.Component'
type: array
description:
description: An optional description of the Report
type: string
label:
description: A label for the Report. This is how the report will be identified in the UI.
type: string
user_id:
description: The user ID that created or updated the report
type: string
required:
- label
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey