openapi: 3.2.0 info: version: 1.1.0 title: LiveLike Analytics Cards API description: Access the data behind your LiveLike dashboards. Contact your LiveLike account manager to get your API key. servers: - url: https://metabase.livelikecdn.com description: LiveLike Metabase instance security: - ApiKeyAuth: [] tags: - name: Cards description: A Card is a single report. Use the metadata endpoint to see what data it returns and whether any filters are required, then use the download endpoint to get the data. x-readme-tag-description: A Card is a single report. Use the metadata endpoint to see what data it returns and whether any filters are required, then use the download endpoint to get the data. paths: /api/card/{card_id}: get: tags: - Cards summary: Get Card Metadata description: Returns the details of a report — what columns it returns and whether any filters are needed before downloading. operationId: get_card parameters: - in: path name: card_id required: true schema: {} description: Card ID from `GET /api/collection/{id}/items` — look for items where `model` is `"card"`. responses: '200': description: Full Card metadata including parameters and result_metadata. content: application/json: schema: $ref: '#/components/schemas/CardMetadata' examples: NoFilters: summary: Card with no required filters value: id: 3267 name: Daily KPIs - Unique Users & Impressions description: Daily aggregated KPIs for Serie A parameters: [] result_metadata: - name: date display_name: date base_type: type/Text - name: unique_users display_name: unique_users base_type: type/BigInteger - name: impressions display_name: impressions base_type: type/BigInteger WithFilters: summary: Card with a required filter value: id: 3268 name: Widget Engagement description: null parameters: - name: client_id display_name: Client ID type: text required: true result_metadata: - name: widget_type display_name: Widget Type base_type: type/Text - name: engagement_pct display_name: Engagement % base_type: type/Float '401': description: Unauthorized — `x-api-key` header is missing or invalid. '403': description: Forbidden — your API key doesn't have access to this Card. '404': description: Card not found. /api/card/{card_id}/query/{export_format}: post: tags: - Cards summary: Download Card Data description: 'Downloads the report data. Choose `csv`, `json`, or `xlsx` depending on what you need. If the report has no required filters, pass `parameters: []`. If it does, include a `QueryFilterParameter` entry for each required filter. > This is a `POST` request — filters go in the request body, not the URL.' operationId: post_card_query_export parameters: - in: path name: card_id required: true schema: {} description: Card ID from `GET /api/collection/{id}/items`. - in: path name: export_format required: true schema: enum: - csv - json - xlsx description: The format you want back. `csv` → `text/csv`. `json` → `application/json` (flat array of row objects). `xlsx` → Excel spreadsheet (`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`). requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QueryRequestBody' examples: NoFilters: summary: No filters — Card runs with defaults value: parameters: [] WithClientId: summary: Filter by client_id template tag value: parameters: - target: - variable - - template-tag - client_id value: YOUR_CLIENT_ID MultipleFilters: summary: Filter by both client_id and a date range value: parameters: - target: - variable - - template-tag - client_id value: YOUR_CLIENT_ID - target: - variable - - template-tag - created_at value: 2025-01-01~2025-03-31 responses: '200': description: Query results in the format you requested. content: text/csv: schema: format: binary example: 'Application ID,Distinct Users abc123,4821 def456,1203 ' application/json: schema: items: $ref: '#/components/schemas/ExportJsonRow' example: - Application ID: abc123 Distinct Users: 4821 - Application ID: def456 Distinct Users: 1203 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: schema: format: binary '400': description: Bad Request — the JSON body is malformed or a required filter parameter is missing from the `parameters` array. '401': description: Unauthorized — `x-api-key` header is missing or invalid. '403': description: Forbidden — your API key doesn't have access to this Card. '404': description: Card not found. '500': description: 'Query failed — the Card''s SQL threw a database error. This often means a required template tag parameter was not passed or was set to an invalid value. Check `parameters[]` on the Card and ensure all entries with `required: true` are included.' components: schemas: QueryRequestBody: type: object description: The request body for download endpoints. required: - parameters properties: parameters: type: array description: Filters to apply. Pass `[]` if the report has no required filters. items: $ref: '#/components/schemas/QueryFilterParameter' ResultMetadataColumn: type: object description: A column in the report's output. properties: name: type: string description: Column name. display_name: type: string description: Column label — this is the key you'll see in JSON downloads. base_type: type: string description: Data type, e.g. `"type/Text"`, `"type/Integer"`, `"type/DateTime"`. QueryFilterParameter: type: object description: A filter value to include when downloading report data. required: - type - target - value properties: type: type: string description: Use `"category"` for text filters. Also `"date/range"` and `"number/="`. example: category target: type: array description: 'Points to the filter: `["variable", ["template-tag", "filter_name"]]` where `filter_name` matches the `name` field in the report''s filters.' example: - variable - - template-tag - client_id value: type: string description: The value to filter by. example: YOUR_CLIENT_ID TemplateTagParameter: type: object description: A filter that can be applied when downloading a report. properties: name: type: string description: Filter name — use this in the `target` field when downloading. display_name: type: string description: Filter label. type: type: string description: 'Filter type: `"text"`, `"number"`, or `"date"`.' required: type: boolean description: '`true` means you must pass a value for this filter when downloading.' default: description: Default value. If set, the filter is optional. CardMetadata: type: object description: Details about a report — its columns and any filters it requires. properties: id: type: integer description: Report ID. name: type: string description: Report name. description: type: - string - 'null' description: What this report measures. parameters: type: array description: Filters for this report. Empty means no filters are needed. items: $ref: '#/components/schemas/TemplateTagParameter' result_metadata: type: array description: The columns in this report's output. items: $ref: '#/components/schemas/ResultMetadataColumn' ExportJsonRow: type: object description: One row of data from a JSON download. Keys match the `display_name` values from the report's columns. additionalProperties: true example: Total Programs: 42 Application ID: abc123 Created At: '2025-03-15T10:00:00Z' securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key description: Your API key. Contact your LiveLike account manager to get one. x-tagGroups: - name: API Reference tags: - Collections - Cards - Dashboards x-provenance: method: searched source: https://docs.livelike.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.livelike.com/reference/get_card.md - https://docs.livelike.com/reference/get_collection_items.md - https://docs.livelike.com/reference/get_collections.md - https://docs.livelike.com/reference/get_dashboard.md - https://docs.livelike.com/reference/post_card_query_export.md - https://docs.livelike.com/reference/post_dashboard_card_query_export.md merge: pages: 6 deduped: 11 conflicts_kept_first: 0