{ "opencollection": "1.0.0", "info": { "name": "Integration API - Consumer to Extole Audiences Report Types API", "version": "1.0" }, "request": { "auth": { "type": "apikey", "key": "Authorization", "value": "{{Authorization}}", "placement": "header" } }, "items": [ { "info": { "name": "Report Types", "type": "folder" }, "items": [ { "info": { "name": "List clients with access to a report type", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v6/report-types/:id/clients", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ] }, "docs": "Returns the ids of every client that currently has access to the supplied report type. Useful for auditing PRIVATE report types whose access list is managed via `PUT /v6/report-types/{id}/clients`. Marked `expert`: most integrators do not need cross-client access lists." }, { "info": { "name": "Replace the report type's client access list", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id/clients", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Replaces the set of clients that have access to a PRIVATE report type with the supplied list. The body is the complete new list - clients omitted lose access. Only applicable to PRIVATE report types; other visibilities return `400 report_type_change_clients_invalid`. Marked `expert`." }, { "info": { "name": "Revoke client access to a report type", "type": "http" }, "http": { "method": "DELETE", "url": "https://{brand}.extole.io/v6/report-types/:id/clients", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." }, { "name": "client_ids", "value": "", "type": "query" } ] }, "docs": "Removes the supplied `client_ids` from the report type's access list. Only applicable to PRIVATE report types; other visibilities return `400 report_type_change_clients_invalid`. Returns the report type after the revoke." }, { "info": { "name": "List report types", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v6/report-types", "params": [ { "name": "report_type_id", "value": "", "type": "query" }, { "name": "display_name", "value": "", "type": "query" }, { "name": "description", "value": "", "type": "query" }, { "name": "visibility", "value": "", "type": "query" }, { "name": "tags", "value": "", "type": "query" }, { "name": "exclude_tags", "value": "", "type": "query" }, { "name": "search_query", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "order_by", "value": "", "type": "query" }, { "name": "order", "value": "", "type": "query" } ] }, "docs": "Returns the report types visible to the calling client, filtered and ordered by the supplied query parameters. Supports paging via `limit` / `offset` and ordering via `order_by` / `order`. Use this to populate report-builder pickers and to discover the available `parameters`, `formats`, and `scopes` for each report type." }, { "info": { "name": "Create a report type", "type": "http" }, "http": { "method": "POST", "url": "https://{brand}.extole.io/v6/report-types", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new report-type definition (SQL- or CONFIGURED-shaped). Returns the persisted report type with its server-assigned id and any defaulted fields. Marked `expert`: report-type definitions are typically managed by Extole staff." }, { "info": { "name": "Add dynamic parameters to a report type", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id/parameters-add", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Appends the supplied dynamic parameters to the report type's `parameters` list. Static parameters cannot be added via this endpoint - use `createReportType` or `updateReportType` to configure those. Returns the report type after the update." }, { "info": { "name": "Remove dynamic parameters from a report type", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id/parameters-delete", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Removes the supplied parameters (by name) from the report type's `parameters` list. Static parameters cannot be deleted via this endpoint - they are part of the report type's contract and changing them requires a `updateReportType` call. Returns the report type after the update." }, { "info": { "name": "Add tags to a report type", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id/tags-add", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Appends the supplied tags to the report type's tag list. Existing tags are left unchanged; duplicates in the body are ignored. Returns the report type after the update." }, { "info": { "name": "Remove tags from a report type", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id/tags-delete", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Removes the supplied tags from the report type's tag list. Tags that are not currently set are silently ignored. Returns the report type after the update." }, { "info": { "name": "List report types with their associated clients", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v6/report-types/clients", "params": [ { "name": "report_type_id", "value": "", "type": "query" }, { "name": "display_name", "value": "", "type": "query" }, { "name": "description", "value": "", "type": "query" }, { "name": "visibility", "value": "", "type": "query" }, { "name": "tags", "value": "", "type": "query" }, { "name": "exclude_tags", "value": "", "type": "query" }, { "name": "search_query", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "order_by", "value": "", "type": "query" }, { "name": "order", "value": "", "type": "query" } ] }, "docs": "Returns every report type alongside the ids of clients that have access to it. Equivalent to running `listReportTypes` and `listReportTypeClients` for every result, but in a single call. Requires the `client_superuser` scope - use this only when auditing cross-client access at the platform level." }, { "info": { "name": "List recommended report types", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v6/report-types/recommendations", "params": [ { "name": "limit", "value": "", "type": "query", "description": "Optional filter for limit, defaults to 5." } ] }, "docs": "Returns report types that are recommended for immediate execution, ranked by relevance for the calling client. Use the `limit` parameter to control the maximum number of results (default: 5)." }, { "info": { "name": "Get report type", "type": "http" }, "http": { "method": "GET", "url": "https://{brand}.extole.io/v6/report-types/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ] }, "docs": "Returns the full report-type record for the supplied id, including its display name, description, declared `parameters`, supported `formats`, allowed `scopes`, visibility, and associated `tags`." }, { "info": { "name": "Update a report type", "type": "http" }, "http": { "method": "PUT", "url": "https://{brand}.extole.io/v6/report-types/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Applies a partial update to the supplied report type. Only the fields present in the body are changed; omitted fields are left intact. Returns the persisted report type after update." }, { "info": { "name": "Delete a report type", "type": "http" }, "http": { "method": "DELETE", "url": "https://{brand}.extole.io/v6/report-types/:id", "params": [ { "name": "id", "value": "", "type": "path", "description": "The Extole unique report type identifier." } ] }, "docs": "Deletes the supplied report type. Returns the deleted record on success. Fails with `400 report_type_has_dependent_types` if other report types depend on it; delete or detach the dependents first." } ] } ], "bundled": true }