StreetMetrics Public API

Public REST API for the StreetMetrics out-of-home advertising platform. 54 operations across campaigns, transit and stationary ad groups, assets and asset owners, frames, creatives, markets, media and product types, attribution studies (including conversion rollups by date, ad group and unit), conversion pixels, and reporting (impressions by date/ad group/unit, demographics, affinities, uniques and frequency). Authentication is a JWT bearer token obtained by POSTing StreetMetrics platform credentials to /auth/authenticate.

Documentation

Specifications

Other Resources

OpenAPI Specification

streetmetrics-public-api-openapi.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "title": "StreetMetrics Public API",
    "description": "",
    "version": "3.0",
    "contact": {}
  },
  "tags": [
    {
      "name": "public",
      "description": ""
    }
  ],
  "servers": [
    {
      "url": "https://dashboard.streetmetrics.io/v3/public/"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "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",
            "description": "Additional details about the error",
            "nullable": true
          },
          "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"
        ]
      },
      "ClientMediaFaceEntityDto": {
        "type": "object",
        "properties": {
          "mediaId": {
            "type": "number",
            "description": "Unique identifier for the media entity"
          },
          "facePosition": {
            "type": "string",
            "description": "Position of the face on the media"
          },
          "faceDimension": {
            "type": "object",
            "description": "Dimensions of the face"
          }
        },
        "required": [
          "mediaId",
          "facePosition",
          "faceDimension"
        ]
      },
      "ClientMediaEntityDto": {
        "type": "object",
        "properties": {
          "mediaId": {
            "type": "number",
            "description": "Unique identifier for the media entity"
          },
          "classRef": {
            "type": "string",
            "description": "Reference class for the media entity"
          },
          "assetOwner": {
            "type": "string",
            "description": "Owner of the asset"
          },
          "productType": {
            "type": "string",
            "description": "Type of product associated with the media"
          },
          "combined": {
            "type": "boolean",
            "description": "Indicates if the media is combined"
          },
          "assetType": {
            "type": "string",
            "description": "Type of asset"
          },
          "mediaFormat": {
            "type": "string",
            "description": "Format of the media"
          },
          "mediaPlacement": {
            "type": "string",
            "description": "Placement of the media"
          },
          "faces": {
            "description": "List of faces associated with the media",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientMediaFaceEntityDto"
            }
          }
        },
        "required": [
          "mediaId",
          "classRef",
          "assetOwner",
          "productType",
          "combined",
          "assetType",
          "mediaFormat",
          "mediaPlacement",
          "faces"
        ]
      },
      "ClientAssetEntityDto": {
        "type": "object",
        "properties": {
          "assetOwner": {
            "type": "string",
            "description": "The owner of the asset."
          },
          "assetType": {
            "type": "string",
            "description": "The type of the asset."
          },
          "assetRef": {
            "type": "string",
            "description": "The asset identifier as it appears through the API feed."
          },
          "classRef": {
            "type": "string",
            "description": "The class associated with the asset - this defined the media products the asset can support"
          },
          "displayName": {
            "type": "string",
            "description": "The name of the asset as it will appear in the StreetMetrics platform."
          },
          "assetStatus": {
            "type": "string",
            "description": "The status of the asset."
          },
          "metaData": {
            "type": "object",
            "description": "The metadata of the asset."
          }
        }
      },
      "ClientFrameEntityDto": {
        "type": "object",
        "properties": {
          "frameId": {
            "type": "number",
            "description": "Unique identifier for the frame entity"
          },
          "frameRef": {
            "type": "string",
            "description": "Reference for the frame"
          },
          "frameWidth": {
            "type": "number",
            "description": "Width of the frame"
          },
          "frameHeight": {
            "type": "number",
            "description": "Height of the frame"
          },
          "frameElevation": {
            "type": "number",
            "description": "Elevation of the frame"
          },
          "frameType": {
            "type": "string",
            "description": "Type of the frame"
          },
          "expositionAngle": {
            "type": "number",
            "description": "Exposition angle of the frame"
          },
          "expositionWidth": {
            "type": "number",
            "description": "Exposition width of the frame"
          },
          "market": {
            "type": "object",
            "nullable": true,
            "description": "Market information for the frame"
          }
        },
        "required": [
          "frameId",
          "frameRef",
          "frameWidth",
          "frameHeight",
          "frameElevation",
          "frameType",
          "expositionAngle",
          "expositionWidth",
          "market"
        ]
      },
      "ClientAdGroupEntityResponseDto": {
        "type": "object",
        "properties": {
          "flightId": {
            "type": "number",
            "example": 1,
            "description": "The ID of the ad group"
          },
          "flightRef": {
            "type": "string",
            "example": "FL12345",
            "description": "The reference string of the ad group"
          },
          "activeFrom": {
            "type": "number",
            "example": 1627843200,
            "description": "Unix timestamp representing the start of the ad group"
          },
          "activeTo": {
            "type": "number",
            "example": 1627846800,
            "description": "Unix timestamp representing the end of the ad group"
          },
          "productType": {
            "type": "string",
            "example": "Digital",
            "description": "The product type of the ad group"
          },
          "flightGroup": {
            "enum": [
              "SELECTIVE",
              "ACCUMULATIVE"
            ],
            "type": "string",
            "description": "The group this ad group belongs to"
          },
          "mediaPositions": {
            "type": "string",
            "items": {
              "type": "string",
              "enum": [
                "LEFT",
                "RIGHT",
                "CENTER",
                "FRONT",
                "BACK"
              ]
            },
            "enum": [
              "LEFT",
              "RIGHT",
              "CENTER",
              "FRONT",
              "BACK"
            ],
            "example": [
              "LEFT"
            ],
            "description": "Positions of the media in the ad group"
          },
          "inventoryType": {
            "type": "string",
            "example": "OOH",
            "description": "Type of inventory for the ad group"
          },
          "metaData": {
            "type": "object",
            "description": "Additional metadata for the ad group"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-07-29T12:34:56Z",
            "description": "The date and time the ad group was created"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string",
            "example": "2023-08-01T15:22:11Z",
            "description": "The date and time the ad group was last updated"
          },
          "media": {
            "description": "Associated media entity (optional)",
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientMediaEntityDto"
              }
            ]
          },
          "assets": {
            "description": "Associated assets (optional)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAssetEntityDto"
            }
          },
          "frames": {
            "description": "Associated frames (optional)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientFrameEntityDto"
            }
          }
        },
        "required": [
          "flightId",
          "flightRef",
          "activeFrom",
          "activeTo",
          "productType",
          "flightGroup",
          "mediaPositions",
          "inventoryType",
          "metaData",
          "createdAt",
          "updatedAt"
        ]
      },
      "GetAdGroupResponseDto": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "description": "The retrieved Ad Group",
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientAdGroupEntityResponseDto"
              }
            ]
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "GetAdGroupsResponseDto": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "description": "List of ad groups",
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientAdGroupEntityResponseDto"
              }
            ]
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "CreateTransitAdGroupDto": {
        "type": "object",
        "properties": {
          "assetOwner": {
            "type": "string"
          },
          "productType": {
            "type": "string"
          },
          "assetMediaPositions": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "LEFT",
                "RIGHT",
                "CENTER",
                "FRONT",
                "BACK"
              ]
            }
          },
          "flightRef": {
            "type": "string"
          },
          "activeFrom": {
            "type": "number"
          },
          "activeTo": {
            "type": "number"
          },
          "campaignId": {
            "type": "number",
            "maximum": 2147483647
          },
          "type": {
            "type": "string",
            "enum": [
              "STATIC",
              "DIGITAL"
            ]
          }
        },
        "required": [
          "assetOwner",
          "productType",
          "assetMediaPositions",
          "flightRef",
          "activeFrom",
          "activeTo",
          "campaignId",
          "type"
        ]
      },
      "CreateAdGroupResponse": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "type": "number",
            "description": "The ID of the created ad group"
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "CreateStationaryAdGroupDto": {
        "type": "object",
        "properties": {
          "flightRef": {
            "type": "string"
          },
          "activeFrom": {
            "type": "number"
          },
          "activeTo": {
            "type": "number"
          },
          "campaignId": {
            "type": "number",
            "maximum": 2147483647
          },
          "type": {
            "type": "string",
            "enum": [
              "STATIC",
              "DIGITAL"
            ]
          }
        },
        "required": [
          "flightRef",
          "activeFrom",
          "activeTo",
          "campaignId",
          "type"
        ]
      },
      "AttachAssetsToAdGroupDto": {
        "type": "object",
        "properties": {
          "assetIds": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 2147483647,
              "minimum": 1
            }
          }
        },
        "required": [
          "assetIds"
        ]
      },
      "AttachAssetsToAdGroupResponse": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "type": "boolean",
            "description": "Whether the assets were successfully attached to the ad group"
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "AttachFramesToAdGroupDto": {
        "type": "object",
        "properties": {
          "frameIds": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 2147483647,
              "minimum": 1
            }
          }
        },
        "required": [
          "frameIds"
        ]
      },
      "AttachFramesToAdGroupResponse": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "type": "boolean",
            "description": "Whether the frames were successfully attached to the ad group"
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "AttachCreativesToAdGroupDto": {
        "type": "object",
        "properties": {
          "creativeIds": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 2147483647,
              "minimum": 1
            }
          }
        },
        "required": [
          "creativeIds"
        ]
      },
      "AttachCreativesToAdGroupResponse": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "type": "boolean",
            "description": "Whether the creatives were successfully attached to the ad group"
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "PutUpdateAttachedAssetsDto": {
        "type": "object",
        "properties": {
          "assetIds": {
            "type": "array",
            "items": {
              "type": "number",
              "maximum": 2147483647,
              "minimum": 1
            }
          }
        },
        "required": [
          "assetIds"
        ]
      },
      "AuthDto": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ]
      },
      "AuthResponse": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "type": "string",
            "description": "The token to attach to subsequent requests"
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "ClientAttributionStudyEntityDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "attributionId": {
            "type": "number"
          },
          "campaignId": {
            "type": "number"
          },
          "studyName": {
            "type": "string"
          },
          "studyType": {
            "type": "string"
          },
          "campaignGoals": {
            "type": "string"
          },
          "startDate": {
            "type": "number"
          },
          "endDate": {
            "type": "number"
          },
          "postStudyEndDate": {
            "type": "number"
          },
          "isPartOfOtherEffort": {
            "type": "boolean"
          },
          "pauseOtherChannels": {
            "type": "boolean"
          },
          "brandFocused": {
            "type": "boolean"
          },
          "adsAligned": {
            "type": "boolean"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "analysisType": {
            "type": "string"
          },
          "campaigns": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "status",
          "attributionId",
          "campaignId",
          "studyName",
          "studyType",
          "campaignGoals",
          "startDate",
          "endDate",
          "postStudyEndDate",
          "isPartOfOtherEffort",
          "pauseOtherChannels",
          "brandFocused",
          "adsAligned",
          "createdAt",
          "updatedAt",
          "analysisType",
          "campaigns"
        ]
      },
      "CreateAttributionStudyDto": {
        "type": "object",
        "properties": {
          "studyName": {
            "type": "string",
            "description": "Name of the attribution study",
            "example": "My Attribution Study"
          },
          "analysisType": {
            "enum": [
              "RETARGETING",
              "CONVERSION",
              "LIFT"
            ],
            "type": "string",
            "description": "Analysis type of the attribution study",
            "example": "LIFT"
          },
          "studyType": {
            "enum": [
              "Web",
              "Footfall",
              "Mobile"
            ],
            "type": "string",
            "description": "Study type of the attribution study",
            "example": "Web"
          },
          "campaignId": {
            "type": "number",
            "minimum": 1,
            "maximum": 2147483647,
            "description": "Campaign ID of the attribution study",
            "example": 1
          },
          "startDate": {
            "type": "number",
            "description": "Start date of the attribution study",
            "example": 1715001600
          },
          "endDate": {
            "type": "number",
            "description": "End date of the attribution study",
            "example": 1715001600
          },
          "postStudyEndDate": {
            "type": "number",
            "description": "Post study end date of the attribution study",
            "example": 1715001600
          },
          "campaignGoals": {
            "type": "string",
            "description": "Campaign goals of the attribution study",
            "example": "Increase website visits"
          },
          "isPartOfOtherEffort": {
            "type": "boolean",
            "description": "Is this study a part of a greater measurement effort?",
            "example": true
          },
          "pauseOtherChannels": {
            "type": "boolean",
            "description": "Is your client pausing other media channels during the operator campaigns?",
            "example": true
          },
          "brandFocused": {
            "type": "boolean",
            "description": "Are the ads brand awareness focused?",
            "example": true
          },
          "adsAligned": {
            "type": "boolean",
            "description": "Are the ads aligned with the responses we're measuring?",
            "example": true
          },
          "mediaMix": {
            "items": {
              "type": "array"
            },
            "description": "If no to pauseOtherChannels, where else is the advertiser running advertisements?",
            "example": [
              "TV",
              "Digital"
            ],
            "type": "array"
          }
        },
        "required": [
          "studyName",
          "analysisType",
          "studyType",
          "campaignId",
          "startDate",
          "endDate",
          "postStudyEndDate",
          "campaignGoals",
          "isPartOfOtherEffort",
          "pauseOtherChannels",
          "brandFocused",
          "adsAligned",
          "mediaMix"
        ]
      },
      "ClientAttributionConversionsByDateResponseDto": {
        "type": "object",
        "properties": {
          "summaryBinGrouping": {
            "type": "string",
            "nullable": true,
            "example": "2025-05-19 00:00:00.000",
            "description": "Summary bin grouping value (only present when summaryBin parameter is specified)"
          },
          "observedConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 2033,
            "description": "Observed conversions gross"
          },
          "observedConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 482,
            "description": "Observed conversions effective"
          },
          "observedConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 1238,
            "description": "Observed conversions viewable"
          },
          "upsampledConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 14377,
            "description": "Upsampled conversions gross"
          },
          "upsampledConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 3507,
            "description": "Upsampled conversions effective"
          },
          "upsampledConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 8897,
            "description": "Upsampled conversions viewable"
          }
        },
        "required": [
          "observedConversionsGross",
          "observedConversionsEffective",
          "observedConversionsViewable",
          "upsampledConversionsGross",
          "upsampledConversionsEffective",
          "upsampledConversionsViewable"
        ]
      },
      "GetConversionsByDateResponseDto": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "description": "Conversions grouped by date",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAttributionConversionsByDateResponseDto"
            }
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "ClientAttributionConversionsByAdGroupResponseDto": {
        "type": "object",
        "properties": {
          "adGroupRef": {
            "type": "string",
            "example": "Summer2025AdGroupRef",
            "description": "The ad group ref"
          },
          "summaryBinGrouping": {
            "type": "string",
            "nullable": true,
            "example": "2025-05-19 00:00:00.000",
            "description": "Summary bin grouping value (only present when summaryBin parameter is specified)"
          },
          "observedConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 2033,
            "description": "Observed conversions gross"
          },
          "observedConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 482,
            "description": "Observed conversions effective"
          },
          "observedConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 1238,
            "description": "Observed conversions viewable"
          },
          "upsampledConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 14377,
            "description": "Upsampled conversions gross"
          },
          "upsampledConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 3507,
            "description": "Upsampled conversions effective"
          },
          "upsampledConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 8897,
            "description": "Upsampled conversions viewable"
          }
        },
        "required": [
          "adGroupRef",
          "observedConversionsGross",
          "observedConversionsEffective",
          "observedConversionsViewable",
          "upsampledConversionsGross",
          "upsampledConversionsEffective",
          "upsampledConversionsViewable"
        ]
      },
      "GetConversionsByAdGroupResponseDto": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "description": "Conversions grouped by ad group",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAttributionConversionsByAdGroupResponseDto"
            }
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "ClientAttributionConversionsByUnitResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1,
            "description": "The ID of the unit"
          },
          "ref": {
            "type": "string",
            "example": "ADG12345",
            "description": "The unit ref"
          },
          "type": {
            "type": "string",
            "example": "ASSET",
            "description": "ASSET or FRAME"
          },
          "summaryBinGrouping": {
            "type": "string",
            "nullable": true,
            "example": "2025-05-19 00:00:00.000",
            "description": "Summary bin grouping value (only present when summaryBin parameter is specified)"
          },
          "observedConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 2033,
            "description": "Observed conversions gross"
          },
          "observedConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 482,
            "description": "Observed conversions effective"
          },
          "observedConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 1238,
            "description": "Observed conversions viewable"
          },
          "upsampledConversionsGross": {
            "type": "number",
            "nullable": true,
            "example": 14377,
            "description": "Upsampled conversions gross"
          },
          "upsampledConversionsEffective": {
            "type": "number",
            "nullable": true,
            "example": 3507,
            "description": "Upsampled conversions effective"
          },
          "upsampledConversionsViewable": {
            "type": "number",
            "nullable": true,
            "example": 8897,
            "description": "Upsampled conversions viewable"
          }
        },
        "required": [
          "id",
          "ref",
          "type",
          "observedConversionsGross",
          "observedConversionsEffective",
          "observedConversionsViewable",
          "upsampledConversionsGross",
          "upsampledConversionsEffective",
          "upsampledConversionsViewable"
        ]
      },
      "GetConversionsByUnitResponseDto": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "meta": {
            "type": "object"
          },
          "data": {
            "description": "Conversions grouped by unit",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientAttributionConversionsByUnitResponseDto"
            }
          }
        },
        "required": [
          "statusCode",
          "meta",
          "data"
        ]
      },
      "AssetPatchUpdateDto": {
        "type": "object",
        "properties": {
          "assetOwner": {
            "type": "string",
            "description": "The owner of the asset."
          },
          "assetType": {
            "enum": [
              "DEFAULT",
              "BIKE",
              "BUS",
              "CAR",
              "MOBILE_BILLBOARD",
              "PEDI_CAB",
              "TRUCK",
              "SCOOTER",
              "TAXI",
              "LIGHT_RAIL",
              "BOX_VAN",
              "SEMI_TRAILER",
              "TROLLEY",
              "DOUBLE_DECKER",
              "TOUR_BUS",
              "DELIVERY_TRUCK",
              "STATIONARY"
            ],
            "type": "string",
            "description": "The type of the asset."
          },
          "assetRef": {
            "type": "string",
            "description": "The asset identifier as it appears through the API feed."
          },
          "classRef": {
            "type": "string",
            "description": "The class associated with the asset - this defined the media products the asset can support"
          },
          "displayName": {
            "type": "string",
            "description": "The name of the asset as it will appear in the StreetMetrics platform."
          },
          "assetStatus": {
            "enum": [
              "ACTIVE",
              "INACTIVE",
              "RETIRED"
            ],
            "type": "string",
            "description": "The status of the asset."
          }
        }
      },
      "ClientCampaignEntityResponseDto": {
        "type": "object",
        "properties": {
          "

# --- truncated at 32 KB (210 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/streetmetrics/refs/heads/main/openapi/streetmetrics-public-api-openapi.json