{
  "openapi": "3.1.0",
  "info": {
    "title": "Trackdesk API for advertisers",
    "version": "1.0",
    "description": "The endpoints an advertiser can call with their own personal access token or OAuth2 client. Responses hold the same\ndata the advertiser sees in the program: their offers, claims, client metrics and reports.\n\nTenant ID\n=========\n\nPlease, fill in the tenant ID of the program you advertise in, a.k.a. the subdomain on which it is running.\nIn case of https://my-awesome-affiliate-system.trackdesk.com, your tenant ID is my-awesome-affiliate-system\n\nAPI key\n=======\n\nPlease, fill in your personal access token.\n\nHow to get an API key?\n=================\n\n1. Sign in to the program, e.g. https://my-awesome-affiliate-system.trackdesk.com.\n2. Open https://my-awesome-affiliate-system.trackdesk.com/settings/personal-access-tokens.\n3. Generate a new token and copy its content to the input above.\n\nHow to get OAuth2 credentials?\n==============================\n\nSign in to the program and open https://my-awesome-affiliate-system.trackdesk.com/settings/oauth. The OAuth2 section\nbelow describes the grants and endpoints.\n\nRevenue origin ID\n=================\n\nCreating a client metric movement takes your revenue origin ID. The personal access token page above shows it. While\nsigned in, the program's own reference at https://my-awesome-affiliate-system.trackdesk.com/developers fills it in for\nyou.\n\nPlan features\n=============\n\nPersonal access tokens and OAuth2 credentials work only while the program's plan includes the public API. Offer caps\nalso need the Offer Caps feature, client metrics need Clients, and claims need Custom revenue origins, plus Public\nAPI – Claims when called with a personal access token or OAuth2. Without the feature, the endpoint responds with an\ninactive feature error.\n\nOAuth2\n======\n\nCreate a confidential client in Settings -> Integrations -> OAuth2, under OAuth2 credentials. Use client_credentials for machine access, or authorization_code for access approved by a user. Authorization requests go to https://{tenantId}.trackdesk.com/oauth/authorize and must use a registered redirect_uri plus PKCE S256; a loopback redirect may arrive on any port. Exchange codes, rotate refresh tokens, and request client_credentials tokens at https://{tenantId}.trackdesk.com/api/node/oauth/token. Authenticate the client via HTTP Basic or the client_id/client_secret form fields. Revoke an access or refresh token at https://{tenantId}.trackdesk.com/api/node/oauth/revoke. Access tokens expire after 1 hour.\n",
    "termsOfService": "https://trackdesk.com/terms-conditions",
    "contact": {
      "name": "Trackdesk Support",
      "url": "https://trackdesk.com",
      "email": "support@trackdesk.com"
    },
    "license": {
      "name": "Trackdesk licenced",
      "url": "https://trackdesk.com/terms-conditions"
    }
  },
  "servers": [
    {
      "url": "https://{tenantId}.trackdesk.com",
      "description": "Production server",
      "variables": {
        "tenantId": {
          "default": "-- replace me --",
          "description": "Tenant ID of current tenant"
        }
      }
    }
  ],
  "security": [
    {
      "X-Api-Key": []
    },
    {
      "OAuth2": [
        "api"
      ]
    }
  ],
  "paths": {
    "/api/node/clients/v1/metrics/movements/list": {
      "post": {
        "tags": [
          "Client Metrics Movement V1"
        ],
        "summary": "List client metric movements",
        "description": "Returns a paginated list of metric movements matching the given filters.",
        "operationId": "ClientMetricMovementService_ListClientMetricMovements",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/conversion-types/v1/for-cid/{cid}": {
      "get": {
        "tags": [
          "Conversion Types V1"
        ],
        "summary": "List conversion types available for CID",
        "description": "Provides a list of conversion types that are available for the requesting click identifier (CID)",
        "operationId": "ConversionTypesService_ListConversionTypesAvailableForCid",
        "parameters": [
          {
            "name": "cid",
            "in": "path",
            "description": "The cid path parameter.",
            "required": true,
            "schema": {
              "type": "string",
              "title": "cid",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/conversion_types.v1.ListConversionTypesAvailableForCidResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/offer-caps/v1/offer/{offerId}": {
      "get": {
        "tags": [
          "Offer Caps V1"
        ],
        "summary": "List offer caps",
        "description": "Returns all conversion caps configured for a specific offer,\n including their limits, current utilization, and source-specific overrides.",
        "operationId": "OfferCapsService_ListOfferCaps",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "description": "Offer identifier (UUID) whose caps are listed.",
            "required": true,
            "schema": {
              "type": "string",
              "title": "offer_id",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/offer_caps.v1.ListOfferCapsResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/offers/v1/{offerId}/creatives": {
      "get": {
        "tags": [
          "Offers Creatives V1"
        ],
        "summary": "List offer creatives",
        "description": "Lists the promotional creatives configured for this offer, each identified by its unique id.",
        "operationId": "OfferCreativesService_ListOfferCreatives",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "description": "Offer identifier (UUID).",
            "required": true,
            "schema": {
              "type": "string",
              "title": "offer_id",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/offers.v1.ListOfferCreativesResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/offers/v1/{offerId}/landing-pages/list": {
      "post": {
        "tags": [
          "Offers Landing Pages V1"
        ],
        "summary": "List landing pages by offer",
        "description": "Lists all landing pages assigned to an offer. Each item carries either direct or redirect tracking link metadata.",
        "operationId": "LandingPagesService_ListLandingPages",
        "parameters": [
          {
            "name": "offerId",
            "in": "path",
            "description": "Offer identifier (UUID) whose landing pages are listed.",
            "required": true,
            "schema": {
              "type": "string",
              "title": "offer_id",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pagination": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/types.v1.PaginationParams"
                      }
                    ],
                    "title": "pagination",
                    "description": "Pagination of the listed landing pages."
                  }
                },
                "title": "offers.v1.ListLandingPagesRequest",
                "required": [
                  "pagination"
                ],
                "additionalProperties": false,
                "description": "Request to list landing pages assigned to an offer."
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/offers.v1.ListLandingPagesResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/revenue-origin-billing/v1/claims": {
      "get": {
        "tags": [
          "Revenue Origin Billing Claim V1"
        ],
        "summary": "List advertiser settlements",
        "description": "Provides a list of existing advertiser settlements.",
        "operationId": "ClaimService_ListClaims",
        "parameters": [
          {
            "name": "pagination.limit",
            "in": "query",
            "description": "Maximum number of items to return (1-500).",
            "schema": {
              "exclusiveMinimum": 0,
              "type": "integer",
              "title": "limit",
              "maximum": 500
            }
          },
          {
            "name": "pagination.offset",
            "in": "query",
            "description": "Number of items to skip from the start of the result set.",
            "schema": {
              "type": "integer",
              "title": "offset"
            }
          },
          {
            "name": "timeRange.from",
            "in": "query",
            "description": "A point in time in RFC 3339 format, with up to nanosecond precision. Output uses UTC (`Z`); input may use an offset from UTC.",
            "schema": {
              "type": "string",
              "examples": [
                "2023-01-15T01:30:15.01Z",
                "2024-12-25T12:00:00Z"
              ],
              "format": "date-time"
            }
          },
          {
            "name": "timeRange.to",
            "in": "query",
            "description": "A point in time in RFC 3339 format, with up to nanosecond precision. Output uses UTC (`Z`); input may use an offset from UTC.",
            "schema": {
              "type": "string",
              "examples": [
                "2023-01-15T01:30:15.01Z",
                "2024-12-25T12:00:00Z"
              ],
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/revenue_origin_billing.v1.ListClaimsResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/tags/v1": {
      "get": {
        "tags": [
          "Tags V1"
        ],
        "summary": "List tags",
        "description": "Lists all tags in the system.",
        "operationId": "TagsService_ListTags",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tags.v1.ListTagsResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/tracking/clients/v1/metrics/movements": {
      "post": {
        "tags": [
          "Client Metrics Tracking V1"
        ],
        "summary": "Create client metric movement",
        "description": "Records metric values for a client identified by external_client_id. Duplicate requests with the same request_id are silently ignored.",
        "operationId": "ClientMetricTrackingService_CreateClientMetricMovement",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/client_metrics.v1.CreateClientMetricMovementRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/client_metrics.v1.CreateClientMetricMovementResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/click-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "Click report",
        "description": "Provides information about registered clicks.",
        "operationId": "ReportsService_ClickReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.ClickReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.ClickReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/conversion-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "Conversion report",
        "description": "Shows data related to conversions tracked by the system.",
        "operationId": "ReportsService_ConversionReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.ConversionReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.ConversionReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/country-overview-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "Country overview",
        "description": "Deprecated: Displays performance data grouped by specific countries.",
        "operationId": "ReportsService_CountryOverviewReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.CountryOverviewReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.CountryOverviewReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/daily-overview-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "Daily overview report",
        "description": "Features overview of the daily performance, providing data such as clicks, conversions, revenue, payouts etc. per given day.",
        "operationId": "ReportsService_DailyOverviewReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.DailyOverviewReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.DailyOverviewReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/general-overview-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "General overview",
        "description": "Provides a comprehensive performance overview with data aggregated at multiple levels\n (such as daily, country, affiliate, offer, etc.).",
        "operationId": "ReportsService_GeneralOverviewReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/offer-overview-report/v1": {
      "post": {
        "tags": [
          "Reports V1"
        ],
        "summary": "Offer overview",
        "description": "Deprecated: Shows performance overview grouped by individual offers.",
        "operationId": "ReportsService_OfferOverviewReport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reports.v1.OfferOverviewReportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reports.v1.OfferOverviewReportResponse"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/google.rpc.Status"
                }
              }
            }
          }
        }
      }
    },
    "/api/node/oauth/check": {
      "get": {
        "description": "Checks whether an access token or API key is valid. Revoked authorizations, deleted clients and disabled accounts are rejected.",
        "operationId": "OAuth2_CheckCredential",
        "responses": {
          "204": {
            "description": "The credential is valid."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorsv1.ErrorResponse"
                }
              }
            },
            "description": "The credential is missing, malformed, expired or revoked."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorsv1.ErrorResponse"
                }
              }
            },
            "description": "Tenant maintenance."
          }
        },
        "security": [
          {
            "X-Api-Key": []
          },
          {
            "OAuth2": [
              "api"
            ]
          }
        ],
        "summary": "Check the presented credential",
        "tags": [
          "O Auth"
        ]
      }
    },
    "/api/node/oauth/register": {
      "post": {
        "description": "RFC 7591 dynamic client registration, so a client can obtain a client_id without anyone entering one by hand. Registration is\nunauthenticated and rate limited per IP. It always produces a public client holding no secret, limited to the authorization_code\nand refresh_token grants, and owned by nobody: the client can do nothing at all until a resource owner authorizes it on the\nconsent screen. A registration nobody consents to is deleted within two hours. A client asking to authenticate with a secret is\nregistered with none instead, as the response says. Other metadata that cannot be honoured is refused rather than silently narrowed;\nanything else the request sends is ignored.",
        "operationId": "OAuth2_RegisterClient",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/oauth_registration.registrationRequest",
                "summary": "request",
                "description": "Client metadata."
              }
            }
          },
          "description": "Client metadata.",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_registration.registrationResponse"
                }
              }
            },
            "description": "Client registered."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_registration.errorResponse"
                }
              }
            },
            "description": "Unreadable body, a redirect URI that cannot be registered, or other metadata that cannot be honoured."
          },
          "429": {
            "description": "Too many registrations from this address."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorsv1.ErrorResponse"
                }
              }
            },
            "description": "Tenant maintenance."
          }
        },
        "summary": "Register an OAuth client",
        "tags": [
          "O Auth"
        ],
        "security": []
      }
    },
    "/api/node/oauth/revoke": {
      "post": {
        "description": "RFC 7009-style revocation endpoint accepting either an access token or a refresh token. Whichever is presented, revocation takes\nthe complete user authorization behind it, including rotated refresh tokens and every access token derived from the grant. Access\ntokens issued through client_credentials cannot be revoked individually; they return unsupported_token_type. Delete the client to\ninvalidate its access tokens. Unknown tokens return success. Confidential clients authenticate as at the token endpoint.",
        "operationId": "OAuth2_RevokeToken",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "client_id": {
                    "description": "Client identifier; may be sent via HTTP Basic authentication instead.",
                    "type": "string"
                  },
                  "client_secret": {
                    "description": "Client secret; may be sent via HTTP Basic authentication instead.",
                    "format": "password",
                    "type": "string"
                  },
                  "token": {
                    "description": "Token",
                    "type": "string"
                  },
                  "token_type_hint": {
                    "description": "Optional. The token type is detected either way.",
                    "enum": [
                      "access_token",
                      "refresh_token"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "token"
                ],
                "type": "object"
              }
            }
          },
          "description": "Optional. The token type is detected either way.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Token revoked or already invalid."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_token.errorResponse"
                }
              }
            },
            "description": "Malformed request or unsupported_token_type for a client_credentials access token."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_token.errorResponse"
                }
              }
            },
            "description": "Unknown client or wrong client secret."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorsv1.ErrorResponse"
                }
              }
            },
            "description": "Tenant maintenance."
          }
        },
        "summary": "Revoke an OAuth grant",
        "tags": [
          "O Auth"
        ],
        "security": []
      }
    },
    "/api/node/oauth/token": {
      "post": {
        "description": "OAuth2 token endpoint for the client_credentials, authorization_code, and refresh_token grants. Confidential clients authenticate\nwith HTTP Basic or client_id and client_secret form fields, using exactly one method. Authorization codes require the original\nredirect_uri and PKCE code_verifier. Refresh tokens are rotated on every use.",
        "operationId": "OAuth2_CreateToken",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "client_id": {
                    "description": "Client identifier; may be sent via HTTP Basic authentication instead.",
                    "type": "string"
                  },
                  "client_secret": {
                    "description": "Client secret; may be sent via HTTP Basic authentication instead.",
                    "format": "password",
                    "type": "string"
                  },
                  "code": {
                    "description": "Required for authorization_code. The single-use code returned by the authorization endpoint.",
                    "type": "string"
                  },
                  "code_verifier": {
                    "description": "Required for authorization_code. PKCE verifier corresponding to the S256 challenge.",
                    "type": "string"
                  },
                  "grant_type": {
                    "description": "Grant type",
                    "enum": [
                      "client_credentials",
                      "authorization_code",
                      "refresh_token"
                    ],
                    "type": "string"
                  },
                  "redirect_uri": {
                    "description": "Required for authorization_code and must exactly match the authorization request.",
                    "format": "uri",
                    "type": "string"
                  },
                  "refresh_token": {
                    "description": "Required for refresh_token. A successful request rotates this token.",
                    "type": "string"
                  },
                  "scope": {
                    "description": "Optional. The only supported scope is api.",
                    "enum": [
                      "api"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "grant_type"
                ],
                "type": "object"
              }
            }
          },
          "description": "Client identifier; may be sent via HTTP Basic authentication instead.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_token.tokenResponse"
                }
              }
            },
            "description": "Access token issued."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_token.errorResponse"
                }
              }
            },
            "description": "Malformed request, invalid grant or scope, or unsupported grant type."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/oauth_token.errorResponse"
                }
              }
            },
            "description": "Unknown client or wrong client secret."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/errorsv1.ErrorResponse"
                }
              }
            },
            "description": "Tenant maintenance."
          }
        },
        "summary": "Create or refresh an access token",
        "tags": [
          "O Auth"
        ],
        "security": []
      }
    }
  },
  "components": {
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "OAuth2 client credentials and authorization code grants. Authorization code requests require PKCE S256.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/node/oauth/token",
            "scopes": {
              "api": "Full API access (inherits the account's role permissions)"
            }
          },
          "authorizationCode": {
            "authorizationUrl": "/oauth/authorize",
            "tokenUrl": "/api/node/oauth/token",
            "refreshUrl": "/api/node/oauth/token",
            "scopes": {
              "api": "Access as the consenting user, subject to current role permissions"
            }
          }
        }
      },
      "X-Api-Key": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key"
      }
    },
    "schemas": {
      "client_metrics.v1.ListClientMetricMovementsRequest": {
        "type": "object",
        "properties": {
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.PaginationParams"
              }
            ],
            "title": "pagination"
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsRequest.Filters"
              }
            ],
            "title": "filters"
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsRequest",
        "required": [
          "pagination",
          "filters"
        ],
        "additionalProperties": false,
        "description": "List client metric movements matching the given filters."
      },
      "client_metrics.v1.ListClientMetricMovementsRequest.Filters": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range in which the movements were created."
          },
          "clientIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "client_ids",
            "uniqueItems": true,
            "description": "Filter by internal client IDs."
          },
          "clientExternalIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "client_external_ids",
            "uniqueItems": true,
            "description": "Filter by client external IDs as known to the receiver."
          },
          "revenueOriginIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "revenue_origin_ids",
            "uniqueItems": true,
            "description": "Filter by revenue origin IDs."
          },
          "requestIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100,
              "minLength": 1
            },
            "title": "request_ids",
            "uniqueItems": true,
            "description": "Filter by idempotency keys supplied in the original tracking request."
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsRequest.Filters",
        "required": [
          "timeRange"
        ],
        "additionalProperties": false,
        "description": "Filters for narrowing the result set."
      },
      "client_metrics.v1.ListClientMetricMovementsResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsResponse.Row"
            },
            "title": "rows"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Pagination"
              }
            ],
            "title": "pagination"
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsResponse",
        "required": [
          "pagination"
        ],
        "additionalProperties": false,
        "description": "List of client metric movements per pagination."
      },
      "client_metrics.v1.ListClientMetricMovementsResponse.Row": {
        "type": "object",
        "properties": {
          "client": {
            "allOf": [
              {
                "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsResponse.Row.Client"
              }
            ],
            "title": "client"
          },
          "integerMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsResponse.Row.IntegerMetric"
            },
            "title": "integer_metrics"
          },
          "decimalMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/client_metrics.v1.ListClientMetricMovementsResponse.Row.DecimalMetric"
            },
            "title": "decimal_metrics"
          },
          "requestData": {
            "type": "string",
            "title": "request_data",
            "description": "Raw JSON payload of the original tracking request."
          },
          "requestId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "request_id",
            "description": "(OPTIONAL) Idempotency key supplied by the receiver."
          },
          "totalRevshare": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revshare",
            "description": "Total revshare calculated from monetary metrics in this movement."
          },
          "accountSettlementId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "account_settlement_id",
            "description": "(OPTIONAL) Settlement this movement was included in, if any."
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "created_at",
            "description": "Timestamp when the movement was recorded."
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsResponse.Row",
        "required": [
          "client",
          "integerMetrics",
          "decimalMetrics",
          "requestData",
          "totalRevshare",
          "createdAt"
        ],
        "additionalProperties": false,
        "description": "A single movement row."
      },
      "client_metrics.v1.ListClientMetricMovementsResponse.Row.Client": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Internal client identifier."
          },
          "externalId": {
            "type": "string",
            "title": "external_id",
            "description": "External client identifier as known to the receiver."
          },
          "revenueOriginId": {
            "type": "string",
            "title": "revenue_origin_id",
            "description": "Revenue origin the client belongs to."
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsResponse.Row.Client",
        "required": [
          "id",
          "externalId",
          "revenueOriginId"
        ],
        "additionalProperties": false,
        "description": "Client that reported this movement."
      },
      "client_metrics.v1.ListClientMetricMovementsResponse.Row.DecimalMetric": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Metric code."
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "value",
            "description": "(OPTIONAL) Reported value, absent if not included in the original request."
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsResponse.Row.DecimalMetric",
        "required": [
          "code"
        ],
        "additionalProperties": false,
        "description": "Decimal metric value reported in this movement."
      },
      "client_metrics.v1.ListClientMetricMovementsResponse.Row.IntegerMetric": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Metric code."
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Int64Value"
              }
            ],
            "title": "value",
            "description": "(OPTIONAL) Reported value, absent if not included in the original request."
          }
        },
        "title": "client_metrics.v1.ListClientMetricMovementsResponse.Row.IntegerMetric",
        "required": [
          "code"
        ],
        "additionalProperties": false,
        "description": "Integer metric value reported in this movement."
      },
      "conversion_types.v1.ConversionType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the conversion type."
          },
          "code": {
            "type": "string",
            "title": "code",
            "description": "Code of the conversion type."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the conversion type (in human readable format)"
          },
          "visible": {
            "type": "boolean",
            "title": "visible",
            "description": "Whether the conversion type is offered in the UI."
          }
        },
        "title": "conversion_types.v1.ConversionType",
        "additionalProperties": false,
        "description": "Conversion type"
      },
      "conversion_types.v1.ListConversionTypesAvailableForCidRequest": {
        "type": "object",
        "properties": {
          "cid": {
            "type": "string",
            "title": "cid",
            "format": "uuid"
          }
        },
        "title": "conversion_types.v1.ListConversionTypesAvailableForCidRequest",
        "additionalProperties": false,
        "description": "Get a list of conversion types available for requesting click ID."
      },
      "conversion_types.v1.ListConversionTypesAvailableForCidResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversion_types.v1.ListConversionTypesAvailableForCidResponse.Row"
            },
            "title": "rows"
          }
        },
        "title": "conversion_types.v1.ListConversionTypesAvailableForCidResponse",
        "additionalProperties": false,
        "description": "List of conversion types available for the requesting click ID."
      },
      "conversion_types.v1.ListConversionTypesAvailableForCidResponse.Row": {
        "type": "object",
        "properties": {
          "conversionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/conversion_types.v1.ConversionType"
              }
            ],
            "title": "conversion_type",
            "description": "Conversion type."
          },
          "conversionValueType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.ConversionValueType"
              }
            ],
            "title": "conversion_value_type",
            "description": "Value assigned for the conversion type."
          }
        },
        "title": "conversion_types.v1.ListConversionTypesAvailableForCidResponse.Row",
        "additionalProperties": false
      },
      "conversions.v1.ConversionStatus": {
        "type": "string",
        "title": "conversions.v1.ConversionStatus",
        "enum": [
          "CONVERSION_STATUS_UNSPECIFIED",
          "CONVERSION_STATUS_APPROVED",
          "CONVERSION_STATUS_FRAUD",
          "CONVERSION_STATUS_NOT_ALLOWED",
          "CONVERSION_STATUS_BLOCKED",
          "CONVERSION_STATUS_ON_HOLD",
          "CONVERSION_STATUS_PENDING",
          "CONVERSION_STATUS_REFUNDED",
          "CONVERSION_STATUS_REJECTED",
          "CONVERSION_STATUS_TEST",
          "CONVERSION_STATUS_QUALITY_CONTROL"
        ],
        "description": "Check all validations on any index update."
      },
      "enums.v1.CapFrequency": {
        "type": "string",
        "title": "enums.v1.CapFrequency",
        "enum": [
          "CAP_FREQUENCY_UNSPECIFIED",
          "CAP_FREQUENCY_DAILY",
          "CAP_FREQUENCY_WEEKLY",
          "CAP_FREQUENCY_MONTHLY"
        ]
      },
      "enums.v1.ConversionValueType": {
        "type": "string",
        "title": "enums.v1.ConversionValueType",
        "enum": [
          "CONVERSION_VALUE_TYPE_UNSPECIFIED",
          "CONVERSION_VALUE_TYPE_AMOUNT",
          "CONVERSION_VALUE_TYPE_NO_REVENUE",
          "CONVERSION_VALUE_TYPE_RATE",
          "CONVERSION_VALUE_TYPE_REVENUE_RATE_AND_COST_AMOUNT"
        ]
      },
      "enums.v1.CreativeType": {
        "type": "string",
        "title": "enums.v1.CreativeType",
        "enum": [
          "CREATIVE_TYPE_UNSPECIFIED",
          "CREATIVE_TYPE_IMAGE_BANNER",
          "CREATIVE_TYPE_HTML5_BANNER",
          "CREATIVE_TYPE_TEXT_LINK",
          "CREATIVE_TYPE_YOUTUBE_VIDEO",
          "CREATIVE_TYPE_VIDEO",
          "CREATIVE_TYPE_VIMEO_VIDEO",
          "CREATIVE_TYPE_FACEBOOK_POST",
          "CREATIVE_TYPE_TWITTER_POST",
          "CREATIVE_TYPE_PRODUCT_FEED",
          "CREATIVE_TYPE_ZIP"
        ]
      },
      "enums.v1.Device": {
        "type": "string",
        "title": "enums.v1.Device",
        "enum": [
          "DEVICE_UNSPECIFIED",
          "DEVICE_DESKTOP",
          "DEVICE_MOBILE",
          "DEVICE_TABLET"
        ]
      },
      "enums.v1.LandingPageStatus": {
        "type": "string",
        "title": "enums.v1.LandingPageStatus",
        "enum": [
          "LANDING_PAGE_STATUS_UNSPECIFIED",
          "LANDING_PAGE_STATUS_ENABLED",
          "LANDING_PAGE_STATUS_HIDDEN",
          "LANDING_PAGE_STATUS_DISABLED"
        ]
      },
      "enums.v1.OfferCapCalculationMethod": {
        "type": "string",
        "title": "enums.v1.OfferCapCalculationMethod",
        "enum": [
          "OFFER_CAP_CALCULATION_METHOD_UNSPECIFIED",
          "OFFER_CAP_CALCULATION_METHOD_NUMBER_OF_CONVERSIONS",
          "OFFER_CAP_CALCULATION_METHOD_SUM_OF_REVENUE",
          "OFFER_CAP_CALCULATION_METHOD_NUMBER_OF_CLICKS"
        ]
      },
      "enums.v1.OperatingSystem": {
        "type": "string",
        "title": "enums.v1.OperatingSystem",
        "enum": [
          "OPERATING_SYSTEM_UNSPECIFIED",
          "OPERATING_SYSTEM_ANDROID",
          "OPERATING_SYSTEM_CHROME_OS",
          "OPERATING_SYSTEM_I_OS",
          "OPERATING_SYSTEM_LINUX",
          "OPERATING_SYSTEM_MAC_OS",
          "OPERATING_SYSTEM_WINDOWS"
        ]
      },
      "enums.v1.TagScope": {
        "type": "string",
        "title": "enums.v1.TagScope",
        "enum": [
          "TAG_SCOPE_UNSPECIFIED",
          "TAG_SCOPE_ADVERTISERS",
          "TAG_SCOPE_AFFILIATE_MANAGERS",
          "TAG_SCOPE_AFFILIATES",
          "TAG_SCOPE_OFFERS"
        ]
      },
      "enums.v1.Weekday": {
        "type": "string",
        "title": "enums.v1.Weekday",
        "enum": [
          "WEEKDAY_UNSPECIFIED",
          "WEEKDAY_MONDAY",
          "WEEKDAY_TUESDAY",
          "WEEKDAY_WEDNESDAY",
          "WEEKDAY_THURSDAY",
          "WEEKDAY_FRIDAY",
          "WEEKDAY_SATURDAY",
          "WEEKDAY_SUNDAY"
        ]
      },
      "google.protobuf.Any": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "description": "A URL/resource name that uniquely identifies the type of the serialized message."
          }
        },
        "additionalProperties": true,
        "description": "Contains an arbitrary serialized message along with a @type that describes the type of the serialized message."
      },
      "google.protobuf.Int32Value": {
        "type": "integer",
        "format": "int32",
        "minimum": -2147483648,
        "maximum": 2147483647
      },
      "google.protobuf.Int64Value": {
        "type": "string",
        "pattern": "^-?[0-9]+$"
      },
      "google.protobuf.StringValue": {
        "type": "string",
        "description": "A string value; `null` is also accepted."
      },
      "google.protobuf.Timestamp": {
        "type": "string",
        "examples": [
          "2023-01-15T01:30:15.01Z",
          "2024-12-25T12:00:00Z"
        ],
        "format": "date-time",
        "description": "A point in time in RFC 3339 format, with up to nanosecond precision. Output uses UTC (`Z`); input may use an offset from UTC."
      },
      "google.protobuf.UInt32Value": {
        "type": "integer",
        "format": "int64",
        "minimum": 0,
        "maximum": 4294967295
      },
      "google.protobuf.UInt64Value": {
        "type": "string",
        "pattern": "^[0-9]+$"
      },
      "google.rpc.Status": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "The status code, which should be an enum value of google.rpc.Code."
          },
          "message": {
            "type": "string",
            "description": "A developer-facing error message."
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/google.protobuf.Any"
            },
            "description": "A list of messages that carry the error details."
          }
        },
        "description": "The Status type defines a logical error model suitable for gRPC and REST APIs."
      },
      "locations.v1.Location": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "title": "country_code"
          },
          "subdivision": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "subdivision",
            "description": "(OPTIONAL) "
          },
          "city": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "city",
            "description": "(OPTIONAL) "
          }
        },
        "title": "locations.v1.Location",
        "required": [
          "countryCode"
        ],
        "additionalProperties": false
      },
      "locations.v1.Locations": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/locations.v1.Location"
            },
            "title": "values"
          },
          "excluded": {
            "type": "boolean",
            "title": "excluded"
          }
        },
        "title": "locations.v1.Locations",
        "required": [
          "values",
          "excluded"
        ],
        "additionalProperties": false
      },
      "offer_caps.v1.Cap": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Cap identifier (UUID)."
          },
          "offerId": {
            "type": "string",
            "title": "offer_id",
            "description": "Identifier (UUID) of the offer the cap belongs to."
          },
          "conversionTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversion_types.v1.ConversionType"
            },
            "title": "conversion_types",
            "description": "Conversion types the cap applies to."
          },
          "calculationMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.OfferCapCalculationMethod"
              }
            ],
            "title": "calculation_method",
            "description": "Whether the cap counts the number of conversions or sums up their revenue."
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "description": "Conversion statuses counted towards the cap."
          },
          "limits": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Cap.Limits"
              }
            ],
            "title": "limits",
            "description": "Limits the cap enforces."
          },
          "fallback": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Fallback"
              }
            ],
            "title": "fallback",
            "description": "(OPTIONAL) Destination visitors are redirected to once the cap is reached.\n Unset when the cap redirects to the default fallback destination."
          },
          "utilization": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Cap.Utilization"
              }
            ],
            "title": "utilization",
            "description": "Current consumption of the cap."
          },
          "customPeriodStarts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.CustomPeriodStarts"
              }
            ],
            "title": "custom_period_starts",
            "description": "Days the periods of the cap start on, as they were customized. A period left unset starts on the\n default day — Monday for a week, the first day of the month."
          }
        },
        "title": "offer_caps.v1.Cap",
        "required": [
          "id",
          "offerId",
          "conversionTypes",
          "calculationMethod",
          "conversionStatuses",
          "limits",
          "utilization",
          "customPeriodStarts"
        ],
        "additionalProperties": false,
        "description": "Conversion cap configured on an offer, together with its current utilization."
      },
      "offer_caps.v1.Cap.Limits": {
        "type": "object",
        "properties": {
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Limit"
              }
            ],
            "title": "total",
            "description": "Limit applied to the offer as a whole, across all sources.\n Unset when the cap does not restrict the offer as a whole."
          },
          "bySource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Cap.Limits.SourceLimit"
              }
            ],
            "title": "by_source",
            "description": "Limits applied to individual affiliate sources."
          }
        },
        "title": "offer_caps.v1.Cap.Limits",
        "required": [
          "total",
          "bySource"
        ],
        "additionalProperties": false,
        "description": "Limits the cap enforces."
      },
      "offer_caps.v1.Cap.Limits.SourceLimit": {
        "type": "object",
        "properties": {
          "default": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Limit"
              }
            ],
            "title": "default",
            "description": "Limit applied to every source without an individual override.\n Unset when the cap does not restrict sources by default."
          },
          "individual": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offer_caps.v1.Cap.Limits.SourceLimit.Individual"
            },
            "title": "individual",
            "description": "Per-source overrides of the default limit."
          }
        },
        "title": "offer_caps.v1.Cap.Limits.SourceLimit",
        "required": [
          "default",
          "individual"
        ],
        "additionalProperties": false,
        "description": "Limits applied per affiliate source."
      },
      "offer_caps.v1.Cap.Limits.SourceLimit.Individual": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "title": "source_id",
            "description": "Identifier (UUID) of the source the limit applies to."
          },
          "limit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Limit"
              }
            ],
            "title": "limit",
            "description": "Limit applied to the source instead of the default one."
          }
        },
        "title": "offer_caps.v1.Cap.Limits.SourceLimit.Individual",
        "required": [
          "sourceId",
          "limit"
        ],
        "additionalProperties": false,
        "description": "Limit of a single source, overriding the default one."
      },
      "offer_caps.v1.Cap.Utilization": {
        "type": "object",
        "properties": {
          "totalNumberOfConversions": {
            "type": "string",
            "title": "total_number_of_conversions",
            "format": "int64",
            "description": "Number of conversions counted across all sources in the current day.\n Deprecated: use `by_period` instead, it is empty when the cap has no daily frequency.",
            "deprecated": true
          },
          "totalSumOfRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_sum_of_revenue",
            "description": "Revenue counted across all sources in the current day.\n Deprecated: use `by_period` instead, it is empty when the cap has no daily frequency.",
            "deprecated": true
          },
          "bySource": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offer_caps.v1.Cap.Utilization.SourceUtilization"
            },
            "title": "by_source",
            "description": "Breakdown of the current day's consumption by affiliate source.\n Deprecated: use `by_period` instead, it is empty when the cap has no daily frequency.",
            "deprecated": true
          },
          "byPeriod": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offer_caps.v1.Cap.Utilization.PeriodUtilization"
            },
            "title": "by_period",
            "description": "Consumption within each period the cap enforces."
          }
        },
        "title": "offer_caps.v1.Cap.Utilization",
        "required": [
          "totalNumberOfConversions",
          "totalSumOfRevenue",
          "bySource",
          "byPeriod"
        ],
        "additionalProperties": false,
        "description": "Consumption of the cap within each period it enforces, counted from the tenant's midnight.\n Only conversions matching the cap's conversion types and conversion statuses are counted."
      },
      "offer_caps.v1.Cap.Utilization.PeriodUtilization": {
        "type": "object",
        "properties": {
          "frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.CapFrequency"
              }
            ],
            "title": "frequency",
            "description": "Frequency of the period."
          },
          "startedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "started_at",
            "description": "Moment the period started at, in the tenant's timezone."
          },
          "totalNumberOfConversions": {
            "type": "string",
            "title": "total_number_of_conversions",
            "format": "int64",
            "description": "Number of conversions counted across all sources."
          },
          "totalSumOfRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_sum_of_revenue",
            "description": "Revenue counted across all sources."
          },
          "bySource": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offer_caps.v1.Cap.Utilization.SourceUtilization"
            },
            "title": "by_source",
            "description": "Breakdown of the consumption by affiliate source."
          }
        },
        "title": "offer_caps.v1.Cap.Utilization.PeriodUtilization",
        "required": [
          "frequency",
          "startedAt",
          "totalNumberOfConversions",
          "totalSumOfRevenue",
          "bySource"
        ],
        "additionalProperties": false,
        "description": "Consumption within a single period the cap enforces."
      },
      "offer_caps.v1.Cap.Utilization.SourceUtilization": {
        "type": "object",
        "properties": {
          "sourceId": {
            "type": "string",
            "title": "source_id",
            "description": "Identifier (UUID) of the source the consumption belongs to."
          },
          "numberOfConversions": {
            "type": "string",
            "title": "number_of_conversions",
            "format": "int64",
            "description": "Number of conversions attributed to the source."
          },
          "sumOfRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "sum_of_revenue",
            "description": "Revenue attributed to the source."
          }
        },
        "title": "offer_caps.v1.Cap.Utilization.SourceUtilization",
        "required": [
          "sourceId",
          "numberOfConversions",
          "sumOfRevenue"
        ],
        "additionalProperties": false,
        "description": "Consumption attributable to a single affiliate source."
      },
      "offer_caps.v1.CustomPeriodStarts": {
        "type": "object",
        "properties": {
          "weekly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.CustomPeriodStarts.Weekly"
              }
            ],
            "title": "weekly",
            "description": "(OPTIONAL) Day the weekly periods start on. Defaults to Monday."
          },
          "monthly": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.CustomPeriodStarts.Monthly"
              }
            ],
            "title": "monthly",
            "description": "(OPTIONAL) Day the monthly periods start on. Defaults to the first day of the month."
          }
        },
        "title": "offer_caps.v1.CustomPeriodStarts",
        "additionalProperties": false,
        "description": "Days the recurring periods of a cap start on instead of the default ones.\n Which periods the cap enforces follows from its limits."
      },
      "offer_caps.v1.CustomPeriodStarts.Monthly": {
        "type": "object",
        "allOf": [
          {
            "oneOf": [
              {
                "required": [
                  "day"
                ]
              },
              {
                "required": [
                  "lastDay"
                ]
              }
            ]
          }
        ],
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "day": {
                "type": "integer",
                "title": "day",
                "maximum": 28,
                "minimum": 1,
                "description": "Day of the month the period starts on, at the tenant's midnight."
              }
            },
            "title": "day"
          },
          {
            "type": "object",
            "properties": {
              "lastDay": {
                "type": "boolean",
                "title": "last_day",
                "description": "Whether the period starts on the last day of the month, at the tenant's midnight.",
                "const": true
              }
            },
            "title": "last_day"
          }
        ],
        "unevaluatedProperties": false,
        "not": {
          "allOf": [
            {
              "anyOf": [
                {
                  "required": [
                    "day"
                  ]
                },
                {
                  "required": [
                    "lastDay"
                  ]
                }
              ]
            },
            {
              "not": {
                "oneOf": [
                  {
                    "required": [
                      "day"
                    ]
                  },
                  {
                    "required": [
                      "lastDay"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "title": "offer_caps.v1.CustomPeriodStarts.Monthly",
        "description": "Start of a monthly period."
      },
      "offer_caps.v1.CustomPeriodStarts.Weekly": {
        "type": "object",
        "properties": {
          "weekday": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.Weekday"
              }
            ],
            "not": {
              "enum": [
                "WEEKDAY_UNSPECIFIED"
              ]
            },
            "title": "weekday",
            "description": "Weekday the period starts on, at the tenant's midnight.\nenum.defined_only = true\n"
          }
        },
        "title": "offer_caps.v1.CustomPeriodStarts.Weekly",
        "required": [
          "weekday"
        ],
        "additionalProperties": false,
        "description": "Start of a weekly period."
      },
      "offer_caps.v1.Limit": {
        "type": "object",
        "properties": {
          "day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offer_caps.v1.Limit.Day"
              }
            ],
            "title": "day",
            "description": "(OPTIONAL) Daily limit."
          },
          "week": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "week",
            "description": "(OPTIONAL) Value the week's consumption must stay below."
          },
          "month": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "month",
            "description": "(OPTIONAL) Value the month's consumption must stay below."
          }
        },
        "title": "offer_caps.v1.Limit",
        "additionalProperties": false,
        "description": "Limit values of the periods they are enforced over. At least one period must be set.\n The periods a cap enforces follow from the periods set on its own limits, and an individual\n source limit may cover any of them.\nlimit.period.required // at least one period limit must be set\n"
      },
      "offer_caps.v1.Limit.Day": {
        "type": "object",
        "properties": {
          "everyDay": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "every_day",
            "description": "Value the day's consumption must stay below."
          }
        },
        "title": "offer_caps.v1.Limit.Day",
        "required": [
          "everyDay"
        ],
        "additionalProperties": false,
        "description": "Limit enforced over a single day."
      },
      "offer_caps.v1.ListOfferCapsRequest": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "title": "offer_id",
            "format": "uuid",
            "description": "Offer identifier (UUID) whose caps are listed."
          }
        },
        "title": "offer_caps.v1.ListOfferCapsRequest",
        "required": [
          "offerId"
        ],
        "additionalProperties": false,
        "description": "Request to list the conversion caps of an offer."
      },
      "offer_caps.v1.ListOfferCapsResponse": {
        "type": "object",
        "properties": {
          "caps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offer_caps.v1.Cap"
            },
            "title": "caps",
            "description": "Caps configured on the offer."
          }
        },
        "title": "offer_caps.v1.ListOfferCapsResponse",
        "required": [
          "caps"
        ],
        "additionalProperties": false,
        "description": "Response containing the caps of the offer.\n Callers restricted to their own sources see the limit resolved for each of those sources under\n `limits.by_source.individual`, with `limits.by_source.default` left unset."
      },
      "offers.v1.DirectLink": {
        "type": "object",
        "properties": {
          "publicId": {
            "type": "string",
            "title": "public_id",
            "description": "Public-facing direct link identifier used in tracking URLs."
          }
        },
        "title": "offers.v1.DirectLink",
        "required": [
          "publicId"
        ],
        "additionalProperties": false,
        "description": "Direct tracking link details for a landing page."
      },
      "offers.v1.LandingPage": {
        "type": "object",
        "allOf": [
          {
            "oneOf": [
              {
                "required": [
                  "directLink"
                ]
              },
              {
                "required": [
                  "redirectLink"
                ]
              }
            ]
          }
        ],
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "directLink": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/offers.v1.DirectLink"
                  }
                ],
                "title": "direct_link",
                "description": "Set when the landing page uses a direct tracking link."
              }
            },
            "title": "direct_link"
          },
          {
            "type": "object",
            "properties": {
              "redirectLink": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/offers.v1.RedirectLink"
                  }
                ],
                "title": "redirect_link",
                "description": "Set when the landing page uses a redirect tracking link."
              }
            },
            "title": "redirect_link"
          }
        ],
        "unevaluatedProperties": false,
        "not": {
          "allOf": [
            {
              "anyOf": [
                {
                  "required": [
                    "directLink"
                  ]
                },
                {
                  "required": [
                    "redirectLink"
                  ]
                }
              ]
            },
            {
              "not": {
                "oneOf": [
                  {
                    "required": [
                      "directLink"
                    ]
                  },
                  {
                    "required": [
                      "redirectLink"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Landing page unique identifier (UUID)."
          },
          "offerId": {
            "type": "string",
            "title": "offer_id",
            "description": "Identifier (UUID) of the offer this landing page belongs to."
          },
          "url": {
            "type": "string",
            "title": "url",
            "description": "Destination URL the landing page points to."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Landing page display name."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.LandingPageStatus"
              }
            ],
            "title": "status",
            "description": "Current status of the landing page (enabled or disabled)."
          }
        },
        "title": "offers.v1.LandingPage",
        "required": [
          "id",
          "offerId",
          "url",
          "name",
          "status"
        ],
        "description": "Landing page paired with its tracking link metadata. The link variant indicates the tracking type."
      },
      "offers.v1.ListLandingPagesRequest": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "title": "offer_id",
            "format": "uuid",
            "description": "Offer identifier (UUID) whose landing pages are listed."
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.PaginationParams"
              }
            ],
            "title": "pagination",
            "description": "Pagination of the listed landing pages."
          }
        },
        "title": "offers.v1.ListLandingPagesRequest",
        "required": [
          "offerId",
          "pagination"
        ],
        "additionalProperties": false,
        "description": "Request to list landing pages assigned to an offer."
      },
      "offers.v1.ListLandingPagesResponse": {
        "type": "object",
        "properties": {
          "landingPages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offers.v1.LandingPage"
            },
            "title": "landing_pages",
            "description": "Landing pages assigned to the offer."
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Pagination"
              }
            ],
            "title": "pagination",
            "description": "Pagination details of the listed offers."
          }
        },
        "title": "offers.v1.ListLandingPagesResponse",
        "required": [
          "landingPages",
          "pagination"
        ],
        "additionalProperties": false,
        "description": "Response containing landing pages of the offer with their tracking link metadata."
      },
      "offers.v1.ListOfferCreativesRequest": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "title": "offer_id",
            "format": "uuid",
            "description": "Offer identifier (UUID)."
          }
        },
        "title": "offers.v1.ListOfferCreativesRequest",
        "required": [
          "offerId"
        ],
        "additionalProperties": false
      },
      "offers.v1.ListOfferCreativesResponse": {
        "type": "object",
        "properties": {
          "creatives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/offers.v1.OfferCreative"
            },
            "title": "creatives",
            "description": "Creatives configured for the offer."
          }
        },
        "title": "offers.v1.ListOfferCreativesResponse",
        "required": [
          "creatives"
        ],
        "additionalProperties": false
      },
      "offers.v1.OfferCreative": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the creative (UUID)."
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.CreativeType"
              }
            ],
            "title": "type",
            "description": "Type of the creative."
          },
          "content": {
            "type": "string",
            "title": "content",
            "description": "Creative content (URL, HTML, or text up to 100000 chars)."
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "created_at",
            "description": "Timestamp when the creative was created (UTC)."
          },
          "meta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offers.v1.OfferCreative.Meta"
              }
            ],
            "title": "meta",
            "description": "Image/file metadata for the creative."
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "name",
            "description": "(OPTIONAL) Human-readable name of the creative (1-255 chars)."
          },
          "note": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "note",
            "description": "(OPTIONAL) Internal note for the creative (1-1000 chars)."
          },
          "visibleInGetLink": {
            "type": "boolean",
            "title": "visible_in_get_link",
            "description": "Whether the creative is exposed in the affiliate \"Get link\" interface."
          }
        },
        "title": "offers.v1.OfferCreative",
        "required": [
          "id",
          "type",
          "content",
          "createdAt",
          "meta",
          "visibleInGetLink"
        ],
        "additionalProperties": false,
        "description": "Single promotional creative (banner, image, HTML) attached to an offer."
      },
      "offers.v1.OfferCreative.Meta": {
        "type": "object",
        "properties": {
          "width": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.UInt32Value"
              }
            ],
            "title": "width",
            "description": "(OPTIONAL) Width in pixels, if applicable."
          },
          "height": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.UInt32Value"
              }
            ],
            "title": "height",
            "description": "(OPTIONAL) Height in pixels, if applicable."
          },
          "size": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.UInt32Value"
              }
            ],
            "title": "size",
            "description": "(OPTIONAL) File size in bytes, if applicable."
          }
        },
        "title": "offers.v1.OfferCreative.Meta",
        "additionalProperties": false,
        "description": "Image/file metadata for the creative."
      },
      "offers.v1.RedirectLink": {
        "type": "object",
        "properties": {
          "targeting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/offers.v1.Targeting"
              }
            ],
            "title": "targeting",
            "description": "Targeting rules applied to this redirect landing page."
          }
        },
        "title": "offers.v1.RedirectLink",
        "required": [
          "targeting"
        ],
        "additionalProperties": false,
        "description": "Redirect tracking link details for a landing page."
      },
      "offers.v1.Targeting": {
        "type": "object",
        "properties": {
          "locations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/locations.v1.Locations"
              }
            ],
            "title": "locations",
            "description": "Geographic locations configured for targeting."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "(OPTIONAL) "
            },
            "title": "languages",
            "description": "(OPTIONAL) ISO 639-1 two-letter language codes configured for targeting."
          },
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.Device"
            },
            "title": "devices",
            "description": "(OPTIONAL) Device types configured for targeting."
          },
          "operatingSystems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.OperatingSystem"
            },
            "title": "operating_systems",
            "description": "(OPTIONAL) Operating systems configured for targeting."
          }
        },
        "title": "offers.v1.Targeting",
        "required": [
          "locations"
        ],
        "additionalProperties": false,
        "description": "Targeting criteria returned for a redirect landing page."
      },
      "revenue_origin_billing.v1.Claim": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "ID of advertiser settlement."
          },
          "revenueOrigin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/revenue_origin_billing.v1.Claim.RevenueOrigin"
              }
            ],
            "title": "revenue_origin",
            "description": "Advertiser for which the settlement is generated."
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "amount",
            "description": "Total amount generated in the settlement."
          },
          "currency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Currency"
              }
            ],
            "title": "currency",
            "description": "Currency used in settlement."
          },
          "until": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "until",
            "description": "Settled until date."
          },
          "billingDetail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/revenue_origin_billing.v1.Claim.BillingDetail"
              }
            ],
            "title": "billing_detail",
            "description": "Advertiser billing details."
          },
          "tenantBillingDetail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/settings.v1.BillingDetail"
              }
            ],
            "title": "tenant_billing_detail",
            "description": "Your billing details."
          },
          "paymentMethodForAdvertiser": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "payment_method_for_advertiser",
            "description": "Advertiser payment method information."
          },
          "note": {
            "type": "string",
            "title": "note",
            "description": "Optional note for the settlement."
          },
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "created_at",
            "description": "Date of settlement creation."
          }
        },
        "title": "revenue_origin_billing.v1.Claim",
        "required": [
          "id",
          "revenueOrigin",
          "amount",
          "currency",
          "until",
          "billingDetail",
          "tenantBillingDetail",
          "note",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "revenue_origin_billing.v1.Claim.BillingDetail": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of advertiser."
          },
          "addressLine1": {
            "type": "string",
            "title": "address_line1",
            "description": "Address line 1."
          },
          "city": {
            "type": "string",
            "title": "city",
            "description": "City."
          },
          "countryCode": {
            "type": "string",
            "title": "country_code",
            "description": "Country code."
          },
          "postalCode": {
            "type": "string",
            "title": "postal_code",
            "description": "Postal code."
          },
          "addressLine2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "address_line2",
            "description": "Address line 2."
          },
          "invoicingEmail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "invoicing_email",
            "description": "Invoicing email."
          },
          "vat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "vat",
            "description": "VAT number."
          }
        },
        "title": "revenue_origin_billing.v1.Claim.BillingDetail",
        "required": [
          "name",
          "addressLine1",
          "city",
          "countryCode",
          "postalCode"
        ],
        "additionalProperties": false
      },
      "revenue_origin_billing.v1.Claim.RevenueOrigin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Advertiser ID."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of advertiser."
          }
        },
        "title": "revenue_origin_billing.v1.Claim.RevenueOrigin",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "revenue_origin_billing.v1.ListClaimsRequest": {
        "type": "object",
        "properties": {
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.PaginationParams"
              }
            ],
            "title": "pagination",
            "description": "Pagination."
          },
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range."
          }
        },
        "title": "revenue_origin_billing.v1.ListClaimsRequest",
        "required": [
          "pagination",
          "timeRange"
        ],
        "additionalProperties": false
      },
      "revenue_origin_billing.v1.ListClaimsResponse": {
        "type": "object",
        "properties": {
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/revenue_origin_billing.v1.Claim"
            },
            "title": "claims",
            "description": "Advertiser settlements."
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Pagination"
              }
            ],
            "title": "pagination"
          }
        },
        "title": "revenue_origin_billing.v1.ListClaimsResponse",
        "required": [
          "claims",
          "pagination"
        ],
        "additionalProperties": false
      },
      "settings.v1.BillingDetail": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "name",
            "description": "Legal name."
          },
          "addressLine1": {
            "type": "string",
            "title": "address_line1",
            "description": "Address."
          },
          "city": {
            "type": "string",
            "title": "city",
            "description": "City."
          },
          "countryCode": {
            "type": "string",
            "title": "country_code",
            "description": "Country code"
          },
          "postalCode": {
            "type": "string",
            "title": "postal_code",
            "description": "Postal code."
          },
          "addressLine2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "address_line2",
            "description": "Additional address details."
          },
          "invoicingEmail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "invoicing_email",
            "description": "Invoicing email."
          },
          "vat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "vat",
            "description": "VAT number."
          }
        },
        "title": "settings.v1.BillingDetail",
        "additionalProperties": false,
        "description": "Billing details set for tenant (i.e. your company billing details)."
      },
      "tags.v1.ListTagsRequest": {
        "type": "object",
        "title": "tags.v1.ListTagsRequest",
        "additionalProperties": false,
        "description": "List existing tags."
      },
      "tags.v1.ListTagsResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/tags.v1.Tag"
            },
            "title": "tags"
          }
        },
        "title": "tags.v1.ListTagsResponse",
        "required": [
          "tags"
        ],
        "additionalProperties": false,
        "description": "List of existing tags."
      },
      "tags.v1.Tag": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the tag."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the tag."
          },
          "hexColorCode": {
            "type": "string",
            "title": "hex_color_code",
            "description": "Color of the tag, uses HTML hex color code."
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.TagScope"
            },
            "title": "scopes",
            "description": "Scopes the tag applies to."
          }
        },
        "title": "tags.v1.Tag",
        "required": [
          "id",
          "name",
          "hexColorCode",
          "scopes"
        ],
        "additionalProperties": false,
        "description": "Tag"
      },
      "types.v1.Currency": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "maxLength": 3,
            "minLength": 3,
            "pattern": "^[A-Z]*$",
            "description": "The three-letter currency code defined in ISO 4217."
          }
        },
        "title": "types.v1.Currency",
        "additionalProperties": false
      },
      "types.v1.Decimal": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "title": "value",
            "pattern": "^-?\\d+(\\.\\d+)?$"
          }
        },
        "title": "types.v1.Decimal",
        "additionalProperties": false
      },
      "types.v1.Fallback": {
        "type": "object",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "customUrl": {
                "type": "string",
                "title": "custom_url",
                "description": "(OPTIONAL) "
              }
            },
            "title": "custom_url"
          },
          {
            "type": "object",
            "properties": {
              "offerId": {
                "type": "string",
                "title": "offer_id",
                "description": "(OPTIONAL) "
              }
            },
            "title": "offer_id"
          },
          {
            "type": "object",
            "properties": {
              "smartLinkId": {
                "type": "string",
                "title": "smart_link_id",
                "description": "(OPTIONAL) "
              }
            },
            "title": "smart_link_id"
          }
        ],
        "unevaluatedProperties": false,
        "not": {
          "allOf": [
            {
              "anyOf": [
                {
                  "required": [
                    "customUrl"
                  ]
                },
                {
                  "required": [
                    "offerId"
                  ]
                },
                {
                  "required": [
                    "smartLinkId"
                  ]
                }
              ]
            },
            {
              "not": {
                "oneOf": [
                  {
                    "required": [
                      "customUrl"
                    ]
                  },
                  {
                    "required": [
                      "offerId"
                    ]
                  },
                  {
                    "required": [
                      "smartLinkId"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "title": "types.v1.Fallback"
      },
      "types.v1.Pagination": {
        "type": "object",
        "properties": {
          "totalCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.UInt32Value"
              }
            ],
            "title": "total_count",
            "description": "Total number of items matching the request across all pages. Unset when the total is not computed."
          },
          "hasMore": {
            "type": "boolean",
            "title": "has_more",
            "description": "Whether more items are available beyond the current page."
          }
        },
        "title": "types.v1.Pagination",
        "additionalProperties": false,
        "description": "Pagination details returned with a list response."
      },
      "types.v1.PaginationParams": {
        "type": "object",
        "properties": {
          "limit": {
            "exclusiveMinimum": 0,
            "type": "integer",
            "title": "limit",
            "maximum": 500,
            "description": "Maximum number of items to return (1-500)."
          },
          "offset": {
            "type": "integer",
            "title": "offset",
            "description": "Number of items to skip from the start of the result set."
          }
        },
        "title": "types.v1.PaginationParams",
        "additionalProperties": false,
        "description": "Pagination for a list request."
      },
      "types.v1.TimeRange": {
        "type": "object",
        "properties": {
          "from": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "from"
          },
          "to": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "to"
          }
        },
        "title": "types.v1.TimeRange",
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false,
        "description": "from.before.to // from must be before to\n"
      },
      "client_metrics.v1.CreateClientMetricMovementRequest": {
        "type": "object",
        "properties": {
          "externalClientId": {
            "type": "string",
            "title": "external_client_id",
            "maxLength": 255,
            "minLength": 1,
            "description": "External ID of the client as known to the receiver."
          },
          "revenueOriginId": {
            "type": "string",
            "title": "revenue_origin_id",
            "format": "uuid",
            "description": "Revenue origin the client belongs to."
          },
          "metrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/client_metrics.v1.CreateClientMetricMovementRequest.Metric"
            },
            "title": "metrics",
            "maxItems": 20,
            "minItems": 1,
            "description": "(OPTIONAL) Metric values to record. Each code must be unique within the request."
          },
          "requestId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "request_id",
            "maxLength": 100,
            "minLength": 1,
            "description": "(OPTIONAL) Idempotency key. Requests sharing the same request_id are deduplicated."
          }
        },
        "title": "client_metrics.v1.CreateClientMetricMovementRequest",
        "required": [
          "externalClientId",
          "revenueOriginId"
        ],
        "additionalProperties": false,
        "description": "Create a new client metric movement\nmetrics_unique_code // Each metric must have unique code.\n"
      },
      "client_metrics.v1.CreateClientMetricMovementRequest.Metric": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "maxLength": 100,
            "minLength": 1,
            "description": "Code of the metric to update, as configured in the revenue origin settings."
          },
          "valueType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.ClientMetricValueType"
              }
            ],
            "not": {
              "enum": [
                "CLIENT_METRIC_VALUE_TYPE_UNSPECIFIED"
              ]
            },
            "title": "value_type",
            "description": "Type of the metric value.\nenum.defined_only = true\n"
          },
          "value": {
            "type": "string",
            "title": "value",
            "pattern": "^-?\\d+(\\.\\d+)?$",
            "description": "Decimal string representing the metric value (e.g. \"42\" or \"3.14\")."
          }
        },
        "title": "client_metrics.v1.CreateClientMetricMovementRequest.Metric",
        "required": [
          "code",
          "valueType",
          "value"
        ],
        "additionalProperties": false,
        "description": "A single metric value to record."
      },
      "client_metrics.v1.CreateClientMetricMovementResponse": {
        "type": "object",
        "title": "client_metrics.v1.CreateClientMetricMovementResponse",
        "additionalProperties": false,
        "description": "Feedback message for client metric movement creation."
      },
      "enums.v1.ClientMetricValueType": {
        "type": "string",
        "title": "enums.v1.ClientMetricValueType",
        "enum": [
          "CLIENT_METRIC_VALUE_TYPE_UNSPECIFIED",
          "CLIENT_METRIC_VALUE_TYPE_ABSOLUTE",
          "CLIENT_METRIC_VALUE_TYPE_RELATIVE"
        ]
      },
      "clicks.v1.AdClickId": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.AdClickIdType"
              }
            ],
            "not": {
              "enum": [
                "AD_CLICK_ID_TYPE_UNSPECIFIED"
              ]
            },
            "title": "type",
            "description": "Click ID parameter name (e.g. gclid, fbclid, ttclid)."
          },
          "value": {
            "type": "string",
            "title": "value",
            "maxLength": 255,
            "minLength": 1,
            "description": "Value of the click ID query parameter."
          }
        },
        "title": "clicks.v1.AdClickId",
        "required": [
          "type",
          "value"
        ],
        "additionalProperties": false,
        "description": "Identifies a click originating from a paid advertising platform (e.g. Google Ads, Meta Ads, TikTok Ads)."
      },
      "enums.v1.AdClickIdType": {
        "type": "string",
        "title": "enums.v1.AdClickIdType",
        "enum": [
          "AD_CLICK_ID_TYPE_UNSPECIFIED",
          "AD_CLICK_ID_TYPE_FBCLID",
          "AD_CLICK_ID_TYPE_GCLID",
          "AD_CLICK_ID_TYPE_TTCLID"
        ]
      },
      "enums.v1.AnuraScore": {
        "type": "string",
        "title": "enums.v1.AnuraScore",
        "enum": [
          "ANURA_SCORE_UNSPECIFIED",
          "ANURA_SCORE_GOOD",
          "ANURA_SCORE_WARNING",
          "ANURA_SCORE_BAD"
        ]
      },
      "enums.v1.ClickStatus": {
        "type": "string",
        "title": "enums.v1.ClickStatus",
        "enum": [
          "CLICK_STATUS_UNSPECIFIED",
          "CLICK_STATUS_OK",
          "CLICK_STATUS_NOT_ALLOWED",
          "CLICK_STATUS_BLOCKED"
        ]
      },
      "enums.v1.ClickType": {
        "type": "string",
        "title": "enums.v1.ClickType",
        "enum": [
          "CLICK_TYPE_UNSPECIFIED",
          "CLICK_TYPE_DIRECT",
          "CLICK_TYPE_REDIRECT",
          "CLICK_TYPE_REDIRECT_LANDING_PAGE",
          "CLICK_TYPE_REDIRECT_LANDING_PAGE_GOOGLE_DOMAIN",
          "CLICK_TYPE_SMART_LINK"
        ]
      },
      "enums.v1.FraudDetectionRule": {
        "type": "string",
        "title": "enums.v1.FraudDetectionRule",
        "enum": [
          "FRAUD_DETECTION_RULE_UNSPECIFIED",
          "FRAUD_DETECTION_RULE_AFFILIATE_SAME_BILLING_DETAILS",
          "FRAUD_DETECTION_RULE_AFFILIATE_SAME_IP_ADDRESS",
          "FRAUD_DETECTION_RULE_CLICK_CLOUD_PROVIDER_IP",
          "FRAUD_DETECTION_RULE_CLICK_IP_ADDRESS_FREQUENCY",
          "FRAUD_DETECTION_RULE_CLICK_KNOWN_BOT",
          "FRAUD_DETECTION_RULE_CLICK_UNKNOWN_DEVICE",
          "FRAUD_DETECTION_RULE_CLICK_UNRECOGNIZED_USER_AGENT",
          "FRAUD_DETECTION_RULE_CLICK_UNSUPPORTED_OS_VERSION",
          "FRAUD_DETECTION_RULE_CONVERSION_ADV_S_MATCHES_AFFILIATE_EMAIL",
          "FRAUD_DETECTION_RULE_CONVERSION_EXTERNAL_CID_MATCHES_AFFILIATE_EMAIL",
          "FRAUD_DETECTION_RULE_CONVERSION_IP_MATCHES_AFFILIATE_IP",
          "FRAUD_DETECTION_RULE_CONVERSION_SUSPICIOUS_CLICK",
          "FRAUD_DETECTION_RULE_CONVERSION_TIME_AFTER_CONVERSION_SOURCE"
        ]
      },
      "enums.v1.ReportColumn": {
        "type": "string",
        "title": "enums.v1.ReportColumn",
        "enum": [
          "REPORT_COLUMN_UNSPECIFIED",
          "REPORT_COLUMN_ADVERTISER_PROFIT",
          "REPORT_COLUMN_AVERAGE_CLICK_CONVERSION_AMOUNT",
          "REPORT_COLUMN_AVERAGE_CLICK_COST",
          "REPORT_COLUMN_AVERAGE_CLICK_REVENUE",
          "REPORT_COLUMN_AVERAGE_COMMISSION_AMOUNT",
          "REPORT_COLUMN_AVERAGE_CONVERSION_AMOUNT",
          "REPORT_COLUMN_AVERAGE_COST",
          "REPORT_COLUMN_AVERAGE_REVENUE",
          "REPORT_COLUMN_CLICK_COUNT",
          "REPORT_COLUMN_CLICK_FRAUD_RATE",
          "REPORT_COLUMN_COMMISSION_COUNT",
          "REPORT_COLUMN_CONVERSION_AMOUNT_PER_CLICK",
          "REPORT_COLUMN_CONVERSION_COUNT",
          "REPORT_COLUMN_CONVERSION_FRAUD_RATE",
          "REPORT_COLUMN_CONVERSION_PER_CLICK_RATE",
          "REPORT_COLUMN_COUPON_COUNT",
          "REPORT_COLUMN_COST_PER_CLICK",
          "REPORT_COLUMN_GROSS_CLICK_COUNT",
          "REPORT_COLUMN_PROFIT",
          "REPORT_COLUMN_REVENUE_PER_CLICK",
          "REPORT_COLUMN_TOTAL_CLICK_CONVERSION_AMOUNT",
          "REPORT_COLUMN_TOTAL_CLICK_COST",
          "REPORT_COLUMN_TOTAL_CLICK_REVENUE",
          "REPORT_COLUMN_TOTAL_COMMISSION_AMOUNT",
          "REPORT_COLUMN_TOTAL_CONVERSION_AMOUNT",
          "REPORT_COLUMN_TOTAL_COST",
          "REPORT_COLUMN_TOTAL_REVENUE"
        ]
      },
      "enums.v1.ReportGrouping": {
        "type": "string",
        "title": "enums.v1.ReportGrouping",
        "enum": [
          "REPORT_GROUPING_UNSPECIFIED",
          "REPORT_GROUPING_ACCOUNT",
          "REPORT_GROUPING_ADV_S1",
          "REPORT_GROUPING_ADV_S2",
          "REPORT_GROUPING_ADV_S3",
          "REPORT_GROUPING_ADV_S4",
          "REPORT_GROUPING_ADV_S5",
          "REPORT_GROUPING_AFF_S1",
          "REPORT_GROUPING_AFF_S2",
          "REPORT_GROUPING_AFF_S3",
          "REPORT_GROUPING_AFF_S4",
          "REPORT_GROUPING_AFF_S5",
          "REPORT_GROUPING_AFFILIATE_MANAGER_ACCOUNT",
          "REPORT_GROUPING_CATEGORY",
          "REPORT_GROUPING_COUNTRY_CODE",
          "REPORT_GROUPING_COUPON",
          "REPORT_GROUPING_DAY",
          "REPORT_GROUPING_HOUR",
          "REPORT_GROUPING_LANDING_PAGE",
          "REPORT_GROUPING_MONTH",
          "REPORT_GROUPING_OFFER",
          "REPORT_GROUPING_REVENUE_ORIGIN",
          "REPORT_GROUPING_SMART_LINK",
          "REPORT_GROUPING_SOURCE",
          "REPORT_GROUPING_TIER",
          "REPORT_GROUPING_WEEK",
          "REPORT_GROUPING_YEAR"
        ]
      },
      "google.protobuf.BoolValue": {
        "type": "boolean",
        "description": "A boolean value; `null` is also accepted."
      },
      "reports.v1.Account": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Internal ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Affiliate name"
          }
        },
        "title": "reports.v1.Account",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Affiliate account"
      },
      "reports.v1.Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Category ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Category name"
          }
        },
        "title": "reports.v1.Category",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Category"
      },
      "reports.v1.ClickReportFilters": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range"
          },
          "cids": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "cids",
            "uniqueItems": true,
            "description": "Click ID"
          },
          "externalCids": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "external_cids",
            "uniqueItems": true,
            "description": "External CID"
          },
          "countryCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "title": "country_codes",
            "uniqueItems": true,
            "description": "Country code. Uses ISO 3166-1 alpha-2 (two-letter) format."
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "source_ids",
            "uniqueItems": true,
            "description": "Traffic source IDs"
          },
          "offerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "offer_ids",
            "uniqueItems": true,
            "description": "Offer ID"
          },
          "ipAddresses": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "ip_addresses",
            "uniqueItems": true,
            "description": "IP address of click's origin"
          },
          "referrer": {
            "type": "string",
            "title": "referrer",
            "maxLength": 255,
            "description": "Referrer URL"
          },
          "affS1s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s1s",
            "uniqueItems": true,
            "description": "Aff s1 custom parameter"
          },
          "affS2s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s2s",
            "uniqueItems": true,
            "description": "Aff s2 custom parameter"
          },
          "affS3s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s3s",
            "uniqueItems": true,
            "description": "Aff s3 custom parameter"
          },
          "affS4s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s4s",
            "uniqueItems": true,
            "description": "Aff s4 custom parameter"
          },
          "affS5s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s5s",
            "uniqueItems": true,
            "description": "Aff s5 custom parameter"
          },
          "fraudSuspicion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.FraudSuspicionFilter"
              }
            ],
            "title": "fraud_suspicion",
            "description": "(OPTIONAL) Is click flagged by fraud detection?"
          },
          "revenueOriginIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "revenue_origin_ids",
            "uniqueItems": true,
            "description": "Advertisers"
          },
          "offerTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "offer_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by offers having at least one of these tag IDs"
          },
          "affiliateTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "affiliate_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by affiliates having at least one of these tag IDs"
          },
          "revenueOriginTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "revenue_origin_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by advertisers (revenue origins) having at least one of these tag IDs"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ClickType"
            },
            "title": "types",
            "uniqueItems": true,
            "description": "(OPTIONAL) Click origin (type)"
          }
        },
        "title": "reports.v1.ClickReportFilters",
        "required": [
          "timeRange"
        ],
        "additionalProperties": false,
        "description": "Click report filters"
      },
      "reports.v1.ClickReportRequest": {
        "type": "object",
        "properties": {
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.PaginationParams"
              }
            ],
            "title": "pagination",
            "description": "Pagination"
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportFilters"
              }
            ],
            "title": "filters",
            "description": "Filters (see above)"
          }
        },
        "title": "reports.v1.ClickReportRequest",
        "required": [
          "pagination",
          "filters"
        ],
        "additionalProperties": false,
        "description": "Click report request"
      },
      "reports.v1.ClickReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.ClickReportResponse.Row"
            },
            "title": "rows"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Pagination"
              }
            ],
            "title": "pagination"
          }
        },
        "title": "reports.v1.ClickReportResponse",
        "required": [
          "pagination"
        ],
        "additionalProperties": false,
        "description": "Click report data"
      },
      "reports.v1.ClickReportResponse.ConversionSourceExternalIdentifier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "External identifier ID"
          },
          "externalCid": {
            "type": "string",
            "title": "external_cid",
            "description": "External click ID"
          },
          "revenueOriginId": {
            "type": "string",
            "title": "revenue_origin_id",
            "description": "Click's revenue origin (or advertiser)"
          }
        },
        "title": "reports.v1.ClickReportResponse.ConversionSourceExternalIdentifier",
        "additionalProperties": false,
        "description": "Click identifiers"
      },
      "reports.v1.ClickReportResponse.CustomParams": {
        "type": "object",
        "properties": {
          "affS1": {
            "type": "string",
            "title": "aff_s1",
            "description": "Aff s1 parameter"
          },
          "affS2": {
            "type": "string",
            "title": "aff_s2",
            "description": "Aff s2 parameter"
          },
          "affS3": {
            "type": "string",
            "title": "aff_s3",
            "description": "Aff s3 parameter"
          },
          "affS4": {
            "type": "string",
            "title": "aff_s4",
            "description": "Aff s4 parameter"
          },
          "affS5": {
            "type": "string",
            "title": "aff_s5",
            "description": "Aff s5 parameter"
          },
          "adClickId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/clicks.v1.AdClickId"
              }
            ],
            "title": "ad_click_id",
            "description": "(OPTIONAL) Ad click ID query parameter (e.g. gclid, fbclid, ttclid)."
          }
        },
        "title": "reports.v1.ClickReportResponse.CustomParams",
        "additionalProperties": false,
        "description": "Custom affiliate parameters"
      },
      "reports.v1.ClickReportResponse.Offer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Offer ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Offer name"
          }
        },
        "title": "reports.v1.ClickReportResponse.Offer",
        "additionalProperties": false,
        "description": "Offer"
      },
      "reports.v1.ClickReportResponse.RevenueOrigin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Revenue origin/advertiser ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Revenue origin/advertiser name"
          }
        },
        "title": "reports.v1.ClickReportResponse.RevenueOrigin",
        "additionalProperties": false,
        "description": "Revenue origin (or advertiser)"
      },
      "reports.v1.ClickReportResponse.Row": {
        "type": "object",
        "properties": {
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "created_at",
            "description": "Timestamp"
          },
          "cid": {
            "type": "string",
            "title": "cid",
            "description": "Click ID"
          },
          "conversionSourceExternalIdentifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.ConversionSourceExternalIdentifier"
              }
            ],
            "title": "conversion_source_external_identifier",
            "description": "Deprecated: Click external ID"
          },
          "conversionSourceExternalIdentifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.ClickReportResponse.ConversionSourceExternalIdentifier"
            },
            "title": "conversion_source_external_identifiers",
            "description": "Click external IDs"
          },
          "countryCode": {
            "type": "string",
            "title": "country_code",
            "description": "Country code"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.Source"
              }
            ],
            "title": "source",
            "description": "Traffic source"
          },
          "offer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.Offer"
              }
            ],
            "title": "offer",
            "description": "Offer"
          },
          "ipAddress": {
            "type": "string",
            "title": "ip_address",
            "description": "IP address"
          },
          "userAgent": {
            "type": "string",
            "title": "user_agent",
            "description": "Browser, OS and device"
          },
          "referrer": {
            "type": "string",
            "title": "referrer",
            "description": "Referrer URL"
          },
          "grossClickCount": {
            "type": "integer",
            "title": "gross_click_count",
            "description": "Gross click count"
          },
          "params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.CustomParams"
              }
            ],
            "title": "params",
            "description": "Custom parameters"
          },
          "fraudSuspicion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.FraudSuspicion"
              }
            ],
            "title": "fraud_suspicion",
            "description": "Is flagged by fraud detection system?"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.ClickStatus"
              }
            ],
            "title": "status",
            "description": "Click status"
          },
          "revenueOrigin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.RevenueOrigin"
              }
            ],
            "title": "revenue_origin",
            "description": "Revenue origin/advertiser"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.ClickType"
              }
            ],
            "title": "type",
            "description": "Click origin (type)"
          },
          "targetingData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.TargetingData"
              }
            ],
            "title": "targeting_data",
            "description": "(OPTIONAL) Click properties applied during LP targeting"
          },
          "anura": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Anura"
              }
            ],
            "title": "anura",
            "description": "Anura fraud detection"
          },
          "landingPage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.LandingPage"
              }
            ],
            "title": "landing_page",
            "description": "Landing page"
          },
          "sourceExpiredAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "source_expired_at",
            "description": "(OPTIONAL) Expired at timestamp"
          },
          "cookieExpiredAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "cookie_expired_at",
            "description": "(OPTIONAL) Cookie expired at timestamp"
          }
        },
        "title": "reports.v1.ClickReportResponse.Row",
        "required": [
          "landingPage"
        ],
        "additionalProperties": false
      },
      "reports.v1.ClickReportResponse.Source": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Affiliate ID"
          },
          "publicId": {
            "type": "string",
            "title": "public_id",
            "description": "Affiliate public ID"
          }
        },
        "title": "reports.v1.ClickReportResponse.Source",
        "additionalProperties": false,
        "description": "Source affiliate"
      },
      "reports.v1.ClickReportResponse.TargetingData": {
        "type": "object",
        "properties": {
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/locations.v1.Location"
              }
            ],
            "title": "location",
            "description": "(OPTIONAL) "
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "language",
            "description": "(OPTIONAL) "
          },
          "device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.TargetingData.Device"
              }
            ],
            "title": "device",
            "description": "(OPTIONAL) "
          },
          "operatingSystem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClickReportResponse.TargetingData.OperatingSystem"
              }
            ],
            "title": "operating_system",
            "description": "(OPTIONAL) "
          }
        },
        "title": "reports.v1.ClickReportResponse.TargetingData",
        "additionalProperties": false,
        "description": "Click properties applied during LP targeting"
      },
      "reports.v1.ClickReportResponse.TargetingData.Device": {
        "type": "object",
        "properties": {
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.Device"
              }
            ],
            "title": "value"
          }
        },
        "title": "reports.v1.ClickReportResponse.TargetingData.Device",
        "required": [
          "value"
        ],
        "additionalProperties": false
      },
      "reports.v1.ClickReportResponse.TargetingData.OperatingSystem": {
        "type": "object",
        "properties": {
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.OperatingSystem"
              }
            ],
            "title": "value"
          }
        },
        "title": "reports.v1.ClickReportResponse.TargetingData.OperatingSystem",
        "required": [
          "value"
        ],
        "additionalProperties": false
      },
      "reports.v1.ClientMetricColumns": {
        "type": "object",
        "properties": {
          "codes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100,
              "minLength": 1
            },
            "title": "codes",
            "uniqueItems": true,
            "description": "Client metric codes"
          }
        },
        "title": "reports.v1.ClientMetricColumns",
        "required": [
          "codes"
        ],
        "additionalProperties": false,
        "description": "Requested client metric columns"
      },
      "reports.v1.ClientMetrics": {
        "type": "object",
        "properties": {
          "integers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.ClientMetrics.Integer"
            },
            "title": "integers",
            "description": "Client metrics with integer value"
          },
          "decimals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.ClientMetrics.Decimal"
            },
            "title": "decimals",
            "description": "Client metrics with decimal value"
          }
        },
        "title": "reports.v1.ClientMetrics",
        "required": [
          "integers",
          "decimals"
        ],
        "additionalProperties": false,
        "description": "Client metrics"
      },
      "reports.v1.ClientMetrics.Decimal": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Client metric code"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "value",
            "description": "Client metric value"
          }
        },
        "title": "reports.v1.ClientMetrics.Decimal",
        "required": [
          "code",
          "value"
        ],
        "additionalProperties": false,
        "description": "Client metrics with decimal value"
      },
      "reports.v1.ClientMetrics.Integer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Client metric code"
          },
          "value": {
            "type": "string",
            "title": "value",
            "format": "int64",
            "description": "Client metric value"
          }
        },
        "title": "reports.v1.ClientMetrics.Integer",
        "required": [
          "code",
          "value"
        ],
        "additionalProperties": false,
        "description": "Client metrics with integer value"
      },
      "reports.v1.ConversionDrilldown": {
        "type": "object",
        "properties": {
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Conversion types to include in the breakdown"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "(OPTIONAL) Conversion statuses to include in the breakdown"
          }
        },
        "title": "reports.v1.ConversionDrilldown",
        "additionalProperties": false,
        "description": "Conversion drilldown\n\n Specifies which conversion types and statuses to break down separately in the report response.\n When set, each row additionally contains per-type and per-status conversion metrics\n alongside the aggregated totals."
      },
      "reports.v1.ConversionReportFilters": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "(OPTIONAL) Time range"
          },
          "conversionIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "conversion_ids",
            "uniqueItems": true,
            "description": "Conversion IDs"
          },
          "cids": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "cids",
            "uniqueItems": true,
            "description": "Click IDs"
          },
          "externalCids": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "external_cids",
            "uniqueItems": true,
            "description": "External click IDs"
          },
          "couponCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "coupon_codes",
            "uniqueItems": true,
            "description": "Coupon codes"
          },
          "countryCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "title": "country_codes",
            "uniqueItems": true,
            "description": "Country code. Uses ISO 3166-1 alpha-2 (two-letter) format."
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "source_ids",
            "uniqueItems": true,
            "description": "Source IDs"
          },
          "offerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "offer_ids",
            "uniqueItems": true,
            "description": "Offer IDs"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "Conversion sources"
          },
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "Conversion types"
          },
          "conversionSourceTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 100,
              "minLength": 1
            },
            "title": "conversion_source_types",
            "uniqueItems": true,
            "description": "Traffic source types"
          },
          "externalIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "external_ids",
            "uniqueItems": true,
            "description": "External IDs"
          },
          "customerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "customer_ids",
            "uniqueItems": true,
            "description": "Customer IDs"
          },
          "advS1s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "adv_s1s",
            "uniqueItems": true,
            "description": "Custom adv s1 parameter"
          },
          "advS2s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "adv_s2s",
            "uniqueItems": true,
            "description": "Custom adv s2 parameter"
          },
          "advS3s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "adv_s3s",
            "uniqueItems": true,
            "description": "Custom adv s3 parameter"
          },
          "advS4s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "adv_s4s",
            "uniqueItems": true,
            "description": "Custom adv s4 parameter"
          },
          "advS5s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "adv_s5s",
            "uniqueItems": true,
            "description": "Custom adv s5 parameter"
          },
          "affS1s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s1s",
            "uniqueItems": true,
            "description": "Custom aff s1 parameter"
          },
          "affS2s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s2s",
            "uniqueItems": true,
            "description": "Custom aff s2 parameter"
          },
          "affS3s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s3s",
            "uniqueItems": true,
            "description": "Custom aff s3 parameter"
          },
          "affS4s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s4s",
            "uniqueItems": true,
            "description": "Custom aff s4 parameter"
          },
          "affS5s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "minLength": 1
            },
            "title": "aff_s5s",
            "uniqueItems": true,
            "description": "Custom aff s5 parameter"
          },
          "currencyCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 3,
              "minLength": 3,
              "pattern": "^[A-Z]*$"
            },
            "title": "currency_codes",
            "description": "Currency codes. Uses ISO 4217 format"
          },
          "fraudSuspicion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.FraudSuspicionFilter"
              }
            ],
            "title": "fraud_suspicion",
            "description": "(OPTIONAL) Is flagged by fraud detection?"
          },
          "revenueOriginIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "revenue_origin_ids",
            "uniqueItems": true,
            "description": "Advertisers"
          },
          "settlementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "settlement_ids",
            "uniqueItems": true,
            "description": "Settlement IDs"
          },
          "accountSettlementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "account_settlement_ids",
            "uniqueItems": true,
            "description": "Self-billing invoice IDs"
          },
          "claimIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "claim_ids",
            "uniqueItems": true,
            "description": "Claim IDs"
          },
          "conversionTypeCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 20,
              "minLength": 1
            },
            "title": "conversion_type_codes",
            "uniqueItems": true,
            "description": "Conversion type codes"
          },
          "qualified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.BoolValue"
              }
            ],
            "title": "qualified",
            "description": "(OPTIONAL) Filters qualified/unqualified conversions"
          },
          "offerTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "offer_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by offers having at least one of these tag IDs"
          },
          "affiliateTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "affiliate_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by affiliates having at least one of these tag IDs"
          },
          "revenueOriginTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "revenue_origin_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by advertisers (revenue origins) having at least one of these tag IDs"
          },
          "isSettled": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.BoolValue"
              }
            ],
            "title": "is_settled",
            "description": "(OPTIONAL) Filters settled/unsettled conversions"
          }
        },
        "title": "reports.v1.ConversionReportFilters",
        "additionalProperties": false,
        "description": "Filters for conversion report\ntime_range.or.settlement // either time range or settlement filter need to be present\n"
      },
      "reports.v1.ConversionReportRequest": {
        "type": "object",
        "properties": {
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.PaginationParams"
              }
            ],
            "title": "pagination",
            "description": "Pagination"
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportFilters"
              }
            ],
            "title": "filters",
            "description": "Conversion report filters (see above)"
          }
        },
        "title": "reports.v1.ConversionReportRequest",
        "required": [
          "pagination",
          "filters"
        ],
        "additionalProperties": false,
        "description": "Conversion report request"
      },
      "reports.v1.ConversionReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.Row"
            },
            "title": "rows"
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Pagination"
              }
            ],
            "title": "pagination"
          }
        },
        "title": "reports.v1.ConversionReportResponse",
        "required": [
          "pagination"
        ],
        "additionalProperties": false,
        "description": "Conversion report data"
      },
      "reports.v1.ConversionReportResponse.ConversionSourceCustomParams": {
        "type": "object",
        "properties": {
          "affS1": {
            "type": "string",
            "title": "aff_s1",
            "description": "Custom aff s1 parameter"
          },
          "affS2": {
            "type": "string",
            "title": "aff_s2",
            "description": "Custom aff s2 parameter"
          },
          "affS3": {
            "type": "string",
            "title": "aff_s3",
            "description": "Custom aff s3 parameter"
          },
          "affS4": {
            "type": "string",
            "title": "aff_s4",
            "description": "Custom aff s4 parameter"
          },
          "affS5": {
            "type": "string",
            "title": "aff_s5",
            "description": "Custom aff s5 parameter"
          }
        },
        "title": "reports.v1.ConversionReportResponse.ConversionSourceCustomParams",
        "additionalProperties": false,
        "description": "Custom affiliate parameters"
      },
      "reports.v1.ConversionReportResponse.ConversionType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Conversion type ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Conversion type name"
          }
        },
        "title": "reports.v1.ConversionReportResponse.ConversionType",
        "additionalProperties": false,
        "description": "Conversion type"
      },
      "reports.v1.ConversionReportResponse.CustomParams": {
        "type": "object",
        "properties": {
          "advS1": {
            "type": "string",
            "title": "adv_s1",
            "description": "Custom adv s1 parameter"
          },
          "advS2": {
            "type": "string",
            "title": "adv_s2",
            "description": "Custom adv s2 parameter"
          },
          "advS3": {
            "type": "string",
            "title": "adv_s3",
            "description": "Custom adv s3 parameter"
          },
          "advS4": {
            "type": "string",
            "title": "adv_s4",
            "description": "Custom adv s4 parameter"
          },
          "advS5": {
            "type": "string",
            "title": "adv_s5",
            "description": "Custom adv s5 parameter"
          }
        },
        "title": "reports.v1.ConversionReportResponse.CustomParams",
        "additionalProperties": false,
        "description": "Custom advertiser parameters"
      },
      "reports.v1.ConversionReportResponse.RevenueOrigin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Advertiser ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Advertiser name"
          }
        },
        "title": "reports.v1.ConversionReportResponse.RevenueOrigin",
        "additionalProperties": false,
        "description": "Revenue origin / advertiser"
      },
      "reports.v1.ConversionReportResponse.Row": {
        "type": "object",
        "properties": {
          "createdAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "created_at",
            "description": "Timestamp of conversion's creation"
          },
          "conversionId": {
            "type": "string",
            "title": "conversion_id",
            "description": "Conversion ID"
          },
          "cid": {
            "type": "string",
            "title": "cid",
            "description": "Click ID"
          },
          "externalCid": {
            "type": "string",
            "title": "external_cid",
            "description": "External click ID"
          },
          "couponCode": {
            "type": "string",
            "title": "coupon_code",
            "description": "Coupon code"
          },
          "countryCode": {
            "type": "string",
            "title": "country_code",
            "description": "Country code"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.Source"
              }
            ],
            "title": "source",
            "description": "Traffic source"
          },
          "offer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.Offer"
              }
            ],
            "title": "offer",
            "description": "Offer"
          },
          "landingPage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.LandingPage"
              }
            ],
            "title": "landing_page",
            "description": "(OPTIONAL) Landing page of the click"
          },
          "conversionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
              }
            ],
            "title": "conversion_status",
            "description": "Conversion status"
          },
          "conversionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.ConversionType"
              }
            ],
            "title": "conversion_type",
            "description": "Conversion type"
          },
          "conversionSourceType": {
            "type": "string",
            "title": "conversion_source_type",
            "description": "Traffic source type"
          },
          "conversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount",
            "description": "Original amount of the conversion the revenue and cost is calculated from"
          },
          "revenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue",
            "description": "Revenue"
          },
          "cost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost",
            "description": "Payout to affiliate"
          },
          "normalizedRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "normalized_revenue",
            "description": "Adjusted revenue"
          },
          "normalizedCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "normalized_cost",
            "description": "Adjusted payout to affiliate"
          },
          "originalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "original_revenue",
            "description": "Original revenue"
          },
          "originalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "original_cost",
            "description": "Original payout to affiliate"
          },
          "revenueUpdatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "revenue_updated_at",
            "description": "Timestamp of last revenue adjustment"
          },
          "costUpdatedAt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "cost_updated_at",
            "description": "Timestamp of last payout to affiliate adjustment"
          },
          "customPayoutsApplied": {
            "type": "boolean",
            "title": "custom_payouts_applied",
            "description": "Custom payouts override automatically calculated values"
          },
          "currencyCode": {
            "type": "string",
            "title": "currency_code",
            "description": "Currency code"
          },
          "externalId": {
            "type": "string",
            "title": "external_id",
            "description": "External ID"
          },
          "customerId": {
            "type": "string",
            "title": "customer_id",
            "description": "Customer ID"
          },
          "params": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.CustomParams"
              }
            ],
            "title": "params",
            "description": "Custom parameters"
          },
          "conversionSourceParams": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.ConversionSourceCustomParams"
              }
            ],
            "title": "conversion_source_params",
            "description": "Conversion source parameters"
          },
          "settlementId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "settlement_id",
            "description": "Settlement ID"
          },
          "accountSettlementId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "account_settlement_id",
            "description": "Self-billing invoice ID"
          },
          "fraudSuspicion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.FraudSuspicion"
              }
            ],
            "title": "fraud_suspicion",
            "description": "Is flagged by fraud detection system?"
          },
          "onHoldUntil": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.Timestamp"
              }
            ],
            "title": "on_hold_until",
            "description": "On-hold period end timestamp"
          },
          "revenueOrigin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionReportResponse.RevenueOrigin"
              }
            ],
            "title": "revenue_origin",
            "description": "Revenue origin / advertiser"
          },
          "claimId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "claim_id",
            "description": "Claim ID"
          },
          "revenueAdjustmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "revenue_adjustment_name",
            "description": "(OPTIONAL) Revenue adjustment name. Revenue was adjusted only if it was filled."
          },
          "costAdjustmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "cost_adjustment_name",
            "description": "(OPTIONAL) Affiliate's payout adjustment name. Affiliate's payout was adjusted only if it was filled."
          },
          "normalizedConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "normalized_conversion_amount",
            "description": "(OPTIONAL) Sales amount converted to the primary currency"
          },
          "normalizedExchangeRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "normalized_exchange_rate",
            "description": "(OPTIONAL) Exchange rate used for conversion to the primary currency"
          },
          "qualified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.BoolValue"
              }
            ],
            "title": "qualified",
            "description": "(OPTIONAL) Designates if conversion is qualified."
          }
        },
        "title": "reports.v1.ConversionReportResponse.Row",
        "additionalProperties": false
      },
      "reports.v1.ConversionReportResponse.Source": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Affiliate ID"
          },
          "publicId": {
            "type": "string",
            "title": "public_id",
            "description": "Affiliate public ID"
          }
        },
        "title": "reports.v1.ConversionReportResponse.Source",
        "additionalProperties": false,
        "description": "Source affiliate"
      },
      "reports.v1.CountryOverviewReportRequest": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range"
          },
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "Conversion types"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "Conversion statuses"
          },
          "columns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportColumns"
              }
            ],
            "title": "columns",
            "description": "(OPTIONAL) Optional requested report columns. All columns selected if not set."
          }
        },
        "title": "reports.v1.CountryOverviewReportRequest",
        "required": [
          "timeRange"
        ],
        "additionalProperties": false,
        "description": "Country overview report request"
      },
      "reports.v1.CountryOverviewReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.CountryOverviewReportResponse.Row"
            },
            "title": "rows"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.OverviewReportTotal"
              }
            ],
            "title": "total"
          },
          "filledColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportColumn"
            },
            "title": "filled_columns",
            "description": "List of filled columns with real values. The rest are filled with zero values."
          }
        },
        "title": "reports.v1.CountryOverviewReportResponse",
        "required": [
          "filledColumns"
        ],
        "additionalProperties": false,
        "description": "Country overview report data"
      },
      "reports.v1.CountryOverviewReportResponse.Row": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "title": "country_code",
            "description": "Country code. Uses ISO 3166-1 alpha-2 (two-letter) format."
          },
          "clickCount": {
            "type": "string",
            "title": "click_count",
            "format": "int64",
            "description": "Number of clicks"
          },
          "grossClickCount": {
            "type": "string",
            "title": "gross_click_count",
            "format": "int64",
            "description": "Gross number of clicks"
          },
          "couponCount": {
            "type": "string",
            "title": "coupon_count",
            "format": "int64",
            "description": "Number of coupon uses"
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "commissionCount": {
            "type": "string",
            "title": "commission_count",
            "format": "int64",
            "description": "Number of MLM commissions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total payout for affiliates"
          },
          "totalCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_commission_amount",
            "description": "Total MLM commission payouts"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit"
          },
          "conversionPerClickRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_per_click_rate",
            "description": "Conversion per click ratio"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliate"
          },
          "conversionAmountPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount_per_click",
            "description": "Average conversion amount per click"
          },
          "revenuePerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue_per_click",
            "description": "Average revenue per click"
          },
          "costPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost_per_click",
            "description": "Average affiliate payout per click"
          },
          "averageCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_commission_amount",
            "description": "Average MLM commission payout per click"
          }
        },
        "title": "reports.v1.CountryOverviewReportResponse.Row",
        "additionalProperties": false
      },
      "reports.v1.Coupon": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Coupon ID"
          },
          "code": {
            "type": "string",
            "title": "code",
            "description": "Coupon code"
          }
        },
        "title": "reports.v1.Coupon",
        "required": [
          "id",
          "code"
        ],
        "additionalProperties": false,
        "description": "Coupon"
      },
      "reports.v1.CustomColumns": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.CustomColumns.Column"
            },
            "title": "columns",
            "description": "Rate columns"
          }
        },
        "title": "reports.v1.CustomColumns",
        "required": [
          "columns"
        ],
        "additionalProperties": false,
        "description": "Custom columns"
      },
      "reports.v1.CustomColumns.Column": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Rate column code"
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "value",
            "description": "Rate column value"
          }
        },
        "title": "reports.v1.CustomColumns.Column",
        "required": [
          "code",
          "value"
        ],
        "additionalProperties": false,
        "description": "Rate column"
      },
      "reports.v1.DailyOverviewReportRequest": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "title": "from",
            "maxLength": 10,
            "minLength": 10,
            "description": "Start date of reported days"
          },
          "to": {
            "type": "string",
            "title": "to",
            "maxLength": 10,
            "minLength": 10,
            "description": "End day of reported days"
          },
          "timezone": {
            "type": "string",
            "title": "timezone",
            "maxLength": 255,
            "minLength": 1,
            "description": "Timezone to offset in reports, as an IANA Time Zone database name (e.g. \"Europe/Prague\")"
          },
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Conversion types present in the report"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "(OPTIONAL) "
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "source_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) "
          },
          "columns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportColumns"
              }
            ],
            "title": "columns",
            "description": "(OPTIONAL) Optional requested report columns. All columns selected if not set."
          },
          "customColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportCustomColumns"
              }
            ],
            "title": "custom_columns",
            "description": "(OPTIONAL) Optional requested report custom columns. All columns selected if not set."
          },
          "clientMetricColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClientMetricColumns"
              }
            ],
            "title": "client_metric_columns",
            "description": "(OPTIONAL) Optional requested client metric columns. All columns selected if not set."
          }
        },
        "title": "reports.v1.DailyOverviewReportRequest",
        "required": [
          "from",
          "to",
          "timezone"
        ],
        "additionalProperties": false,
        "description": "Daily overview report request"
      },
      "reports.v1.DailyOverviewReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.DailyOverviewReportResponse.Row"
            },
            "title": "rows"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.OverviewReportValues"
              }
            ],
            "title": "total"
          },
          "filledColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportColumn"
            },
            "title": "filled_columns",
            "description": "List of filled columns with real values. The rest are filled with zero values."
          }
        },
        "title": "reports.v1.DailyOverviewReportResponse",
        "required": [
          "rows",
          "total",
          "filledColumns"
        ],
        "additionalProperties": false,
        "description": "Daily overview data"
      },
      "reports.v1.DailyOverviewReportResponse.Row": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "title": "date",
            "description": "Date"
          },
          "clickCount": {
            "type": "string",
            "title": "click_count",
            "format": "int64",
            "description": "Number of clicks"
          },
          "grossClickCount": {
            "type": "string",
            "title": "gross_click_count",
            "format": "int64",
            "description": "Gross number of clicks"
          },
          "couponCount": {
            "type": "string",
            "title": "coupon_count",
            "format": "int64",
            "description": "Number of coupon uses"
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "commissionCount": {
            "type": "string",
            "title": "commission_count",
            "format": "int64",
            "description": "Number of MLM commissions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount for the day"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue for the day"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total affiliate payout for the day"
          },
          "totalCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_commission_amount",
            "description": "Total MLM commissions payout for the day"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit for the day"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit for the day"
          },
          "conversionPerClickRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_per_click_rate",
            "description": "Conversion per click ratio"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliate"
          },
          "conversionAmountPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount_per_click",
            "description": "Average conversion amount per click"
          },
          "revenuePerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue_per_click",
            "description": "Average revenue per click"
          },
          "costPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost_per_click",
            "description": "Average affiliate payout per click"
          },
          "averageCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_commission_amount",
            "description": "Average MLM commission payout per click"
          },
          "clickFraudRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "click_fraud_rate",
            "description": "Click fraud rate (percentage of clicks marked as suspicious)"
          },
          "conversionFraudRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_fraud_rate",
            "description": "Conversion fraud rate (percentage of conversions flagged as suspicious)"
          },
          "clientMetrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClientMetrics"
              }
            ],
            "title": "client_metrics",
            "description": "(OPTIONAL) Client metrics"
          },
          "customColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.CustomColumns"
              }
            ],
            "title": "custom_columns",
            "description": "(OPTIONAL) Custom columns"
          }
        },
        "title": "reports.v1.DailyOverviewReportResponse.Row",
        "required": [
          "date",
          "clickCount",
          "grossClickCount",
          "couponCount",
          "conversionCount",
          "totalConversionAmount",
          "totalRevenue",
          "totalCost",
          "totalCommissionAmount",
          "profit",
          "advertiserProfit",
          "conversionPerClickRate",
          "averageConversionAmount",
          "averageRevenue",
          "averageCost",
          "conversionAmountPerClick",
          "revenuePerClick",
          "costPerClick",
          "averageCommissionAmount",
          "clickFraudRate",
          "conversionFraudRate"
        ],
        "additionalProperties": false
      },
      "reports.v1.GeneralOverviewReportFilters": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range"
          },
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Conversion types"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "(OPTIONAL) Conversion statuses"
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "source_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Traffic source IDs"
          },
          "accountIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "account_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Account IDs"
          },
          "countryCodes": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{2}$",
              "description": "(OPTIONAL) "
            },
            "title": "country_codes",
            "uniqueItems": true,
            "description": "(OPTIONAL) Country codes"
          },
          "revenueOriginIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "revenue_origin_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Revenue origin IDs"
          },
          "offerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "offer_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Offer IDs"
          },
          "categoryIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "category_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Category IDs"
          },
          "tierIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "tier_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Tier IDs"
          },
          "landingPageIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "landing_page_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Landing page IDs"
          },
          "couponIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "coupon_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Coupon IDs"
          },
          "affiliateManagerId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "affiliate_manager_id",
            "format": "uuid",
            "description": "(OPTIONAL) Affiliate manager ID"
          },
          "advS1s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "adv_s1s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Adv S1 parameter"
          },
          "advS2s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "adv_s2s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Adv S2 parameter"
          },
          "advS3s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "adv_s3s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Adv S3 parameter"
          },
          "advS4s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "adv_s4s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Adv S4 parameter"
          },
          "advS5s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "adv_s5s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Adv S5 parameter"
          },
          "affS1s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "aff_s1s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Aff S1 parameter"
          },
          "affS2s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "aff_s2s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Aff S2 parameter"
          },
          "affS3s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "aff_s3s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Aff S3 parameter"
          },
          "affS4s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "aff_s4s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Aff S4 parameter"
          },
          "affS5s": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255,
              "description": "(OPTIONAL) "
            },
            "title": "aff_s5s",
            "uniqueItems": true,
            "description": "(OPTIONAL) Aff S5 parameter"
          },
          "smartLinkIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "smart_link_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Smart link IDs"
          },
          "offerTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "offer_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by offers having at least one of these tag IDs"
          },
          "affiliateTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "affiliate_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by affiliates having at least one of these tag IDs"
          },
          "revenueOriginTagIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid",
              "description": "(OPTIONAL) "
            },
            "title": "revenue_origin_tag_ids",
            "uniqueItems": true,
            "description": "(OPTIONAL) Filter rows by advertisers (revenue origins) having at least one of these tag IDs"
          }
        },
        "title": "reports.v1.GeneralOverviewReportFilters",
        "required": [
          "timeRange"
        ],
        "additionalProperties": false,
        "description": "General report filters"
      },
      "reports.v1.GeneralOverviewReportRequest": {
        "type": "object",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportFilters"
              }
            ],
            "title": "filters",
            "description": "Filters (see above)"
          },
          "groupingLevels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportGrouping"
            },
            "title": "grouping_levels",
            "maxItems": 1,
            "minItems": 1,
            "uniqueItems": true,
            "description": "Grouping levels for the report.\n\n Only a single grouping level is currently supported, so the report is grouped by one dimension at a time.\n To retrieve lower-depth data, send another request with the next grouping level and an additional filter\n that narrows the results to the parent row you want to break down."
          },
          "conversionDrilldown": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ConversionDrilldown"
              }
            ],
            "title": "conversion_drilldown",
            "description": "(OPTIONAL) Optional conversion drilldown statistics"
          },
          "columns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportColumns"
              }
            ],
            "title": "columns",
            "description": "(OPTIONAL) Optional requested report columns. All columns selected if not set."
          },
          "customColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportCustomColumns"
              }
            ],
            "title": "custom_columns",
            "description": "(OPTIONAL) Optional requested report custom columns. All columns selected if not set."
          },
          "clientMetricColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClientMetricColumns"
              }
            ],
            "title": "client_metric_columns",
            "description": "(OPTIONAL) Optional requested client metric columns. All columns selected if not set."
          },
          "timezone": {
            "type": "string",
            "title": "timezone",
            "maxLength": 255,
            "minLength": 1,
            "description": "Timezone to offset in reports, as an IANA Time Zone database name (e.g. \"Europe/Prague\")"
          }
        },
        "title": "reports.v1.GeneralOverviewReportRequest",
        "required": [
          "filters",
          "groupingLevels",
          "timezone"
        ],
        "additionalProperties": false,
        "description": "General overview request"
      },
      "reports.v1.GeneralOverviewReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportResponse.Row"
            },
            "title": "rows"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportResponse.Total"
              }
            ],
            "title": "total"
          },
          "filledColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportColumn"
            },
            "title": "filled_columns",
            "description": "List of filled columns with real values. The rest are filled with zero values."
          }
        },
        "title": "reports.v1.GeneralOverviewReportResponse",
        "required": [
          "rows",
          "total",
          "filledColumns"
        ],
        "additionalProperties": false,
        "description": "General overview data"
      },
      "reports.v1.GeneralOverviewReportResponse.ConversionDrilldownValues": {
        "type": "object",
        "properties": {
          "conversionTypeId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/google.protobuf.StringValue"
              }
            ],
            "title": "conversion_type_id",
            "description": "(OPTIONAL) "
          },
          "conversionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
              }
            ],
            "title": "conversion_status",
            "description": "(OPTIONAL) "
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total payout to affiliates"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliates"
          },
          "averageClickConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_click_conversion_amount",
            "description": "Average conversion amount of click conversions"
          },
          "averageClickRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_click_revenue",
            "description": "Average revenue of click conversions"
          },
          "averageClickCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_click_cost",
            "description": "Average payout to affiliates of click conversions"
          }
        },
        "title": "reports.v1.GeneralOverviewReportResponse.ConversionDrilldownValues",
        "required": [
          "conversionCount",
          "totalConversionAmount",
          "totalRevenue",
          "totalCost",
          "profit",
          "advertiserProfit",
          "averageConversionAmount",
          "averageRevenue",
          "averageCost",
          "averageClickConversionAmount",
          "averageClickRevenue",
          "averageClickCost"
        ],
        "additionalProperties": false
      },
      "reports.v1.GeneralOverviewReportResponse.Row": {
        "type": "object",
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Account"
                  }
                ],
                "title": "account"
              }
            },
            "title": "account"
          },
          {
            "type": "object",
            "properties": {
              "advS1": {
                "type": "string",
                "title": "adv_s1"
              }
            },
            "title": "adv_s1"
          },
          {
            "type": "object",
            "properties": {
              "advS2": {
                "type": "string",
                "title": "adv_s2"
              }
            },
            "title": "adv_s2"
          },
          {
            "type": "object",
            "properties": {
              "advS3": {
                "type": "string",
                "title": "adv_s3"
              }
            },
            "title": "adv_s3"
          },
          {
            "type": "object",
            "properties": {
              "advS4": {
                "type": "string",
                "title": "adv_s4"
              }
            },
            "title": "adv_s4"
          },
          {
            "type": "object",
            "properties": {
              "advS5": {
                "type": "string",
                "title": "adv_s5"
              }
            },
            "title": "adv_s5"
          },
          {
            "type": "object",
            "properties": {
              "affS1": {
                "type": "string",
                "title": "aff_s1"
              }
            },
            "title": "aff_s1"
          },
          {
            "type": "object",
            "properties": {
              "affS2": {
                "type": "string",
                "title": "aff_s2"
              }
            },
            "title": "aff_s2"
          },
          {
            "type": "object",
            "properties": {
              "affS3": {
                "type": "string",
                "title": "aff_s3"
              }
            },
            "title": "aff_s3"
          },
          {
            "type": "object",
            "properties": {
              "affS4": {
                "type": "string",
                "title": "aff_s4"
              }
            },
            "title": "aff_s4"
          },
          {
            "type": "object",
            "properties": {
              "affS5": {
                "type": "string",
                "title": "aff_s5"
              }
            },
            "title": "aff_s5"
          },
          {
            "type": "object",
            "properties": {
              "affiliateManagerAccount": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Account"
                  }
                ],
                "title": "affiliate_manager_account"
              }
            },
            "title": "affiliate_manager_account"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Category"
                  }
                ],
                "title": "category"
              }
            },
            "title": "category"
          },
          {
            "type": "object",
            "properties": {
              "countryCode": {
                "type": "string",
                "title": "country_code"
              }
            },
            "title": "country_code"
          },
          {
            "type": "object",
            "properties": {
              "coupon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Coupon"
                  }
                ],
                "title": "coupon"
              }
            },
            "title": "coupon"
          },
          {
            "type": "object",
            "properties": {
              "day": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/google.protobuf.Timestamp"
                  }
                ],
                "title": "day"
              }
            },
            "title": "day"
          },
          {
            "type": "object",
            "properties": {
              "device": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/enums.v1.Device"
                  }
                ],
                "title": "device"
              }
            },
            "title": "device"
          },
          {
            "type": "object",
            "properties": {
              "hour": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/google.protobuf.Timestamp"
                  }
                ],
                "title": "hour"
              }
            },
            "title": "hour"
          },
          {
            "type": "object",
            "properties": {
              "landingPage": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.LandingPage"
                  }
                ],
                "title": "landing_page"
              }
            },
            "title": "landing_page"
          },
          {
            "type": "object",
            "properties": {
              "month": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/google.protobuf.Timestamp"
                  }
                ],
                "title": "month"
              }
            },
            "title": "month"
          },
          {
            "type": "object",
            "properties": {
              "offer": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Offer"
                  }
                ],
                "title": "offer"
              }
            },
            "title": "offer"
          },
          {
            "type": "object",
            "properties": {
              "operatingSystem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/enums.v1.OperatingSystem"
                  }
                ],
                "title": "operating_system"
              }
            },
            "title": "operating_system"
          },
          {
            "type": "object",
            "properties": {
              "revenueOrigin": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.RevenueOrigin"
                  }
                ],
                "title": "revenue_origin"
              }
            },
            "title": "revenue_origin"
          },
          {
            "type": "object",
            "properties": {
              "smartLink": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.SmartLink"
                  }
                ],
                "title": "smart_link"
              }
            },
            "title": "smart_link"
          },
          {
            "type": "object",
            "properties": {
              "source": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Source"
                  }
                ],
                "title": "source"
              }
            },
            "title": "source"
          },
          {
            "type": "object",
            "properties": {
              "tier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/reports.v1.Tier"
                  }
                ],
                "title": "tier"
              }
            },
            "title": "tier"
          },
          {
            "type": "object",
            "properties": {
              "week": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/google.protobuf.Timestamp"
                  }
                ],
                "title": "week"
              }
            },
            "title": "week"
          },
          {
            "type": "object",
            "properties": {
              "year": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/google.protobuf.Timestamp"
                  }
                ],
                "title": "year"
              }
            },
            "title": "year"
          }
        ],
        "unevaluatedProperties": false,
        "not": {
          "allOf": [
            {
              "anyOf": [
                {
                  "required": [
                    "account"
                  ]
                },
                {
                  "required": [
                    "advS1"
                  ]
                },
                {
                  "required": [
                    "advS2"
                  ]
                },
                {
                  "required": [
                    "advS3"
                  ]
                },
                {
                  "required": [
                    "advS4"
                  ]
                },
                {
                  "required": [
                    "advS5"
                  ]
                },
                {
                  "required": [
                    "affS1"
                  ]
                },
                {
                  "required": [
                    "affS2"
                  ]
                },
                {
                  "required": [
                    "affS3"
                  ]
                },
                {
                  "required": [
                    "affS4"
                  ]
                },
                {
                  "required": [
                    "affS5"
                  ]
                },
                {
                  "required": [
                    "affiliateManagerAccount"
                  ]
                },
                {
                  "required": [
                    "category"
                  ]
                },
                {
                  "required": [
                    "countryCode"
                  ]
                },
                {
                  "required": [
                    "coupon"
                  ]
                },
                {
                  "required": [
                    "day"
                  ]
                },
                {
                  "required": [
                    "device"
                  ]
                },
                {
                  "required": [
                    "hour"
                  ]
                },
                {
                  "required": [
                    "landingPage"
                  ]
                },
                {
                  "required": [
                    "month"
                  ]
                },
                {
                  "required": [
                    "offer"
                  ]
                },
                {
                  "required": [
                    "operatingSystem"
                  ]
                },
                {
                  "required": [
                    "revenueOrigin"
                  ]
                },
                {
                  "required": [
                    "smartLink"
                  ]
                },
                {
                  "required": [
                    "source"
                  ]
                },
                {
                  "required": [
                    "tier"
                  ]
                },
                {
                  "required": [
                    "week"
                  ]
                },
                {
                  "required": [
                    "year"
                  ]
                }
              ]
            },
            {
              "not": {
                "oneOf": [
                  {
                    "required": [
                      "account"
                    ]
                  },
                  {
                    "required": [
                      "advS1"
                    ]
                  },
                  {
                    "required": [
                      "advS2"
                    ]
                  },
                  {
                    "required": [
                      "advS3"
                    ]
                  },
                  {
                    "required": [
                      "advS4"
                    ]
                  },
                  {
                    "required": [
                      "advS5"
                    ]
                  },
                  {
                    "required": [
                      "affS1"
                    ]
                  },
                  {
                    "required": [
                      "affS2"
                    ]
                  },
                  {
                    "required": [
                      "affS3"
                    ]
                  },
                  {
                    "required": [
                      "affS4"
                    ]
                  },
                  {
                    "required": [
                      "affS5"
                    ]
                  },
                  {
                    "required": [
                      "affiliateManagerAccount"
                    ]
                  },
                  {
                    "required": [
                      "category"
                    ]
                  },
                  {
                    "required": [
                      "countryCode"
                    ]
                  },
                  {
                    "required": [
                      "coupon"
                    ]
                  },
                  {
                    "required": [
                      "day"
                    ]
                  },
                  {
                    "required": [
                      "device"
                    ]
                  },
                  {
                    "required": [
                      "hour"
                    ]
                  },
                  {
                    "required": [
                      "landingPage"
                    ]
                  },
                  {
                    "required": [
                      "month"
                    ]
                  },
                  {
                    "required": [
                      "offer"
                    ]
                  },
                  {
                    "required": [
                      "operatingSystem"
                    ]
                  },
                  {
                    "required": [
                      "revenueOrigin"
                    ]
                  },
                  {
                    "required": [
                      "smartLink"
                    ]
                  },
                  {
                    "required": [
                      "source"
                    ]
                  },
                  {
                    "required": [
                      "tier"
                    ]
                  },
                  {
                    "required": [
                      "week"
                    ]
                  },
                  {
                    "required": [
                      "year"
                    ]
                  }
                ]
              }
            }
          ]
        },
        "properties": {
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.OverviewReportValues"
              }
            ],
            "title": "values"
          },
          "conversionDrilldownValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportResponse.ConversionDrilldownValues"
            },
            "title": "conversion_drilldown_values",
            "description": "(OPTIONAL) "
          }
        },
        "title": "reports.v1.GeneralOverviewReportResponse.Row",
        "required": [
          "values"
        ]
      },
      "reports.v1.GeneralOverviewReportResponse.Total": {
        "type": "object",
        "properties": {
          "values": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.OverviewReportValues"
              }
            ],
            "title": "values"
          },
          "conversionDrilldownValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.GeneralOverviewReportResponse.ConversionDrilldownValues"
            },
            "title": "conversion_drilldown_values",
            "description": "(OPTIONAL) "
          }
        },
        "title": "reports.v1.GeneralOverviewReportResponse.Total",
        "required": [
          "values"
        ],
        "additionalProperties": false
      },
      "reports.v1.LandingPage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Internal ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Landing page name"
          },
          "url": {
            "type": "string",
            "title": "url",
            "description": "Landing page URL"
          }
        },
        "title": "reports.v1.LandingPage",
        "required": [
          "id",
          "name",
          "url"
        ],
        "additionalProperties": false,
        "description": "Landing page"
      },
      "reports.v1.Offer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Offer ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Offer name"
          }
        },
        "title": "reports.v1.Offer",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Offer"
      },
      "reports.v1.OfferOverviewReportRequest": {
        "type": "object",
        "properties": {
          "timeRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.TimeRange"
              }
            ],
            "title": "time_range",
            "description": "Time range"
          },
          "conversionTypeIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "conversion_type_ids",
            "uniqueItems": true,
            "description": "Conversion types"
          },
          "conversionStatuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/conversions.v1.ConversionStatus"
            },
            "title": "conversion_statuses",
            "uniqueItems": true,
            "description": "Conversion statuses"
          },
          "sourceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "title": "source_ids",
            "description": "Traffic source IDs"
          },
          "columns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ReportColumns"
              }
            ],
            "title": "columns",
            "description": "(OPTIONAL) Optional requested report columns. All columns selected if not set."
          }
        },
        "title": "reports.v1.OfferOverviewReportRequest",
        "required": [
          "timeRange"
        ],
        "additionalProperties": false,
        "description": "Offer report request"
      },
      "reports.v1.OfferOverviewReportResponse": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/reports.v1.OfferOverviewReportResponse.Row"
            },
            "title": "rows"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.OverviewReportTotal"
              }
            ],
            "title": "total"
          },
          "filledColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportColumn"
            },
            "title": "filled_columns",
            "description": "List of filled columns with real values. The rest are filled with zero values."
          }
        },
        "title": "reports.v1.OfferOverviewReportResponse",
        "required": [
          "filledColumns"
        ],
        "additionalProperties": false,
        "description": "Offer report data"
      },
      "reports.v1.OfferOverviewReportResponse.Row": {
        "type": "object",
        "properties": {
          "offer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.Offer"
              }
            ],
            "title": "offer",
            "description": "Offer"
          },
          "clickCount": {
            "type": "string",
            "title": "click_count",
            "format": "int64",
            "description": "Number of clicks"
          },
          "grossClickCount": {
            "type": "string",
            "title": "gross_click_count",
            "format": "int64",
            "description": "Gross number of clicks"
          },
          "couponCount": {
            "type": "string",
            "title": "coupon_count",
            "format": "int64",
            "description": "Number of coupon uses"
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "commissionCount": {
            "type": "string",
            "title": "commission_count",
            "format": "int64",
            "description": "Number of MLM commissions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total payout to affiliates"
          },
          "totalCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_commission_amount",
            "description": "Total payout of MLM commissions"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit"
          },
          "conversionPerClickRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_per_click_rate",
            "description": "Conversion per click ratio"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliate"
          },
          "conversionAmountPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount_per_click",
            "description": "Average conversion amount per click"
          },
          "revenuePerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue_per_click",
            "description": "Average revenue per click"
          },
          "costPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost_per_click",
            "description": "Average affiliate payout per click"
          },
          "averageCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_commission_amount",
            "description": "Average MLM commission payout per click"
          }
        },
        "title": "reports.v1.OfferOverviewReportResponse.Row",
        "additionalProperties": false
      },
      "reports.v1.OverviewReportTotal": {
        "type": "object",
        "properties": {
          "clickCount": {
            "type": "string",
            "title": "click_count",
            "format": "int64",
            "description": "Number of clicks"
          },
          "grossClickCount": {
            "type": "string",
            "title": "gross_click_count",
            "format": "int64",
            "description": "Gross number of clicks"
          },
          "couponCount": {
            "type": "string",
            "title": "coupon_count",
            "format": "int64",
            "description": "Number of coupon uses"
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "commissionCount": {
            "type": "string",
            "title": "commission_count",
            "format": "int64",
            "description": "Number of MLM commissions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total payout to affiliates"
          },
          "totalCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_commission_amount",
            "description": "Total payout of MLM commissions"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit"
          },
          "conversionPerClickRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_per_click_rate",
            "description": "Conversion per click ratio"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliates"
          },
          "conversionAmountPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount_per_click",
            "description": "Average conversion amount per click"
          },
          "revenuePerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue_per_click",
            "description": "Average revenue per click"
          },
          "costPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost_per_click",
            "description": "Average payout to affiliates per click"
          },
          "averageCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_commission_amount",
            "description": "Average MLM commission amount paid"
          }
        },
        "title": "reports.v1.OverviewReportTotal",
        "additionalProperties": false,
        "description": "Overview report total"
      },
      "reports.v1.OverviewReportValues": {
        "type": "object",
        "properties": {
          "clickCount": {
            "type": "string",
            "title": "click_count",
            "format": "int64",
            "description": "Number of clicks"
          },
          "grossClickCount": {
            "type": "string",
            "title": "gross_click_count",
            "format": "int64",
            "description": "Gross number of clicks"
          },
          "couponCount": {
            "type": "string",
            "title": "coupon_count",
            "format": "int64",
            "description": "Number of coupon uses"
          },
          "conversionCount": {
            "type": "string",
            "title": "conversion_count",
            "format": "int64",
            "description": "Number of conversions"
          },
          "commissionCount": {
            "type": "string",
            "title": "commission_count",
            "format": "int64",
            "description": "Number of MLM commissions"
          },
          "totalConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_conversion_amount",
            "description": "Total conversion amount"
          },
          "totalRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_revenue",
            "description": "Total revenue"
          },
          "totalCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_cost",
            "description": "Total payout to affiliates"
          },
          "totalCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "total_commission_amount",
            "description": "Total payout of MLM commissions"
          },
          "profit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "profit",
            "description": "Total profit"
          },
          "advertiserProfit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "advertiser_profit",
            "description": "Total advertiser profit"
          },
          "conversionPerClickRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_per_click_rate",
            "description": "Conversion per click ratio"
          },
          "averageConversionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_conversion_amount",
            "description": "Average conversion amount"
          },
          "averageRevenue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_revenue",
            "description": "Average revenue"
          },
          "averageCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_cost",
            "description": "Average payout to affiliates"
          },
          "conversionAmountPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_amount_per_click",
            "description": "Average conversion amount per click"
          },
          "revenuePerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "revenue_per_click",
            "description": "Average revenue per click"
          },
          "costPerClick": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "cost_per_click",
            "description": "Average payout to affiliates per click"
          },
          "averageCommissionAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "average_commission_amount",
            "description": "Average MLM commission amount paid"
          },
          "clickFraudRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "click_fraud_rate",
            "description": "Click fraud rate (percentage of clicks marked as suspicious)"
          },
          "conversionFraudRate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Decimal"
              }
            ],
            "title": "conversion_fraud_rate",
            "description": "Conversion fraud rate (percentage of conversions flagged as suspicious)"
          },
          "clientMetrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.ClientMetrics"
              }
            ],
            "title": "client_metrics",
            "description": "(OPTIONAL) Client metrics"
          },
          "customColumns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reports.v1.CustomColumns"
              }
            ],
            "title": "custom_columns",
            "description": "(OPTIONAL) Custom columns"
          }
        },
        "title": "reports.v1.OverviewReportValues",
        "required": [
          "clickCount",
          "grossClickCount",
          "couponCount",
          "conversionCount",
          "commissionCount",
          "totalConversionAmount",
          "totalRevenue",
          "totalCost",
          "totalCommissionAmount",
          "profit",
          "advertiserProfit",
          "conversionPerClickRate",
          "averageConversionAmount",
          "averageRevenue",
          "averageCost",
          "conversionAmountPerClick",
          "revenuePerClick",
          "costPerClick",
          "averageCommissionAmount",
          "clickFraudRate",
          "conversionFraudRate"
        ],
        "additionalProperties": false,
        "description": "Overview report values"
      },
      "reports.v1.ReportColumns": {
        "type": "object",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.ReportColumn"
            },
            "title": "columns",
            "minItems": 1,
            "uniqueItems": true
          }
        },
        "title": "reports.v1.ReportColumns",
        "required": [
          "columns"
        ],
        "additionalProperties": false,
        "description": "Requested report columns"
      },
      "reports.v1.ReportCustomColumns": {
        "type": "object",
        "properties": {
          "codes": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50,
              "minLength": 1
            },
            "title": "codes",
            "uniqueItems": true
          }
        },
        "title": "reports.v1.ReportCustomColumns",
        "required": [
          "codes"
        ],
        "additionalProperties": false,
        "description": "Requested report columns"
      },
      "reports.v1.RevenueOrigin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Advertiser ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Advertiser name"
          }
        },
        "title": "reports.v1.RevenueOrigin",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Advertiser"
      },
      "reports.v1.SmartLink": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Smart link ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Smart link name"
          }
        },
        "title": "reports.v1.SmartLink",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Smart link"
      },
      "reports.v1.Source": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Source ID"
          },
          "publicId": {
            "type": "string",
            "title": "public_id",
            "description": "Affiliate public ID"
          }
        },
        "title": "reports.v1.Source",
        "required": [
          "id",
          "publicId"
        ],
        "additionalProperties": false,
        "description": "Source"
      },
      "reports.v1.Tier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Tier ID"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Tier name"
          }
        },
        "title": "reports.v1.Tier",
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "Tier"
      },
      "types.v1.Anura": {
        "type": "object",
        "properties": {
          "anuraScore": {
            "allOf": [
              {
                "$ref": "#/components/schemas/enums.v1.AnuraScore"
              }
            ],
            "title": "anura_score"
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/types.v1.Anura.Result"
              }
            ],
            "title": "result"
          }
        },
        "title": "types.v1.Anura",
        "additionalProperties": false
      },
      "types.v1.Anura.Result": {
        "type": "object",
        "properties": {
          "result": {
            "type": "string",
            "title": "result"
          },
          "mobile": {
            "type": "integer",
            "title": "mobile",
            "format": "int32"
          },
          "adblocker": {
            "type": "integer",
            "title": "adblocker",
            "format": "int32"
          },
          "ruleSets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "rule_sets"
          }
        },
        "title": "types.v1.Anura.Result",
        "additionalProperties": false
      },
      "types.v1.FraudSuspicion": {
        "type": "object",
        "properties": {
          "isSuspected": {
            "type": "boolean",
            "title": "is_suspected"
          },
          "causes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/enums.v1.FraudDetectionRule"
            },
            "title": "causes"
          }
        },
        "title": "types.v1.FraudSuspicion",
        "required": [
          "isSuspected",
          "causes"
        ],
        "additionalProperties": false
      },
      "types.v1.FraudSuspicionFilter": {
        "type": "object",
        "properties": {
          "isSuspected": {
            "type": "boolean",
            "title": "is_suspected"
          }
        },
        "title": "types.v1.FraudSuspicionFilter",
        "additionalProperties": false
      },
      "errorsv1.Error": {
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "errorsv1.ErrorResponse": {
        "properties": {
          "available_code": {
            "$ref": "#/components/schemas/errorsv1.ErrorResponse_Code"
          },
          "errors": {
            "items": {
              "$ref": "#/components/schemas/errorsv1.Error"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "errorsv1.ErrorResponse_Code": {
        "type": "object"
      },
      "oauth_registration.errorResponse": {
        "properties": {
          "error": {
            "type": "string"
          },
          "error_description": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "oauth_registration.registrationRequest": {
        "properties": {
          "client_name": {
            "description": "Shown to the resource owner on the consent screen. Without one, the screen calls the client unnamed.",
            "type": "string"
          },
          "grant_types": {
            "description": "Optional. Asking for any other grant is refused.",
            "items": {
              "enum": [
                "authorization_code",
                "refresh_token"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "redirect_uris": {
            "description": "At least one is required. HTTPS only, except loopback hosts, which may use HTTP. Credentials and fragments are rejected. The\nauthorization request must repeat one of these exactly, except that a loopback redirect may arrive on any port.",
            "items": {
              "format": "uri",
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "response_types": {
            "description": "Optional. Asking for any other response type is refused.",
            "items": {
              "enum": [
                "code"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "scope": {
            "description": "Optional. The only scope on offer is api.",
            "type": "string"
          },
          "token_endpoint_auth_method": {
            "description": "Optional. Any method the token endpoint accepts may be asked for, but the client is registered with none: it holds no secret and proves\npossession through PKCE. Asking for any other method is refused.",
            "enum": [
              "client_secret_basic",
              "client_secret_post",
              "none"
            ],
            "type": "string"
          }
        },
        "required": [
          "redirect_uris"
        ],
        "type": "object"
      },
      "oauth_registration.registrationResponse": {
        "properties": {
          "client_id": {
            "type": "string"
          },
          "client_id_issued_at": {
            "description": "Registration time as seconds since the Unix epoch.",
            "format": "int64",
            "type": "integer"
          },
          "client_name": {
            "type": "string"
          },
          "grant_types": {
            "items": {
              "enum": [
                "authorization_code",
                "refresh_token"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "redirect_uris": {
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "response_types": {
            "items": {
              "enum": [
                "code"
              ],
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "scope": {
            "enum": [
              "api"
            ],
            "type": "string"
          },
          "token_endpoint_auth_method": {
            "enum": [
              "none"
            ],
            "type": "string"
          }
        },
        "required": [
          "client_id",
          "client_id_issued_at",
          "grant_types",
          "redirect_uris",
          "response_types",
          "scope",
          "token_endpoint_auth_method"
        ],
        "type": "object"
      },
      "oauth_token.errorResponse": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "oauth_token.tokenResponse": {
        "properties": {
          "access_token": {
            "type": "string"
          },
          "expires_in": {
            "description": "Token lifetime in seconds.",
            "format": "int32",
            "type": "integer"
          },
          "refresh_token": {
            "description": "Returned for authorization_code and refresh_token grants.",
            "type": "string"
          },
          "scope": {
            "enum": [
              "api"
            ],
            "type": "string"
          },
          "token_type": {
            "enum": [
              "Bearer"
            ],
            "type": "string"
          }
        },
        "required": [
          "access_token",
          "expires_in",
          "scope",
          "token_type"
        ],
        "type": "object"
      }
    }
  }
}
