arazzo: 1.0.1 info: title: Adobe Analytics Annotate a Date Range and Run a Report summary: Review saved date ranges, create an annotation for a period, then run a report over it. description: >- Marks a notable period in the reporting timeline and reports on it in one pass. The workflow lists the saved date ranges available to the company for reference, creates an annotation that documents a specific date range on a report suite, and then runs a report scoped to the same date range so the annotated period can be examined immediately. Every step spells out its request inline, including the Adobe IMS bearer token and Developer Console API key headers. version: 1.0.0 sourceDescriptions: - name: analyticsApi url: ../openapi/adobe-analytics-api-openapi.yml type: openapi workflows: - workflowId: annotate-and-run-report summary: Create an annotation for a date range and run a report over that range. description: >- Lists saved date ranges for reference, creates an annotation describing a period on a report suite, and runs a report scoped to the same period. inputs: type: object required: - accessToken - apiKey - rsid - annotationName - dateRange - metricId properties: accessToken: type: string description: Adobe IMS OAuth 2.0 access token (sent as a Bearer token). apiKey: type: string description: Adobe Developer Console API key (x-api-key header). rsid: type: string description: The report suite ID to annotate and report against. locale: type: string description: Locale for response labels (e.g. en_US). default: en_US annotationName: type: string description: Display name for the annotation. annotationDescription: type: string description: Notes documenting why this period is annotated. default: Created via Arazzo workflow. dateRange: type: string description: >- ISO 8601 date range covered by both the annotation and the report global date filter. annotationColor: type: string description: Hex color code for the annotation display. default: "#1473E6" metricId: type: string description: The metric ID to report on (e.g. metrics/visits). dimension: type: string description: The primary dimension ID for the report (e.g. variables/page). default: variables/page steps: - stepId: listDateRanges description: List the saved date ranges available to the company for reference. operationId: listDateRanges parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: x-api-key in: header value: $inputs.apiKey - name: locale in: query value: $inputs.locale - name: limit in: query value: 10 successCriteria: - condition: $statusCode == 200 outputs: firstDateRangeId: $response.body#/0/id - stepId: createAnnotation description: Create an annotation documenting the period on the report suite. operationId: createAnnotation parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: x-api-key in: header value: $inputs.apiKey requestBody: contentType: application/json payload: name: $inputs.annotationName description: $inputs.annotationDescription dateRange: $inputs.dateRange rsids: - $inputs.rsid color: $inputs.annotationColor successCriteria: - condition: $statusCode == 200 outputs: annotationId: $response.body#/id - stepId: runReport description: Run a report scoped to the same period that was just annotated. operationId: runReport parameters: - name: Authorization in: header value: "Bearer $inputs.accessToken" - name: x-api-key in: header value: $inputs.apiKey requestBody: contentType: application/json payload: rsid: $inputs.rsid locale: $inputs.locale globalFilters: - type: dateRange dateRange: $inputs.dateRange metricContainer: metrics: - id: $inputs.metricId columnId: "0" dimension: $inputs.dimension settings: limit: 50 page: 0 nonesBehavior: exclude-nones successCriteria: - condition: $statusCode == 200 outputs: rows: $response.body#/rows outputs: annotationId: $steps.createAnnotation.outputs.annotationId rows: $steps.runReport.outputs.rows