Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: BlueConic REST API v2 Reporting API
description: Welcome to the BlueConic REST API v2.
termsOfService: https://www.blueconic.com/blueconic-terms-and-conditions
contact:
name: Contact us
url: https://support.blueconic.com/hc/en-us/requests/new
license:
name: BlueConic
url: https://github.com/blueconic/openapi/blob/main/LICENSE.MD
version: '100.0'
servers:
- url: https://{blueconicHostname}/rest/v2
description: The BlueConic server
variables:
blueconicHostname:
description: BlueConic server hostname, e.g. 'tenant.blueconic.net'
default: tenantname
tags:
- name: Reporting
description: All reporting related endpoints.
paths:
/reporting/dialogues:
get:
tags:
- Reporting
summary: Retrieve dialogues statistics
description: Retrieves all statistics for the given dialogues
operationId: getDialogueStatistics
parameters:
- name: dialogueId
in: query
description: Specifies the dialogue IDs to return the statistics for.
required: true
schema:
type: array
example: 6e264f9d-4305-426e-9a7e-7e6ec9b2a18c
items:
type: string
example: 6e264f9d-4305-426e-9a7e-7e6ec9b2a18c
- name: startDate
in: query
description: Specifies the startDate of the reporting period. Defaults to 30 days ago if not specified. Format is yyyy-MM-dd.
schema:
type: string
example: 2024-11-08
- name: endDate
in: query
description: Specifies the endDate of the reporting period. Defaults to today if not specified. Format is yyyy-MM-dd.
schema:
type: string
example: 2025-01-25
- name: excludeControlGroup
in: query
description: Whether or not to exclude the control group statistics in the response.
schema:
type: boolean
default: false
example: true
- name: addRatio
in: query
description: Specifies the additional ratios to return in the response.
schema:
type: array
example: UNIQUETOTALCONVERSION_UNIQUEVIEW
items:
type: string
example: UNIQUETOTALCONVERSION_UNIQUEVIEW
responses:
'200':
description: Returns the dialogue statistics.
content:
application/json:
schema:
$ref: '#/components/schemas/result'
examples:
Response body:
description: Response body
value: "{\n \"entries\" : [ {\n \"dialogueId\" : \"7c2c3c90-679b-4cf8-a957-27e629b7a24e\",\n \"isEnabled\" : false,\n \"name\" : \"Copy of example LB\",\n \"statistics\" : {\n \"clicks\" : 0,\n \"clickViewRatio\" : null,\n \"conversionClickRatio\" : null,\n \"conversions\" : 0,\n \"conversionUniqueviewRatio\" : null,\n \"conversionValue\" : 0.00,\n \"conversionValueClickRatio\" : null,\n \"conversionValueConversionRatio\" : null,\n \"conversionValueViewRatio\" : null,\n \"conversionViewRatio\" : null,\n \"indirectConversions\" : 0,\n \"liftClickViewRatio\" : null,\n \"liftConversionClickRatio\" : null,\n \"liftConversionUniqueviewRatio\" : null,\n \"liftConversionValueClickRatio\" : null,\n \"liftConversionValueConversionRatio\" : null,\n \"liftConversionValueViewRatio\" : null,\n \"liftConversionViewRatio\" : null,\n \"liftUniquetotalconversionUniqueviewRatio\" : null,\n \"liftViewUniqueviewRatio\" : null,\n \"totalConversions\" : 0,\n \"uniqueClickDialogues\" : 0,\n \"uniqueClicks\" : 0,\n \"uniqueConversionDialogues\" : 0,\n \"uniqueConversions\" : 0,\n \"uniqueIndirectConversionDialogues\" : 0,\n \"uniqueIndirectConversions\" : 0,\n \"uniqueTotalConversionDialogues\" : 0,\n \"uniqueTotalConversions\" : 0,\n \"uniquetotalconversionUniqueviewRatio\" : null,\n \"uniqueViewDialogues\" : 0,\n \"uniqueViews\" : 0,\n \"views\" : 0,\n \"viewUniqueviewRatio\" : null\n }\n }, {\n \"dialogueId\" : \"6e264f9d-4305-426e-9a7e-7e6ec9b2a18c\",\n \"isEnabled\" : true,\n \"name\" : \"example LB\",\n \"statistics\" : {\n \"clicks\" : 0,\n \"clickViewRatio\" : 0.00,\n \"conversionClickRatio\" : null,\n \"conversions\" : 0,\n \"conversionUniqueviewRatio\" : 0.00,\n \"conversionValue\" : 0.00,\n \"conversionValueClickRatio\" : null,\n \"conversionValueConversionRatio\" : null,\n \"conversionValueViewRatio\" : 0.00,\n \"conversionViewRatio\" : 0.00,\n \"indirectConversions\" : 0,\n \"liftClickViewRatio\" : null,\n \"liftConversionClickRatio\" : null,\n \"liftConversionUniqueviewRatio\" : null,\n \"liftConversionValueClickRatio\" : null,\n \"liftConversionValueConversionRatio\" : null,\n \"liftConversionValueViewRatio\" : null,\n \"liftConversionViewRatio\" : null,\n \"liftUniquetotalconversionUniqueviewRatio\" : null,\n \"liftViewUniqueviewRatio\" : null,\n \"totalConversions\" : 0,\n \"uniqueClickDialogues\" : 0,\n \"uniqueClicks\" : 0,\n \"uniqueConversionDialogues\" : 0,\n \"uniqueConversions\" : 0,\n \"uniqueIndirectConversionDialogues\" : 0,\n \"uniqueIndirectConversions\" : 0,\n \"uniqueTotalConversionDialogues\" : 0,\n \"uniqueTotalConversions\" : 0,\n \"uniquetotalconversionUniqueviewRatio\" : 0.00,\n \"uniqueViewDialogues\" : 1,\n \"uniqueViews\" : 2,\n \"views\" : 4,\n \"viewUniqueviewRatio\" : 200.00\n }\n } ],\n \"startIndex\" : 0,\n \"timestamp\" : \"2025-09-20 to 2025-09-22\",\n \"totalResults\" : 2\n}"
'400':
description: One or more required parameters are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorRequestBean'
'401':
description: Authentication failed (unauthorized).
'403':
description: Authorization failed (incorrect permissions).
'503':
description: The server is too busy to handle the request.
security:
- oauth2:
- read:dialogues
components:
schemas:
ErrorRequestBean:
type: object
properties:
code:
type: integer
format: int32
errors:
type: array
items:
$ref: '#/components/schemas/ErrorBean'
message:
type: string
result:
type: object
properties:
dialogueStatistics:
type: array
description: The list of dialogue statistics entries, one per request dialogue UUID.
items:
$ref: '#/components/schemas/DialogueReportingEntry'
totalResults:
type: integer
format: int32
description: The total number of dialogues in the resultset.
DialogueReportingEntry:
type: object
description: The list of dialogue statistics entries, one per request dialogue UUID.
properties:
dialogueId:
type: string
description: The ID of the dialogue.
isEnabled:
type: boolean
description: Whether the dialogue is enabled or not.
name:
type: string
description: The dialogue name.
statistics:
type: object
additionalProperties:
type: number
description: The statistics in key/value format.
description: The statistics in key/value format.
ErrorBean:
type: object
properties:
field:
type: string
message:
type: string
securitySchemes:
oauth2:
type: oauth2
description: 'Authenticates a registered OAuth 2.0 client. The Authorization code flow and Client credentials flow are supported. Make sure to select the correct flow based on which flow the registered client supports. The client id and client secret can be found in BlueConic by opening the registered client under *Settings* > *Access management* > *Applications*.<br/>**NOTE:** When using the Authorization code flow, the redirect URL of the registered client in BlueConic must be set to `https://rest.apidoc.blueconic.com/oauth-receiver.html` and ''Send Proof Key for Code Exchange'' must be enabled.<br/><br/>To use a Bearer token for authentication, follow these steps: <br/>1. Acquire the token through authentication.<br/>2. Include the token in the request''s Authorization header as Bearer \<token\>.<br/>3. Send the request to access protected resources.<br/>4. Handle token expiration by refreshing or obtaining a new token.'
flows:
clientCredentials:
tokenUrl: /rest/v2/oauth/token
authorizationCode:
authorizationUrl: /rest/v2/oauth/authorize
tokenUrl: /rest/v2/oauth/token
refreshUrl: /rest/v2/oauth/token