openapi: 3.2.0 info: title: Streetmetrics Reporting API version: '3.0' contact: {} description: 'Operations tagged Reporting across 2 of this provider''s published API definitions: streetmetrics-public-api-docs-json.json, streetmetrics-public-api-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://dashboard.streetmetrics.io/v3/public/ tags: - name: Reporting paths: /public/reporting/impressions/date: get: operationId: ReportingController_getImpressionsByDate parameters: - name: marketId required: false in: query description: The ID of the market schema: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: summaryBin required: true in: query description: Summary bin for grouping data schema: type: string enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW - name: timezone required: false in: query description: Timezone for date calculations schema: type: string responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByDateResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve impressions data grouped by date tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/impressions/ad-group: get: operationId: ReportingController_getImpressionsByAdGroup parameters: - name: marketId required: false in: query description: The ID of the market schema: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: summaryBin required: true in: query description: Summary bin for grouping data schema: type: string enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW - name: timezone required: false in: query description: Timezone for date calculations schema: type: string responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByAdGroupResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve impressions data grouped by ad group tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/impressions/unit: get: operationId: ReportingController_getImpressionsByUnit parameters: - name: marketIds required: false in: query description: The IDs of the markets (if optional will use all markets for the campaign) schema: type: array items: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: unitType required: false in: query description: Asset or Frame, defaults to both schema: type: string - name: summaryBin required: false in: query description: Summary bin for grouping data schema: type: string enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByUnitResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve impressions data grouped by unit tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/demographics: get: operationId: ReportingController_getDemographics parameters: - name: campaignId required: false in: query description: The ID of the campaigns (only supports one campaign at a time) schema: type: array items: type: number - name: startDate required: false in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: false in: query description: End date as Unix timestamp schema: type: number responses: '200': description: Demographics data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetDemographicsResponseDto' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve demographics data grouped by campaign tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/affinities: get: operationId: ReportingController_getAffinities parameters: - name: campaignId required: false in: query description: The ID of the campaigns (only supports one campaign at a time) schema: type: array items: type: number - name: startDate required: false in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: false in: query description: End date as Unix timestamp schema: type: number responses: '200': description: Affinities data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetAffinitiesResponseDto' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve affinities data tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/uf/campaign/{campaignId}: get: operationId: ReportingController_getUfCampaign parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDto' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve uniques and frequency data grouped by campaign tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/uf/ad-group/campaign/{campaignId}: get: operationId: ReportingController_getUfAdGroup parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDtoAdgroup' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve uniques and frequency data grouped by ad group tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /public/reporting/uf/unit/campaign/{campaignId}: get: operationId: ReportingController_getUfUnit parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDtoUnit' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' summary: Retrieve uniques and frequency data grouped by unit tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/impressions/date: get: operationId: ReportingController_getImpressionsByDate summary: Retrieve impressions data grouped by date parameters: - name: marketId required: false in: query description: The ID of the market schema: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: summaryBin required: true in: query description: Summary bin for grouping data schema: enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW type: string - name: timezone required: false in: query description: Timezone for date calculations schema: type: string responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByDateResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/impressions/ad-group: get: operationId: ReportingController_getImpressionsByAdGroup summary: Retrieve impressions data grouped by ad group parameters: - name: marketId required: false in: query description: The ID of the market schema: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: summaryBin required: true in: query description: Summary bin for grouping data schema: enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW type: string - name: timezone required: false in: query description: Timezone for date calculations schema: type: string responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByAdGroupResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/impressions/unit: get: operationId: ReportingController_getImpressionsByUnit summary: Retrieve impressions data grouped by unit parameters: - name: marketIds required: false in: query description: The IDs of the markets (if optional will use all markets for the campaign) schema: type: array items: type: number - name: startDate required: true in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: true in: query description: End date as Unix timestamp schema: type: number - name: campaignId required: true in: query description: The ID of the campaign schema: type: number - name: unitType required: false in: query description: Asset or Frame, defaults to both schema: type: string - name: summaryBin required: false in: query description: Summary bin for grouping data schema: enum: - LIFETIME - WEEK - MONTH - DAY - HOUR - DOW type: string responses: '200': description: Impressions data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetImpressionsByUnitResponseDto' '204': description: No Impressions found '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/demographics: get: operationId: ReportingController_getDemographics summary: Retrieve demographics data grouped by campaign parameters: - name: campaignId required: false in: query description: The ID of the campaigns (only supports one campaign at a time) schema: type: array items: type: number - name: startDate required: false in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: false in: query description: End date as Unix timestamp schema: type: number responses: '200': description: Demographics data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetDemographicsResponseDto' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/affinities: get: operationId: ReportingController_getAffinities summary: Retrieve affinities data parameters: - name: campaignId required: false in: query description: The ID of the campaigns (only supports one campaign at a time) schema: type: array items: type: number - name: startDate required: false in: query description: Start date as Unix timestamp schema: type: number - name: endDate required: false in: query description: End date as Unix timestamp schema: type: number responses: '200': description: Affinities data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GetAffinitiesResponseDto' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/uf/campaign/{campaignId}: get: operationId: ReportingController_getUfCampaign summary: Retrieve uniques and frequency data grouped by campaign parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDto' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/uf/ad-group/campaign/{campaignId}: get: operationId: ReportingController_getUfAdGroup summary: Retrieve uniques and frequency data grouped by ad group parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDtoAdgroup' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ /reporting/uf/unit/campaign/{campaignId}: get: operationId: ReportingController_getUfUnit summary: Retrieve uniques and frequency data grouped by unit parameters: - name: campaignId required: true in: path schema: type: number responses: '200': description: Uniques and frequency data retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ClientReportingUfResponseDtoUnit' '401': description: Unauthorized '429': description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponseDto' tags: - Reporting servers: - url: https://dashboard.streetmetrics.io/v3/public/ components: schemas: ClientReportingImpressionsByAdGroupResponseDto: type: object properties: adGroupId: type: number example: 1 description: The ID of the ad group adGroupRef: type: string example: ADG12345 description: The reference code of the ad group impressions: type: number example: 500 description: Number of impressions for the ad group summaryBinGrouping: type: object example: LIFETIME description: The summary bin date grouping impressionsLts: type: number example: 100 description: Number of LTS impressions for the given ad group. Currently available for stationary, only. impressionsOts: type: number example: 200 description: Number of OTS impressions for the given ad group. Currently available for stationary, only. required: - adGroupId - adGroupRef - impressions - summaryBinGrouping - impressionsLts - impressionsOts ClientReportingImpressionsByUnitResponseDto: type: object properties: id: type: number example: 1 description: The ID of the unit ref: type: string example: ADG12345 description: The reference code of the unit type: type: string example: ASSET description: ASSET or FRAME impressions: type: number example: 200 description: Number of impressions for the unit rollupTimestamp: type: number example: 1672531200 description: The rollup timestamp for the summary bin date grouping summaryBinGrouping: type: string example: '2021-01-01' description: The summary bin date grouping impressionsLts: type: number example: 100 description: Number of LTS impressions for the given unit. Currently available for stationary, only. impressionsOts: type: number example: 200 description: Number of OTS impressions for the given unit. Currently available for stationary, only. required: - id - ref - type - impressions - rollupTimestamp - summaryBinGrouping - impressionsLts - impressionsOts ClientReportingUfResponseDto: type: object properties: id: type: number example: 1 description: The ID of the campaign ref: type: string example: ADG12345 description: The reference code of campaign date: type: string example: '2021-01-01' description: The date of the uniques and frequency data uniquesGross: type: number example: 100 description: The number of uniques gross frequencyGross: type: number example: 100 description: The number of frequency gross uniquesOts: type: number example: 100 description: The number of uniques OTS frequencyOts: type: number example: 100 description: The number of frequency OTS uniquesLts: type: number example: 100 description: The number of uniques LTS frequencyLts: type: number example: 100 description: The number of frequency LTS required: - id - ref - date - uniquesGross - frequencyGross - uniquesOts - frequencyOts - uniquesLts - frequencyLts GetAffinitiesResponseDto: type: object properties: statusCode: type: number message: type: string meta: type: object data: description: Affinities data grouped by campaign type: array items: $ref: '#/components/schemas/ClientReportingAffinitiesResponseDto' required: - statusCode - meta - data ClientReportingUfResponseDtoAdgroup: type: object properties: id: type: number example: 1 description: The ID of the Ad Group ref: type: string example: ADG12345 description: The reference code of the Ad Group date: type: string example: '2021-01-01' description: The date of the uniques and frequency data uniquesGross: type: number example: 100 description: The number of uniques gross frequencyGross: type: number example: 100 description: The number of frequency gross uniquesOts: type: number example: 100 description: The number of uniques OTS frequencyOts: type: number example: 100 description: The number of frequency OTS uniquesLts: type: number example: 100 description: The number of uniques LTS frequencyLts: type: number example: 100 description: The number of frequency LTS required: - id - ref - date - uniquesGross - frequencyGross - uniquesOts - frequencyOts - uniquesLts - frequencyLts ErrorResponseDto: type: object properties: status: type: string description: Status of the response example: error statusCode: type: number description: HTTP status code example: 400 errorCode: type: string description: Custom error code example: ERR001 message: type: string description: Error message example: Invalid input data details: type: - object - 'null' description: Additional details about the error timestamp: type: string description: Timestamp of the error example: '2024-08-26T14:56:29.000Z' path: type: string description: Request path where the error occurred example: /api/v1/resource required: - status - statusCode - errorCode - message - details - timestamp - path GetImpressionsByDateResponseDto: type: object properties: statusCode: type: number message: type: string meta: type: object data: description: Impressions grouped by date type: array items: $ref: '#/components/schemas/ClientReportingImpressionsByDateResponseDto' required: - statusCode - meta - data GetImpressionsByAdGroupResponseDto: type: object properties: statusCode: type: number message: type: string meta: type: object data: description: Impressions grouped by ad group type: array items: $ref: '#/components/schemas/ClientReportingImpressionsByAdGroupResponseDto' required: - statusCode - meta - data ClientReportingDemographicsResponseDto: type: object properties: category: type: string example: CATEGORY description: The category of the demographics group: type: string example: GROUP description: The group of the demographics deviceCount: type: number example: 100 description: The number of devices for the demographics percent: type: number example: 50 description: The percentage of the demographics required: - category - group - deviceCount - percent GetDemographicsResponseDto: type: object properties: statusCode: type: number message: type: string meta: type: object data: description: Demographics data grouped by campaign type: array items: $ref: '#/components/schemas/ClientReportingDemographicsResponseDto' required: - statusCode - meta - data ClientReportingAffinitiesResponseDto: type: object properties: category: type: string example: CATEGORY description: The category of the affinities group: type: string example: GROUP description: The group of the affinities deviceCount: type: number example: 100 description: The number of devices for the affinities percent: type: number example: 50 description: The percentage of the affinities (gross composition) ltsPercent: type: number example: 45 description: The LTS percentage of the affinities otsPercent: type: number example: 55 description: The OTS percentage of the affinities grossPercent: type: number example: 50 description: The gross percentage of the affinities ltsComposition: type: number example: 45 description: The LTS composition of the affinities otsComposition: type: number example: 55 description: The OTS composition of the affinities grossComposition: type: number example: 50 description: The gross composition of the affinities required: - category - group - deviceCount - percent - ltsPercent - otsPercent - grossPercent - ltsComposition - otsComposition - grossComposition GetImpressionsByUnitResponseDto: type: object properties: statusCode: type: number message: type: string meta: type: object data: description: Impressions grouped by unit type: array items: $ref: '#/components/schemas/ClientReportingImpressionsByUnitResponseDto' required: - statusCode - meta - data ClientReportingUfResponseDtoUnit: type: object properties: id: type: number example: 1 description: The ID of the Unit ref: type: string example: ADG12345 description: The reference code of the Unit date: type: string example: '2021-01-01' description: The date of the uniques and frequency data uniquesGross: type: number example: 100 description: The number of uniques gross frequencyGross: type: number example: 100 description: The number of frequency gross uniquesOts: type: number example: 100 description: The number of uniques OTS frequencyOts: type: number example: 100 description: The number of frequency OTS uniquesLts: type: number example: 100 description: The number of uniques LTS frequencyLts: type: number example: 100 description: The number of frequency LTS type: type: string example: ASSET description: ASSET or FRAME required: - id - ref - date - uniquesGross - frequencyGross - uniquesOts - frequencyOts - uniquesLts - frequencyLts - type ClientReportingImpressionsByDateResponseDto: type: object properties: summaryBinGrouping: type: object example: '2021-01-01' description: Date in string format impressions: type: number example: 1000 description: Number of impressions for the given date impressionsLts: type: number example: 100 description: Number of LTS impressions for the given date. Currently available for stationary, only. impressionsOts: type: number example: 200 description: Number of OTS impressions for the given date. Currently available for stationary, only. required: - summaryBinGrouping - impressions - impressionsLts - impressionsOts securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http x-refined-from: - streetmetrics-public-api-docs-json.json - streetmetrics-public-api-openapi.json x-explorer-enabled: false x-proxy-enabled: false