Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/lytics-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API 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 Specification
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
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
/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
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
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
/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
/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
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
components:
schemas:
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.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
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
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
securitySchemes:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey