StreetMetrics Attribution Studies API

The Attribution Studies API from StreetMetrics — 6 operation(s) for attribution studies.

Operations 14

GET /public/attribution-studies/files/{id} Download an attribution study file as a ZIP #
GET /public/attribution-studies/{id} Get a specific attribution study by ID #
GET /public/attribution-studies Get a list of attribution studies #
POST /public/attribution-studies Create a new attribution study #
GET /public/attribution-studies/conversions/date Get conversions aggregated by date #
GET /public/attribution-studies/conversions/ad-group Get conversions aggregated by ad group #
GET /public/attribution-studies/conversions/unit Get conversions aggregated by unit #
GET /attribution-studies/files/{id} Download an attribution study file as a ZIP #
GET /attribution-studies/{id} Get a specific attribution study by ID #
GET /attribution-studies Get a list of attribution studies #
POST /attribution-studies Create a new attribution study #
GET /attribution-studies/conversions/date Get conversions aggregated by date #
GET /attribution-studies/conversions/ad-group Get conversions aggregated by ad group #
GET /attribution-studies/conversions/unit Get conversions aggregated by unit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/streetmetrics-attribution-studies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

streetmetrics-attribution-studies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Streetmetrics Attribution Studies API
  version: '3.0'
  contact: {}
  description: 'Operations tagged Attribution Studies 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: Attribution Studies
paths:
  /public/attribution-studies/files/{id}:
    get:
      operationId: AttributionStudyController_getAttributionStudyFile
      parameters:
      - name: id
        required: true
        in: path
        description: ID of the attribution study
        schema:
          type: number
      responses:
        '200':
          description: File downloaded successfully
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '404':
          description: File not found
          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: Download an attribution study file as a ZIP
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /public/attribution-studies/{id}:
    get:
      operationId: AttributionStudyController_getAttributionStudy
      parameters:
      - name: id
        required: true
        in: path
        description: ID of the attribution study
        schema:
          type: number
      - name: limit
        required: false
        in: query
        description: Limit the number of results (max 10000)
        schema:
          type: number
      - name: sort
        required: false
        in: query
        description: Field to sort by
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: Order direction
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: cursor
        required: false
        in: query
        description: "Cursor for pagination. \n      The cursor is used to fetch the next set of results in a paginated response.\n      Typically, it is provided in the 'nextCursor' field of the previous response.\n      Usage:\n      - Start by making an initial request without a cursor.\n      - In the response, you'll receive a 'nextCursor' if there are more results to fetch.\n      - Use this 'nextCursor' value as the cursor in your subsequent request to fetch the next page of results.\n      - Continue this process until the 'nextCursor' is null or not provided, indicating there are no more results.\n      Example: \n      \n    ?cursor=12345\n    "
        schema:
          type: string
      - name: include
        required: false
        in: query
        description: 'Entities to include in the response. Possible values: campaigns'
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: "Search query string. The syntax is 'fieldName.operation(a|o):value'.\n      The a|o (AND|OR) is optional and if not provided, it is considered as AND.\n    Additional searches can be chained with a comma.\n      Supported operations are:\n          - gt: Greater than\n          - lt: Less than\n          - gte: Greater than or equal to\n          - lte: Less than or equal to\n          - eq: Equal to\n          - ne: Not equal to\n          - ilike: Case-insensitive like\n          - like: Case-sensitive like\n          - startilike: Case-insensitive like at the start\n          - endilike: Case-insensitive like at the end\n          - startlike: Case-sensitive like at the start\n          - endlike: Case-sensitive like at the end\n        Logical operators:\n          - a: AND\n          - o: OR\n        Examples:\n          - assetRef.ilike:E62\n            Returns all assets with assetRef like E62\n          - createdAt.gte:2021-01-01\n            Returns all assets created after 2021-01-01\n          - status.eqo:PENDING,status.eqo:APPROVED\n            Returns all assets with status either PENDING OR APPROVED\n          - name.startilike:John\n            Returns all assets with name starting with John\n          - age.gtea:30,age.lt:40\n            Returns all assets with age greater than or equal to 30 and less than 40"
        schema:
          example: assetRef.ilike:E62,createdAt.gte:2021-01-01
          type: string
      responses:
        '200':
          description: Attribution study retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientAttributionStudyEntityDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '404':
          description: Attribution study not found
          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: Get a specific attribution study by ID
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /public/attribution-studies:
    get:
      operationId: AttributionStudyController_getAttributionStudies
      parameters:
      - name: limit
        required: false
        in: query
        description: Limit the number of results (max 10000)
        schema:
          type: number
      - name: sort
        required: false
        in: query
        description: Field to sort by
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: Order direction
        schema:
          type: string
          enum:
          - ASC
          - DESC
      - name: cursor
        required: false
        in: query
        description: "Cursor for pagination. \n      The cursor is used to fetch the next set of results in a paginated response.\n      Typically, it is provided in the 'nextCursor' field of the previous response.\n      Usage:\n      - Start by making an initial request without a cursor.\n      - In the response, you'll receive a 'nextCursor' if there are more results to fetch.\n      - Use this 'nextCursor' value as the cursor in your subsequent request to fetch the next page of results.\n      - Continue this process until the 'nextCursor' is null or not provided, indicating there are no more results.\n      Example: \n      \n    ?cursor=12345\n    "
        schema:
          type: string
      - name: include
        required: false
        in: query
        description: 'Entities to include in the response. Possible values: campaigns'
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: "Search query string. The syntax is 'fieldName.operation(a|o):value'.\n      The a|o (AND|OR) is optional and if not provided, it is considered as AND.\n    Additional searches can be chained with a comma.\n      Supported operations are:\n          - gt: Greater than\n          - lt: Less than\n          - gte: Greater than or equal to\n          - lte: Less than or equal to\n          - eq: Equal to\n          - ne: Not equal to\n          - ilike: Case-insensitive like\n          - like: Case-sensitive like\n          - startilike: Case-insensitive like at the start\n          - endilike: Case-insensitive like at the end\n          - startlike: Case-sensitive like at the start\n          - endlike: Case-sensitive like at the end\n        Logical operators:\n          - a: AND\n          - o: OR\n        Examples:\n          - assetRef.ilike:E62\n            Returns all assets with assetRef like E62\n          - createdAt.gte:2021-01-01\n            Returns all assets created after 2021-01-01\n          - status.eqo:PENDING,status.eqo:APPROVED\n            Returns all assets with status either PENDING OR APPROVED\n          - name.startilike:John\n            Returns all assets with name starting with John\n          - age.gtea:30,age.lt:40\n            Returns all assets with age greater than or equal to 30 and less than 40"
        schema:
          example: assetRef.ilike:E62,createdAt.gte:2021-01-01
          type: string
      responses:
        '200':
          description: List of attribution studies retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientAttributionStudyEntityDto'
        '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: Get a list of attribution studies
      tags:
      - Attribution Studies
    post:
      description: Creates an attribution study for a campaign. For Footfall studies, the campaign must have at least one market that is not blacklisted; a request for a Footfall study against a fully-blacklisted campaign is rejected with a 400. If a Footfall campaign is partially blacklisted, the study is still created and a note about the excluded markets is appended to the response `message`. Web and Mobile studies are not subject to this blacklist check.
      operationId: AttributionStudyController_createAttributionStudy
      parameters: []
      requestBody:
        required: true
        description: Data to create a new attribution study
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAttributionStudyDto'
      responses:
        '201':
          description: Attribution study created successfully. For a partially-blacklisted Footfall campaign, the `message` field also notes which markets were excluded.
        '400':
          description: Footfall study requested against a campaign whose markets are all blacklisted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '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: Create a new attribution study
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /public/attribution-studies/conversions/date:
    get:
      description: Retrieves conversion data aggregated by date. When summaryBin is specified, data is grouped by time periods (week, month, day, etc.).
      operationId: AttributionStudyController_getConversionsByDate
      parameters:
      - name: attributionId
        required: true
        in: query
        description: Attribution study ID
        schema:
          type: number
      - name: startDate
        required: false
        in: query
        description: Start date as Unix timestamp in epoch seconds. If not provided, uses attribution study start date.
        schema:
          type: number
      - name: endDate
        required: false
        in: query
        description: End date as Unix timestamp in epoch seconds. If not provided, uses attribution study post-study end date.
        schema:
          type: number
      - name: summaryBin
        required: false
        in: query
        description: Optional summary bin for grouping data by time periods (WEEK, MONTH, DAY, HOUR, LIFETIME, DOW). When specified, results include summaryBinGrouping field.
        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: Conversions by date retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConversionsByDateResponseDto'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '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: Get conversions aggregated by date
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /public/attribution-studies/conversions/ad-group:
    get:
      description: Retrieves conversion data aggregated by ad group (flight). When summaryBin is specified, data is grouped by both ad group and time periods.
      operationId: AttributionStudyController_getConversionsByAdGroup
      parameters:
      - name: attributionId
        required: true
        in: query
        description: Attribution study ID
        schema:
          type: number
      - name: startDate
        required: false
        in: query
        description: Start date as Unix timestamp in epoch seconds. If not provided, uses attribution study start date.
        schema:
          type: number
      - name: endDate
        required: false
        in: query
        description: End date as Unix timestamp in epoch seconds. If not provided, uses attribution study post-study end date.
        schema:
          type: number
      - name: summaryBin
        required: false
        in: query
        description: Optional summary bin for grouping data by time periods (WEEK, MONTH, DAY, HOUR, LIFETIME, DOW). When specified, results include summaryBinGrouping field.
        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: Conversions by ad group retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConversionsByAdGroupResponseDto'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '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: Get conversions aggregated by ad group
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /public/attribution-studies/conversions/unit:
    get:
      description: Retrieves conversion data aggregated by unit (matchable or creative). When summaryBin is specified, data is grouped by both unit and time periods. Use useCreative=true to group by creative instead of matchable.
      operationId: AttributionStudyController_getConversionsByUnit
      parameters:
      - name: attributionId
        required: true
        in: query
        description: Attribution study ID
        schema:
          type: number
      - name: startDate
        required: false
        in: query
        description: Start date as Unix timestamp in epoch seconds. If not provided, uses attribution study start date.
        schema:
          type: number
      - name: endDate
        required: false
        in: query
        description: End date as Unix timestamp in epoch seconds. If not provided, uses attribution study post-study end date.
        schema:
          type: number
      - name: summaryBin
        required: false
        in: query
        description: Optional summary bin for grouping data by time periods (WEEK, MONTH, DAY, HOUR, LIFETIME, DOW). When specified, results include summaryBinGrouping field.
        schema:
          type: string
          enum:
          - LIFETIME
          - WEEK
          - MONTH
          - DAY
          - HOUR
          - DOW
      - name: timezone
        required: false
        in: query
        description: Timezone for date calculations
        schema:
          type: string
      - name: useCreative
        required: false
        in: query
        description: When true, groups by creative fields instead of matchable fields. Only available for /unit endpoint.
        schema:
          type: boolean
      responses:
        '200':
          description: Conversions by unit retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetConversionsByUnitResponseDto'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '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: Get conversions aggregated by unit
      tags:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /attribution-studies/files/{id}:
    get:
      operationId: AttributionStudyController_getAttributionStudyFile
      summary: Download an attribution study file as a ZIP
      parameters:
      - name: id
        required: true
        in: path
        description: ID of the attribution study
        schema:
          type: number
      responses:
        '200':
          description: File downloaded successfully
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '404':
          description: File not found
          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:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /attribution-studies/{id}:
    get:
      operationId: AttributionStudyController_getAttributionStudy
      summary: Get a specific attribution study by ID
      parameters:
      - name: id
        required: true
        in: path
        description: ID of the attribution study
        schema:
          type: number
      - name: limit
        required: false
        in: query
        description: Limit the number of results (max 10000)
        schema:
          type: number
      - name: sort
        required: false
        in: query
        description: Field to sort by
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: Order direction
        schema:
          enum:
          - ASC
          - DESC
          type: string
      - name: cursor
        required: false
        in: query
        description: "Cursor for pagination. \n      The cursor is used to fetch the next set of results in a paginated response.\n      Typically, it is provided in the 'nextCursor' field of the previous response.\n      Usage:\n      - Start by making an initial request without a cursor.\n      - In the response, you'll receive a 'nextCursor' if there are more results to fetch.\n      - Use this 'nextCursor' value as the cursor in your subsequent request to fetch the next page of results.\n      - Continue this process until the 'nextCursor' is null or not provided, indicating there are no more results.\n      Example: \n      \n    ?cursor=12345\n    "
        schema:
          type: string
      - name: include
        required: false
        in: query
        description: 'Entities to include in the response. Possible values: campaigns'
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: "Search query string. The syntax is 'fieldName.operation(a|o):value'.\n      The a|o (AND|OR) is optional and if not provided, it is considered as AND.\n    Additional searches can be chained with a comma.\n      Supported operations are:\n          - gt: Greater than\n          - lt: Less than\n          - gte: Greater than or equal to\n          - lte: Less than or equal to\n          - eq: Equal to\n          - ne: Not equal to\n          - ilike: Case-insensitive like\n          - like: Case-sensitive like\n          - startilike: Case-insensitive like at the start\n          - endilike: Case-insensitive like at the end\n          - startlike: Case-sensitive like at the start\n          - endlike: Case-sensitive like at the end\n        Logical operators:\n          - a: AND\n          - o: OR\n        Examples:\n          - assetRef.ilike:E62\n            Returns all assets with assetRef like E62\n          - createdAt.gte:2021-01-01\n            Returns all assets created after 2021-01-01\n          - status.eqo:PENDING,status.eqo:APPROVED\n            Returns all assets with status either PENDING OR APPROVED\n          - name.startilike:John\n            Returns all assets with name starting with John\n          - age.gtea:30,age.lt:40\n            Returns all assets with age greater than or equal to 30 and less than 40"
        example: assetRef.ilike:E62,createdAt.gte:2021-01-01
        schema:
          type: string
      responses:
        '200':
          description: Attribution study retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientAttributionStudyEntityDto'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '404':
          description: Attribution study not found
          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:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /attribution-studies:
    get:
      operationId: AttributionStudyController_getAttributionStudies
      summary: Get a list of attribution studies
      parameters:
      - name: limit
        required: false
        in: query
        description: Limit the number of results (max 10000)
        schema:
          type: number
      - name: sort
        required: false
        in: query
        description: Field to sort by
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: Order direction
        schema:
          enum:
          - ASC
          - DESC
          type: string
      - name: cursor
        required: false
        in: query
        description: "Cursor for pagination. \n      The cursor is used to fetch the next set of results in a paginated response.\n      Typically, it is provided in the 'nextCursor' field of the previous response.\n      Usage:\n      - Start by making an initial request without a cursor.\n      - In the response, you'll receive a 'nextCursor' if there are more results to fetch.\n      - Use this 'nextCursor' value as the cursor in your subsequent request to fetch the next page of results.\n      - Continue this process until the 'nextCursor' is null or not provided, indicating there are no more results.\n      Example: \n      \n    ?cursor=12345\n    "
        schema:
          type: string
      - name: include
        required: false
        in: query
        description: 'Entities to include in the response. Possible values: campaigns'
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: "Search query string. The syntax is 'fieldName.operation(a|o):value'.\n      The a|o (AND|OR) is optional and if not provided, it is considered as AND.\n    Additional searches can be chained with a comma.\n      Supported operations are:\n          - gt: Greater than\n          - lt: Less than\n          - gte: Greater than or equal to\n          - lte: Less than or equal to\n          - eq: Equal to\n          - ne: Not equal to\n          - ilike: Case-insensitive like\n          - like: Case-sensitive like\n          - startilike: Case-insensitive like at the start\n          - endilike: Case-insensitive like at the end\n          - startlike: Case-sensitive like at the start\n          - endlike: Case-sensitive like at the end\n        Logical operators:\n          - a: AND\n          - o: OR\n        Examples:\n          - assetRef.ilike:E62\n            Returns all assets with assetRef like E62\n          - createdAt.gte:2021-01-01\n            Returns all assets created after 2021-01-01\n          - status.eqo:PENDING,status.eqo:APPROVED\n            Returns all assets with status either PENDING OR APPROVED\n          - name.startilike:John\n            Returns all assets with name starting with John\n          - age.gtea:30,age.lt:40\n            Returns all assets with age greater than or equal to 30 and less than 40"
        example: assetRef.ilike:E62,createdAt.gte:2021-01-01
        schema:
          type: string
      responses:
        '200':
          description: List of attribution studies retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientAttributionStudyEntityDto'
        '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:
      - Attribution Studies
    post:
      operationId: AttributionStudyController_createAttributionStudy
      summary: Create a new attribution study
      parameters: []
      requestBody:
        required: true
        description: Data to create a new attribution study
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAttributionStudyDto_2'
      responses:
        '201':
          description: Attribution study created successfully
        '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:
      - Attribution Studies
    servers:
    - url: https://dashboard.streetmetrics.io/v3/public/
  /attribution-studies/conversions/date:
    get:
      operationId: AttributionStudyController_getConversionsByDate
      summary: Get conversions aggregated by date
      description: Retrieves conversion data aggregated by date. When summaryBin is specified, data is grouped by time periods (week, month, day, etc.).
      parameters:
      - name: attributionId
        required: true
        in: query
        description: Attribution study ID
        schema:
          type: number
      - name: startDate
        required: false
        in: query
        description: Start date as Unix timestamp in epoch seconds. If not provided, uses attribution study start date.
        schema:
          type: number
      - name: endDate
        required: false
        in: query
        description: End date as Unix timestamp in epoch seconds. If not provided, uses attribution study post-study end date.
        schema:
          type: number
      - name: summaryBin
        required: false
        in: query
        description: Optional summary bin for grouping data by time periods (WEEK, MONTH, DAY, HOUR, LIFETIME, DOW). When specified, results include summaryBinGrouping field.
        schema:
          enum:
          - LIFETIME
          - WEEK
          - MONTH
          - DAY
          - HOUR
          - DOW
          type: string
      - name: timezone
        required: false
        in: query
        descrip

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/streetmetrics/refs/heads/main/openapi/streetmetrics-attribution-studies-api-openapi.yml