{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Voluum API",
    "version" : "0.1"
  },
  "servers" : [ {
    "url" : "https://api.voluum.com/"
  } ],
  "paths" : {
    "/affiliate-network" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves affiliate networks.",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Affiliate Networks.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates an affiliate network.",
        "requestBody" : {
          "description" : "Affiliate Network update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "An Affiliate Network.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives affiliate network(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/affiliate-network-template" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves affiliate network templates.",
        "responses" : {
          "200" : {
            "description" : "List of Affiliate Network templates.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkTemplateCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/affiliate-network-template/{id}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves affiliate network template by id.",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Affiliate Network Template Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Affiliate Network template.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkTemplateResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/affiliate-network/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for affiliate networks.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/affiliate-network/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores affiliate network(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/affiliate-network/{affiliateNetworkId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves an affiliate network.",
        "parameters" : [ {
          "name" : "affiliateNetworkId",
          "in" : "path",
          "description" : "Affiliate Network Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "An Affiliate Network.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates an affiliate network.",
        "parameters" : [ {
          "name" : "affiliateNetworkId",
          "in" : "path",
          "description" : "Affiliate Network Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Affiliate Network update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "An Affiliate Network.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/affiliate-network" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one affiliate network has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/campaign" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one campaign has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/flow" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one flow has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/lander" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one lander has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/offer" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one offer has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/any-created/traffic-source" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Checks if at least one traffic source has been created.",
        "responses" : {
          "200" : {
            "description" : "Information about created entities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_EntityCreationInfoResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auth/access" : {
      "get" : {
        "tags" : [ "Security" ],
        "summary" : "Retrieves granted accesses",
        "responses" : {
          "200" : {
            "description" : "List of granted accesses",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_GrantedAccessCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Security" ],
        "summary" : "Adds authorization access",
        "requestBody" : {
          "description" : "Granted access creation request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/security_GrantedAccessCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Granted access creation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_GrantedAccessCreateResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auth/access/mobile" : {
      "post" : {
        "tags" : [ "Security" ],
        "summary" : "Adds mobile authorization access",
        "requestBody" : {
          "description" : "Mobile access creation request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/security_MobileAccessCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Granted access creation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_GrantedAccessCreateResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auth/access/session" : {
      "post" : {
        "tags" : [ "Security" ],
        "summary" : "Creates session using an access key",
        "requestBody" : {
          "description" : "Create session with access key request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/security_SessionCreateWithAccessKeyResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Session creation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_SessionCreateResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auth/access/{id}" : {
      "delete" : {
        "tags" : [ "Security" ],
        "summary" : "Revokes authorization access",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of granted access to revoke",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/auth/session" : {
      "get" : {
        "tags" : [ "Security" ],
        "summary" : "Validates session",
        "responses" : {
          "200" : {
            "description" : "Session validation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_SessionValidationResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Security" ],
        "summary" : "Creates session",
        "requestBody" : {
          "description" : "Session creation request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/security_SessionCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Session creation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/security_SessionCreateResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Security" ],
        "summary" : "Invalidates session",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "List all auto rules configured for the account",
        "responses" : {
          "200" : {
            "description" : "Auto rule collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Create an auto rule that automatically executes actions (pause, bid change, notification) when campaign/offer metrics meet specified conditions",
        "requestBody" : {
          "description" : "Auto rule create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Auto rule",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRule"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule/availability/actions" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Query which auto rule actions (pause, bid, marker, notification, etc.) are available for given campaigns, offers, or dimensions based on their integration status",
        "requestBody" : {
          "description" : "Query for available actions. Use 'type' to select variant: campaign, offer, customVar, campaignByTs, customVarByTs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AvailableActionsQuery"
              },
              "examples" : {
                "campaign" : {
                  "summary" : "Query by campaign IDs",
                  "value" : {
                    "campaignIds" : [ "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ],
                    "type" : "campaign"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Available actions collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AvailableActionsCollection"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule/availability/intervals" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get available evaluation intervals for auto rules, showing which time periods and excluded durations are valid",
        "responses" : {
          "200" : {
            "description" : "Auto rule available intervals",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleAvailableIntervals"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/auto-rule/campaign/attach" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Attach or detach a campaign to/from one or more auto rules in a single batch operation",
        "requestBody" : {
          "description" : "Attach campaign to auto rules request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AttachCampaignRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule/quota/" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get the account's auto rule limits (max rules, conditions per rule, filter values, traffic source campaigns)",
        "responses" : {
          "200" : {
            "description" : "Auto rule quota/limits",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleQuota"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/auto-rule/template/" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "List predefined auto rule templates that can be used as starting points for creating new rules",
        "responses" : {
          "200" : {
            "description" : "Auto rule template collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleTemplateCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/auto-rule/{id}" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get an auto rule by id, including its condition, actions, status, and last/next evaluation timestamps",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Auto rule UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Auto rule",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRule"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "put" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Update an auto rule's name, condition, or actions",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Auto rule UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Auto rule create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Auto rule",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRule"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Permanently delete an auto rule, stopping all future evaluations and actions",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Auto rule UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule/{id}/disable" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Disable an auto rule, pausing all condition evaluation and action execution without deleting the rule",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Auto rule UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/auto-rule/{id}/enable" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Enable a disabled auto rule, resuming periodic condition evaluation and action execution",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Auto rule UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/billing/adspend" : {
      "get" : {
        "tags" : [ "Billing/Payment" ],
        "summary" : "Returns ad spend details.",
        "responses" : {
          "200" : {
            "description" : "Ad spend details.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/billing_AdSpendResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/billing/features" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Returns enabled features.",
        "responses" : {
          "200" : {
            "description" : "Business features.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/billing_features_FeaturesResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/billing/plan" : {
      "get" : {
        "tags" : [ "Billing/Payment" ],
        "summary" : "Returns current subscription plan details.",
        "responses" : {
          "200" : {
            "description" : "Plan details.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/plan_PlanResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Billing/Payment" ],
        "summary" : "Updates subscription plan - upgrades are effective immediately, downgrades after current subscription ends.",
        "requestBody" : {
          "description" : "Plan update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/plan_PlanUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/campaign" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves campaigns as csv file",
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/campaign/select" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves selected campaigns as csv file",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/campaign/update" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates campaigns from csv file",
        "requestBody" : {
          "description" : "Csv file",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bulk result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bulk_BulkResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/lander" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves landers as csv file",
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates landers from csv file",
        "requestBody" : {
          "description" : "Csv file",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bulk result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bulk_BulkResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/lander/select" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves selected landers as csv file",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/lander/update" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates landers from csv file",
        "requestBody" : {
          "description" : "Csv file",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bulk result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bulk_BulkResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/offer" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves offers as csv file",
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates offers from csv file",
        "requestBody" : {
          "description" : "Csv file",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bulk result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bulk_BulkResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/offer/select" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves selected offers as csv file",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Entities as csv file"
          }
        },
        "deprecated" : false
      }
    },
    "/bulk/offer/update" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates offers from csv file",
        "requestBody" : {
          "description" : "Csv file",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bulk result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/bulk_BulkResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/campaign" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns campaigns.",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Campaigns.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/campaign_CampaignCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates a campaign.",
        "requestBody" : {
          "description" : "Campaign update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/campaign_CampaignUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Campaign.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/campaign_CampaignResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives campaign(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/campaign/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for campaigns.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/campaign/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores campaign(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/campaign/{campaignId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns a campaign.",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A Campaign.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/campaign_CampaignResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates a campaign.",
        "description" : "Full-replacement update, not a partial patch. The request body accepts the\ncampaign object returned by the get-campaign endpoint as-is.\n\n## Required workflow\n\nTo change one or more fields: first fetch the campaign, take the object exactly\nas returned, modify only the fields you intend to change, and send the whole\nobject back. Do not build the payload from scratch.\n\n## Do not drop fields\n\nSend back every field you received from GET, including fields not described in\nthis schema. The campaign object carries more fields than the documented schema\nexposes, and because this is a full replacement, any field omitted from the body\nis removed or reset on the campaign. Echoing the GET response verbatim (plus your\nedits) is what preserves them.\n\n## Do not add fields\n\nDo not introduce fields that were not present in the GET response just to satisfy\na `required` marker in the schema. The object returned by GET is already complete\nand valid for update; adding fields risks sending invented or wrong values.\n",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Campaign update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/campaign_CampaignUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Campaign.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/campaign_CampaignResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/campaign/{campaignId}/url/{trafficSourceId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Composes URL for given Campaign with specific Traffic Source.",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "trafficSourceId",
          "in" : "path",
          "description" : "Traffic Source Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Campaign URL.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/campaign_CampaignUrlResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/column/info" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Lists all available columns and their metadata.",
        "description" : "Returns metadata for all available report columns including their key (API name),\nhuman-readable label, data type, and capabilities.\n\n## Purpose\n\nThis is the **runtime discovery mechanism** for building valid report queries.\nCall this endpoint at startup to discover:\n- All valid **groupBy** dimensions — filter the response for canGroupBy: true.\n- All valid **column** (metric) values — filter for canGroupBy: false.\n- Human-readable **display labels** for column headers.\n- Column **data types** for correct formatting.\n\n## Bootstrap sequence\n\nFor AI/programmatic consumers, the recommended startup sequence is:\n1. Authenticate (POST /auth/access/session)\n2. Call GET /column/info — discover valid groupBy values and built-in columns\n3. Call GET /custom-conversions — discover account-specific conversion types\n4. Call GET /custom-columns — discover user-defined derived metrics\n5. Call GET /traffic-source — discover custom variable name mappings per source\n6. Now you can build valid report queries with complete column sets.\n\n## Response fields per column\n\n- **key**: the column name to use in the 'column' and 'groupBy' query parameters.\n- **label**: human-readable display name.\n- **type**: data type (string, number, decimal, monetary, percentage, date_time, boolean).\n- **canGroupBy**: if true, this column can be used as a groupBy dimension.\n- **canBeRestricted**: if true, this column can be used in filter conditions.\n",
        "responses" : {
          "200" : {
            "description" : "Metadata for all available report columns.\nUsed to discover valid groupBy dimensions (canGroupBy: true) and available metric columns (canGroupBy: false).\n",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ColumnMappingCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/conversion" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Uploads conversions.",
        "requestBody" : {
          "description" : "Conversions data to upload in CSV format.",
          "content" : {
            "text/csv; charset=utf-8" : {
              "schema" : {
                "type" : "string"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Conversions data upload result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/conversion_ConversionUploadResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/currencies" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Lists available currency codes.",
        "description" : "Returns the list of currency codes supported by the reporting API (e.g. USD, EUR, GBP).\nUse a value from this list in the 'currency' parameter of report endpoints.\n",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/custom-columns" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns user-defined custom column (derived metric) definitions.",
        "description" : "Returns the list of custom columns configured for this account. Custom columns are\nuser-defined derived metrics with formulas (e.g. calculated EPC variants, margin\nformulas, blended scores).\n\n## Relationship to reports\n\nEach custom column has a name that can be passed directly as a column value in\nreport API calls, alongside built-in metrics like visits or roi.\n\n## Usage\n\nCall this endpoint at startup and append all custom column names to your default\nreport column set. Accounts with active custom columns will produce incomplete\nanalysis if these are excluded — they may represent the primary metrics the user\ncares about.\n",
        "responses" : {
          "200" : {
            "description" : "Custom columns configuration",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/customcolumn_CustomColumnConfigurationResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates a custom columns configuration",
        "requestBody" : {
          "description" : "Custom columns configuration",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/customcolumn_CustomColumnConfigurationUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Custom columns configuration",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/customcolumn_CustomColumnConfigurationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/custom-conversions" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns custom conversion type definitions for the account.",
        "description" : "Returns the list of custom conversion types configured for this account.\nEach entry has an index (1-20) and a name (e.g. \"Leads\", \"FTD\", \"Upsells\").\n\n## Relationship to reports\n\nThe index maps directly to report columns:\n- customConversions{index} — count of that conversion type\n- customRevenue{index} — revenue attributed to that conversion type\n\nFor example, if this endpoint returns an entry with index=3 and name=\"FTD\",\nthen in report requests you would include column=customConversions3 and\ncolumn=customRevenue3 to get FTD counts and revenue.\n\n## Usage\n\nCall this endpoint at startup and include all active custom conversion columns\nin your default report column set. Without this, reports will be missing conversion\ntypes that may be the primary KPIs the user cares about.\n",
        "responses" : {
          "200" : {
            "description" : "List of custom conversions",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/customconversion_CustomConversionCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Replaces the entire custom conversion configuration list",
        "requestBody" : {
          "description" : "List of custom conversions",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/customconversion_CustomConversionUpdateCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "List of custom conversions",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/customconversion_CustomConversionCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/brand" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves brands.",
        "responses" : {
          "200" : {
            "description" : "List of brands.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_brand_BrandCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/browser" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves browsers.",
        "responses" : {
          "200" : {
            "description" : "List of browsers",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_browser_BrowserCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/city" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves cities.",
        "parameters" : [ {
          "name" : "countryCode",
          "in" : "query",
          "description" : "Country code.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of cities.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_city_CityCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/country" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves countries.",
        "responses" : {
          "200" : {
            "description" : "List of countries.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_country_CountryCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/isp" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves ISPs.",
        "parameters" : [ {
          "name" : "query",
          "in" : "query",
          "description" : "",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of ISPs.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_isp_IspCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/language" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves languages.",
        "responses" : {
          "200" : {
            "description" : "List of languages.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_language_LanguageCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/mobile-carrier" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves mobile carriers.",
        "parameters" : [ {
          "name" : "countryCode",
          "in" : "query",
          "description" : "Country code.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of mobile carriers.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_connection_MobileCarrierCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/os" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves operating systems.",
        "responses" : {
          "200" : {
            "description" : "List of oses.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_os_OsCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/region" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves regions.",
        "parameters" : [ {
          "name" : "countryCode",
          "in" : "query",
          "description" : "Country code.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of regions.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_region_RegionCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dictionary/timezone" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Retrieves timezones",
        "responses" : {
          "200" : {
            "description" : "List of timezones.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/dictionary_time_TimezoneCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dimension-list" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "List all dimension lists configured for the account",
        "responses" : {
          "200" : {
            "description" : "Dimension list collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionListCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Create a named dimension list (e.g. keyword whitelist/blacklist) that can be referenced by auto rule conditions",
        "requestBody" : {
          "description" : "Dimension list create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionListUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Dimension list",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionList"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/dimension-list/quota/" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get the account's dimension list limits (max lists, values per list, lists per rule, value length)",
        "responses" : {
          "200" : {
            "description" : "Dimension list quota/limits",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionListQuota"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/dimension-list/{id}" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get a dimension list by id, including its name and all values",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Dimension list UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Dimension list",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "put" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Update a dimension list's name or values. The list is updated immediately; auto rules referencing it will use the updated values on their next scheduled evaluation",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Dimension list UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Dimension list create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionListUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Dimension list",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionList"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Permanently delete a dimension list. Any auto rules referencing this list will need to be updated",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Dimension list UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "List domains",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Add custom domain",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom/validate" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Validate custom domains",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom/{domainAddress}" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Add custom domain",
        "parameters" : [ {
          "name" : "domainAddress",
          "in" : "path",
          "description" : "Domain address.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Delete custom domain",
        "parameters" : [ {
          "name" : "domainAddress",
          "in" : "path",
          "description" : "Domain address.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom/{domainAddress}/migrate" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Migrate custom domain",
        "parameters" : [ {
          "name" : "domainAddress",
          "in" : "path",
          "description" : "Domain address.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom/{domainAddress}/reissueCertificate" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Reissue certificate for custom domain",
        "parameters" : [ {
          "name" : "domainAddress",
          "in" : "path",
          "description" : "Domain address.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/custom/{domainAddress}/triggerConnectivityValidation" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Verify custom domain connectivity",
        "parameters" : [ {
          "name" : "domainAddress",
          "in" : "path",
          "description" : "Domain address.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/domain/validate" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Verifies all domains CNAMEs.",
        "responses" : {
          "200" : {
            "description" : "List of DNS settings validation results.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/domain_CnameValidationResultCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/domain/{cname}/validate" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Verifies domain CNAME.",
        "parameters" : [ {
          "name" : "cname",
          "in" : "path",
          "description" : "Your cname eg yoursubdomainanme.yourdomain.com",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "DNS settings validation result (CNAME validation see more: https://en.wikipedia.org/wiki/CNAME_record)",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/domain_CnameValidationResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/entity" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns an entity with dependent resources.",
        "requestBody" : {
          "description" : "Query object with dependencies",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/entity_EntityQueryResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Entity with dependencies",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/entity_EntityWithDependenciesResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/event-log" : {
      "get" : {
        "tags" : [ "Event Log" ],
        "summary" : "Retrieves event log entries. Event log enables you to browse changes that were made in your account.",
        "parameters" : [ {
          "name" : "actionType",
          "in" : "query",
          "description" : "Type of performed action",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CREATE", "ARCHIVE", "CHANGE", "RESTORE", "LOGIN", "REAUTHENTICATE", "PAUSE", "RESUME" ]
          }
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "Id of client",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination: results offset",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Pagination: max number of event logs",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "entityId",
          "in" : "query",
          "description" : "Id of the entity",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "category",
          "in" : "query",
          "description" : "Type of the entity",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CAMPAIGN", "TRAFFIC_SOURCE", "FLOW", "OFFER", "AFFILIATE_NETWORK", "LANDER", "WORKSPACE", "ACCOUNT", "TRAFFIC_FILTER", "INTEGRATION" ]
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "description" : "Id of user",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "An Event Log.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/eventlog_EventLogResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/event-log/totals" : {
      "get" : {
        "tags" : [ "Event Log" ],
        "summary" : "Retrieves number of event log entries. Event log enables you to browse changes that were made in your account.",
        "parameters" : [ {
          "name" : "actionType",
          "in" : "query",
          "description" : "Type of performed action",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CREATE", "ARCHIVE", "CHANGE", "RESTORE", "LOGIN", "REAUTHENTICATE", "PAUSE", "RESUME" ]
          }
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "Id of client",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "entityId",
          "in" : "query",
          "description" : "Id of the entity",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "category",
          "in" : "query",
          "description" : "Type of the entity",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CAMPAIGN", "TRAFFIC_SOURCE", "FLOW", "OFFER", "AFFILIATE_NETWORK", "LANDER", "WORKSPACE", "ACCOUNT", "TRAFFIC_FILTER", "INTEGRATION" ]
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "description" : "Id of user",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Event Log totals/summary.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/eventlog_EventLogTotalsResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/flow" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves flows.",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Flows.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/flow_FlowCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates a flow.",
        "requestBody" : {
          "description" : "Flow update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/flow_FlowUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Flow.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/flow_FlowResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives flow(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/flow/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for flows.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/flow/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores flow(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/flow/{flowId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves a flow.",
        "parameters" : [ {
          "name" : "flowId",
          "in" : "path",
          "description" : "Flow Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A Flow.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/flow_FlowResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates a flow.",
        "parameters" : [ {
          "name" : "flowId",
          "in" : "path",
          "description" : "Flow Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Flow update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/flow_FlowUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Flow.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/flow_FlowResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/audit/actions/csv" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "Export integration action audit log as CSV, including both manual and auto-rule actions (pause, resume, bid changes, etc.) with timestamps and details",
        "parameters" : [ {
          "name" : "tz",
          "in" : "query",
          "description" : "Timezone for date conversion (e.g. Europe/Warsaw)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start of date range (ISO 8601)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "local-date-time"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End of date range (ISO 8601)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "local-date-time"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Rules audit log data in CSV format, containing auto-rule action history"
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/glass/audit/conversions/{integrationId}" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "Get a paginated audit trail of conversions processed through an integration, showing status, payout, and tracking details",
        "parameters" : [ {
          "name" : "integrationId",
          "in" : "path",
          "description" : "UUID of the integration to audit conversions for",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Additional filter criteria",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Page offset (default 0)",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items to return (default 1000000)",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start of date range filter (ISO 8601)",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End of date range filter (ISO 8601)",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Filter by conversion status",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "SENT", "FAILED", "AWAITING", "NOT_IN_PLAN" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Conversions audit collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_AuditConversionsCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/glass/campaign/{id}/bid" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Change the bid for a campaign in the traffic source. Supports exact values and coefficient-based adjustments",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Change bid resource ",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ChangeBidResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bid action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_BidActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/dailyCap" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Change the daily spending cap for a campaign in the traffic source",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Change daily cap resource",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ChangeDailyCapResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Daily cap action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_DailyCapActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/pause" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Pause a campaign in the traffic source via the Automizer integration. The campaign will stop receiving traffic",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/reset_campaign_budget" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Send a reset campaign budget command to the traffic source",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/reset_daily_budget" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Send a reset daily budget command to the traffic source for a campaign",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/restore" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Restore a previously deleted campaign in the traffic source via the Automizer integration",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/resume" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Resume a paused campaign in the traffic source via the Automizer integration, restarting traffic delivery",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/pause" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Pause multiple dimension values (keywords, zones, targets) at once within a campaign",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Keyword collection action model",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_KeywordCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/resume" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Resume multiple paused dimension values (keywords, zones, targets) at once within a campaign",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Keyword collection action model",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_KeywordCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/{dimensionValue}/bid" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Change the bid for a specific dimension value (keyword, zone, target) within a campaign",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Change bid resource ",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ChangeBidResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Bid action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_BidActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Automizer" ],
        "summary" : "Remove a keyword-level bid override for a dimension value in the traffic source",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/{dimensionValue}/dailyCap" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Change the daily spending cap for a specific dimension value (keyword, zone, target) within a campaign",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Change daily cap resource",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ChangeDailyCapResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Daily cap action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_DailyCapActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/{dimensionValue}/delete" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Remove a dimension value (keyword, zone, target) from a campaign in the traffic source",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/{dimensionValue}/pause" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Pause a specific dimension value (keyword, zone, target, etc.) within a campaign in the traffic source",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/campaign/{id}/{dimensionName}/{dimensionValue}/resume" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Resume a paused dimension value (keyword, zone, target, etc.) within a campaign in the traffic source",
        "parameters" : [ {
          "name" : "dimensionValue",
          "in" : "path",
          "description" : "Specific dimension value within the dimension",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Voluum campaign UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "dimensionName",
          "in" : "path",
          "description" : "Traffic source dimension name (e.g. keyword, target, zone)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "State action result",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_StateActionResultResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/conversions/upload" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "Accept conversion data and schedule it for asynchronous upload to the traffic source",
        "parameters" : [ {
          "name" : "payoutCurrency",
          "in" : "query",
          "description" : "Payout currency code",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "payout",
          "in" : "query",
          "description" : "Conversion payout amount",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "voluumClickId",
          "in" : "query",
          "description" : "Voluum click identifier",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clickId",
          "in" : "query",
          "description" : "Click identifier from the traffic source",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "integrationId",
          "in" : "query",
          "description" : "UUID of the integration to upload conversion to",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "conversionId",
          "in" : "query",
          "description" : "Conversion identifier",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transactionId",
          "in" : "query",
          "description" : "Transaction identifier",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/features" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "List supported features and capabilities (cost sync, status sync, campaign sync, bid dimensions, rule actions) for each traffic source integration type",
        "responses" : {
          "200" : {
            "description" : "Integration features overview collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_IntegrationFeaturesOverviewResourceCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/glass/integrations" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "List all configured traffic source integrations for the account, including their type, transfer status, account name, and settings",
        "responses" : {
          "200" : {
            "description" : "Base data source integration resource",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_IntegrationResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Automizer" ],
        "summary" : "Create a new traffic source integration. Requires integration type and authentication credentials for the traffic source API",
        "requestBody" : {
          "description" : "Data source integration create resource",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_IntegrationCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Created or updated data source integration",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_IntegrationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/glass/integrations/limits" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "Get integration limits per type, showing how many integrations exist, the maximum allowed, and how many more can be created",
        "responses" : {
          "200" : {
            "description" : "Current limits of available new integrations to add",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_IntegrationsLimitsResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/glass/integrations/{id}" : {
      "put" : {
        "tags" : [ "Automizer" ],
        "summary" : "Update an existing integration's settings such as transfer status, auto-mapping, and cost estimation",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Data source integration update resource",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_IntegrationUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Created or updated data source integration",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_IntegrationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Automizer" ],
        "summary" : "Remove a traffic source integration",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/integrations/{id}/pause" : {
      "post" : {
        "tags" : [ "Automizer" ],
        "summary" : "Pause an integration by setting all its data transfers to PAUSED status",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/integrations/{id}/resume" : {
      "post" : {
        "tags" : [ "Automizer" ],
        "summary" : "Resume a paused integration by setting all its data transfers back to ACTIVE status",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/integrations/{id}/test" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "Test connectivity and authentication for an integration by making a probe request to the traffic source API",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/glass/mappings/clear/{id}" : {
      "delete" : {
        "tags" : [ "Automizer" ],
        "summary" : "Clear all manual mappings for an integration and reset its execution info",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/mappings/{id}" : {
      "post" : {
        "tags" : [ "Automizer" ],
        "summary" : "Create or update a manual mapping between a traffic source campaign and a Voluum campaign for the given integration",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Report items manual mapping",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ReportItemMappingUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Automizer" ],
        "summary" : "Ignore a specific manual mapping between a traffic source campaign and a Voluum campaign, hiding it from the active mappings list",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the integration",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Report items manual mapping",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/glass_ReportItemMappingUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/glass/mappings/{integrationId}" : {
      "get" : {
        "tags" : [ "Automizer" ],
        "summary" : "List all campaign/cost mappings (auto and manual, with manual taking priority) for an integration, including available unmapped source and destination items",
        "parameters" : [ {
          "name" : "integrationId",
          "in" : "path",
          "description" : "UUID of the integration to list mappings for",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Report items manual mapping collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/glass_ReportItemMappingResourceCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/ip-filtering" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves IP/UA filtering setup.",
        "responses" : {
          "200" : {
            "description" : "IP/AU Filtering. IP/AU Filtering permits you to add IP/UA rules based on IP / IP range and useragent values. Once IP/UA rules are enabled, they will be applied globally to all active campaigns with forbidden IP/UA traffic events excluded from your reporting.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/globalfilter_GlobalFilterResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates IP/UA filtering setup.",
        "requestBody" : {
          "description" : "IP/AU Filtering. IP/AU Filtering permits you to add IP/UA rules based on IP / IP range and useragent values. Once IP/UA rules are enabled, they will be applied globally to all active campaigns with forbidden IP/UA traffic events excluded from your reporting.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/globalfilter_GlobalFilterResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "IP/AU Filtering. IP/AU Filtering permits you to add IP/UA rules based on IP / IP range and useragent values. Once IP/UA rules are enabled, they will be applied globally to all active campaigns with forbidden IP/UA traffic events excluded from your reporting.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/globalfilter_GlobalFilterResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/ivt/time-to-install/defaults" : {
      "get" : {
        "tags" : [ "Miscellaneous" ],
        "summary" : "Returns default time to install thresholds.",
        "responses" : {
          "200" : {
            "description" : "Time to install thresholds.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_setup_ivt_TimeToInstallConfigurationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/lander" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves landers.",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Landers.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/lander_LanderCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates a lander.",
        "requestBody" : {
          "description" : "Lander update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/lander_LanderUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Lander.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/lander_LanderResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives lander(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/lander/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for landers.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/lander/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores lander(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/lander/{landerId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves a lander.",
        "parameters" : [ {
          "name" : "landerId",
          "in" : "path",
          "description" : "Lander Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A Lander.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/lander_LanderResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates a lander.",
        "parameters" : [ {
          "name" : "landerId",
          "in" : "path",
          "description" : "Lander Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Lander update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/lander_LanderUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Lander.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/lander_LanderResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/invitation" : {
      "get" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Retrieves pending invitations",
        "responses" : {
          "200" : {
            "description" : "List of invitees",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_invitation_InviteeCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Invites user with given email address to access owned account",
        "requestBody" : {
          "description" : "Invitation request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/usermanagement_invitation_InvitationCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Invitation response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_invitation_InvitationResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/invitation/{email}" : {
      "delete" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Cancels previously created invitation",
        "parameters" : [ {
          "name" : "email",
          "in" : "path",
          "description" : "Invited user's email",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/invitation/{invitationId}" : {
      "get" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Retrieves invitation details",
        "parameters" : [ {
          "name" : "invitationId",
          "in" : "path",
          "description" : "Invitation id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Invitation details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_invitation_InvitationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/membership" : {
      "get" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Returns memberships",
        "responses" : {
          "200" : {
            "description" : "List of multi-user memberships",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/multiuser_MultiUserMembershipCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Accepts an invitation and creates a membership",
        "requestBody" : {
          "description" : "Membership creation request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/usermanagement_membership_MembershipAcceptResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Used by user to opt out from working with given client",
        "parameters" : [ {
          "name" : "clientId",
          "in" : "header",
          "description" : "Client id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/membership/{userId}" : {
      "put" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Updates membership of given user",
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "A multi-user membership",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/multiuser_MultiUserMembershipUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A multi-user membership",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/multiuser_MultiUserMembershipResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Used by owner to remove a user from this client",
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "description" : "User id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/workspace" : {
      "get" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Returns workspaces",
        "responses" : {
          "200" : {
            "description" : "List workspaces",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/multiuser_WorkspaceCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Creates workspace",
        "requestBody" : {
          "description" : "A workspace",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/multiuser_WorkspaceUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A workspace",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/multiuser_WorkspaceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/multiuser/workspace/{id}" : {
      "put" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Updates workspace",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Workspace ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "A workspace",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/multiuser_WorkspaceUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A workspace",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/multiuser_WorkspaceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Multi-user" ],
        "summary" : "Deletes workspace",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Workspace ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/custom-notification" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "List all custom notifications, optionally filtered by a specific campaign or offer entity id",
        "parameters" : [ {
          "name" : "entityId",
          "in" : "query",
          "description" : "Filter by entity UUID (Campaign or Offer id)",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Custom notification collection",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotificationCollection"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Create a custom notification rule that monitors campaigns or offers for threshold breaches and sends alerts",
        "requestBody" : {
          "description" : "Custom notification create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotificationUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Custom notification",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/custom-notification/limits/" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get the account's custom notification limits (max notifications, rules per notification, entities per notification)",
        "responses" : {
          "200" : {
            "description" : "Custom notification limits",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Limits"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/notification/custom-notification/{id}" : {
      "get" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Get a custom notification by id, including its monitored entities, rules, and current state",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Custom notification UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Custom notification",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "put" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Update an existing custom notification's name, monitored entities, time range, or threshold rules",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Custom notification UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Custom notification create/update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotificationUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Custom notification",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Permanently delete a custom notification and stop all associated monitoring",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Custom notification UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/custom-notification/{id}/pause" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Pause a custom notification, temporarily stopping threshold monitoring and alerts",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Custom notification UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Custom notification",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/custom-notification/{id}/resume" : {
      "post" : {
        "tags" : [ "Auto Rules" ],
        "summary" : "Resume a paused custom notification, restarting threshold monitoring and alerts",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Custom notification UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Custom notification",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/device" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "List all push notification devices registered for the current user",
        "responses" : {
          "200" : {
            "description" : "List of registered devices",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_DeviceListResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "put" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Register a device with extended info (OS, browser, device type) and store its FCM token for push notifications",
        "requestBody" : {
          "description" : "Device registration payload",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_DevicePayload"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/device/{token}" : {
      "put" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Register a device for push notifications by storing its FCM token and setting up default notification preferences",
        "parameters" : [ {
          "name" : "token",
          "in" : "path",
          "description" : "Device push notification token (FCM registration token)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Unregister a device from push notifications. The device will stop receiving real-time alerts",
        "parameters" : [ {
          "name" : "token",
          "in" : "path",
          "description" : "Device push notification token (FCM registration token)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/feedback/{id}" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Submit feedback (score and/or comment) for a notification inbox item",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "UUID of the inbox item to submit feedback for",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "description" : "Feedback submission payload",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_FeedbackPayload"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Feedback response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_Feedback"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/inbox" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "List notification inbox items with pagination. Returns notifications about campaign events, billing alerts, and integration status changes",
        "parameters" : [ {
          "name" : "unseenOnly",
          "in" : "query",
          "description" : "When true, only return items the user has not yet seen (default false)",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Page offset, 0-based (default 0)",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items to return per page (default 50)",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Paged inbox response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PagedInboxResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "delete" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Bulk soft-delete multiple inbox items by their ids",
        "requestBody" : {
          "description" : "Collection of UUIDs.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/inbox/count/grouped" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Get inbox item counts grouped by notification category (e.g. tracking, account, integrations), with total count",
        "responses" : {
          "200" : {
            "description" : "Inbox count grouped by category",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxCountGroupedResponse"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/notification/inbox/count/unread" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Get the count of unread inbox items. Used for badge/indicator display without loading full items",
        "responses" : {
          "200" : {
            "description" : "Item count as integer"
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/notification/inbox/count/unseen" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Get the count of unseen inbox items. Used for badge/indicator display without loading full items",
        "responses" : {
          "200" : {
            "description" : "Item count as integer"
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/notification/inbox/{id}" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Get a single inbox item by id, including its payload, read/seen timestamps, and user feedback",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Inbox item UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Inbox item",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxItem"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "delete" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Soft-delete an inbox item by setting a deleted timestamp. The item is excluded from listings but not removed from storage",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Inbox item UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/read" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Mark all notifications as read, or a specific set if request body with UUID list is provided",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/seen" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Mark all notifications as seen by setting the seen timestamp on items that have not been seen yet",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/unread" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Bulk mark multiple notifications as unread by providing their ids",
        "requestBody" : {
          "description" : "Collection of UUIDs.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/{id}/read" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Mark a notification as read. Updates the read timestamp, indicating the user explicitly opened the notification",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Inbox item UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Inbox item",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxItem"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/{id}/seen" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Mark a notification as seen. Updates the seen timestamp, indicating the user's client displayed the notification",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Inbox item UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Inbox item",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxItem"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/notifications/{id}/unread" : {
      "post" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Mark a notification as unread, clearing its read timestamp",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Inbox item UUID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Inbox item",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxItem"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/notification/preferences-v2" : {
      "get" : {
        "tags" : [ "Notification Push" ],
        "summary" : "List all notification preferences (categories and channels) with their current values and display details",
        "responses" : {
          "200" : {
            "description" : "List of preferences with details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PreferenceList"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "put" : {
        "tags" : [ "Notification Push" ],
        "summary" : "Update a notification preference by key, enabling or disabling a specific category or channel",
        "requestBody" : {
          "description" : "Preference update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_Preference"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/offer" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves offers.",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Offers.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/offer_OfferCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates an offer.",
        "requestBody" : {
          "description" : "Offer update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/offer_OfferUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "An Offer.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/offer_OfferResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives offer(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/offer/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for offers.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/offer/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores offer(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/offer/{offerId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves an offer.",
        "parameters" : [ {
          "name" : "offerId",
          "in" : "path",
          "description" : "Offer Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "An Offer.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/offer_OfferResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates an offer.",
        "parameters" : [ {
          "name" : "offerId",
          "in" : "path",
          "description" : "Offer Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Offer update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/offer_OfferUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "An Offer.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/offer_OfferResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/optimisation/campaign/{campaignId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Retrieves campaign with optimized weights.",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A campaign with auto optimized offer weights",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/abninja_CampaignOptimisationResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/payment/balance" : {
      "get" : {
        "tags" : [ "Billing/Payment" ],
        "summary" : "Returns balance for given sub account.",
        "parameters" : [ {
          "name" : "subAccount",
          "in" : "query",
          "description" : "Sun account name",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "OPERATIONAL", "REFERRAL", "DSP" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Account balance details.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/payment_AccountBalanceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/profile" : {
      "get" : {
        "tags" : [ "Profile management" ],
        "summary" : "Returns user's details",
        "responses" : {
          "200" : {
            "description" : "User details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_UserResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Profile management" ],
        "summary" : "Updates user's details",
        "requestBody" : {
          "description" : "User update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/usermanagement_UserUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "User details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_UserResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/profile/client" : {
      "put" : {
        "tags" : [ "Profile management" ],
        "summary" : "Updates client details",
        "requestBody" : {
          "description" : "User's client update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/usermanagement_ClientUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "User's client details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_ClientResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/profile/preference" : {
      "get" : {
        "tags" : [ "Profile management" ],
        "summary" : "Retrieves user's preferences.",
        "responses" : {
          "200" : {
            "description" : "User preferences.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_PreferenceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Profile management" ],
        "summary" : "Updates user's preferences.",
        "requestBody" : {
          "description" : "User preferences.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_PreferenceResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "User preferences.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_PreferenceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "patch" : {
        "tags" : [ "Profile management" ],
        "summary" : "Patches user's preferences.",
        "requestBody" : {
          "description" : "User preferences.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_PreferencePatchResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "User preferences.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_PreferenceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/profile/token" : {
      "get" : {
        "tags" : [ "Profile management" ],
        "summary" : "Returns user's details",
        "parameters" : [ {
          "name" : "token",
          "in" : "query",
          "description" : "User's passwordSet token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "User details",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/usermanagement_UserResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/report" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns aggregated report grouped by the specified dimension(s).",
        "description" : "Returns aggregated performance data grouped by the specified dimension(s).\nThis is the primary reporting endpoint for campaign analytics.\n\n## Prerequisites\n\nBefore building report queries, call these endpoints to discover account-specific configuration:\n- **GET /column/info** — returns all valid groupBy dimensions (canGroupBy: true) and metric\n columns with their display labels and types.\n- **GET /custom-conversions** — returns custom conversion type definitions\n (index 1-20 mapping to customConversions{N} and customRevenue{N} columns).\n- **GET /custom-columns** — returns user-defined derived metric names that can be passed as\n column values alongside built-in metrics.\n- **GET /traffic-source** — returns each source's *customVariables[]* array, where every entry\n carries *index*, *name* (user-facing label) and *parameter* (the URL parameter the source sends\n on the click). Variable meanings are defined per traffic source — the same slot index can mean\n different things on different sources.\n\n## Key behaviors\n\n- **Date range is half-open [from, to)**: the 'to' date is exclusive.\nTo query March 5 in full, set from=2026-03-05T00:00:00Z and to=2026-03-06T00:00:00Z.\n- **Name columns must be requested explicitly**: groupBy=campaignId only returns campaignId.\nAdd campaignName to the column list to get human-readable names.\n- **Column is a repeated parameter**: use column=visits&column=clicks, not column=visits,clicks.\n- **Drilldown filters**: use filter1=campaignId&filter1Value=<id> to filter results.\nMultiple filters: filter1/filter1Value, filter2/filter2Value, etc.\n\n## Metric formulas\n\n- **CTR** = clicks / visits (lander effectiveness)\n- **CR** = conversions / clicks (offer quality)\n- **CV** = conversions / visits (end-to-end funnel efficiency)\n- **ROI** = (revenue - cost) / cost (expressed as percentage, e.g. 125.0 = 125%)\n- **CPA** = cost / conversions\n- **EPV** = revenue / visits\n- **EPC** = revenue / clicks\n- **CPV** = cost / visits\n\n## Direct-linking campaigns\n\nCampaigns without a lander (direct-linking) never record click events.\nCTR, CR, clicks, and EPC are always zero — this is expected, not a tracking error.\nUse CV (conversions/visits) and EPV (revenue/visits) instead.\nDetection: inspect the campaign's flow for lander presence (GET /campaign/{id}), or run\ngroupBy=landerId filtered to the campaign — if no landers appear, it is direct-linking.\n\n## This endpoint vs /report/conversions\n\nThis endpoint returns aggregated data grouped by dimensions.\nFor individual conversion events (no grouping), use GET /report/conversions instead —\nthat endpoint does not accept groupBy, conversionTimeMode, or include parameters.\n\n## Rate limits and response size\n\nThrottling applies at three levels:\n\n**Per Bearer token (per user)** — three independent buckets:\n\n| Bucket | Base allocation | Notes |\n|---|---|---|\n| Per-second (burst) | **~4 req/s** | Hit first by most clients |\n| Concurrent in-flight | **~30** | Counted while a request is on the wire |\n| Per-minute (sustained) | Higher; rarely the binding cap | Only hit if you sustain perfectly even pacing |\n\nBase allocation only — many accounts have higher negotiated limits.\nContact support for your values.\n\n**Per IP** — anti-abuse cap; authenticated clients from a single host\nshould not normally hit it.\n\n**Per-user utilization budget (reports only)** — independent of request\ncount. Heavier queries (longer date ranges, wider *groupBy*, more *column*\nvalues) cost more; light queries cost little. Often the binding cap on\nheavy analytics workloads — prefer many narrow queries over a few enormous\nones if you see 429s without exceeding the per-second cap.\n\nExceeding any of these returns **429 Too Many Requests** with an empty\nbody and no *Retry-After* header. Back off and retry.\n\nPer-request row cap: see the *limit* query parameter.\nPer-account caps and throttling thresholds are configurable; contact support to raise them.\n",
        "parameters" : [ {
          "name" : "include",
          "in" : "query",
          "description" : "Controls which entities appear in the report. Default: *TRAFFIC*.\n\n- *ALL* — all entities, including those with no traffic in the period\n- *ACTIVE* — only active (non-archived) entities, including those with no traffic\n- *ARCHIVED* — only archived entities, including those with no traffic\n- *TRAFFIC* — only rows with non-zero traffic events (excludes entities with no traffic)\n\nEntities with no traffic in the period are returned for every value **except** *TRAFFIC*.\n",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ALL", "ACTIVE", "ARCHIVED", "TRAFFIC" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination offset (zero-based). Default: 0.",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response. Repeated query parameter — use *column=visits&column=clicks*,\n NOT comma-separated.\n\n**Volume:** *visits*, *clicks*, *conversions*, *impressions*, *uniqueVisits*, *uniqueClicks*\n\n**Financial:** *revenue*, *cost*, *profit*\n\n**Rate/efficiency metrics (with formulas):**\n\n| Column | Formula | Note |\n|---|---|---|\n| *ctr* | clicks / visits | Lander effectiveness. Always 0 for direct-linking campaigns |\n| *cr* | conversions / clicks | Offer quality. Always 0 for direct-linking campaigns |\n| *cv* | conversions / visits | End-to-end funnel. The only rate metric valid for both lander and direct-linking |\n| *roi* | (revenue-cost) / cost | Percentage, e.g. 125.0 = 125% ROI |\n| *cpa* | cost / conversions | Cost per acquisition |\n| *epv* | revenue / visits | Earnings per visit |\n| *epc* | revenue / clicks | Always 0 for direct-linking campaigns |\n| *cpv* | cost / visits | Cost per visit |\n| *cpc* | cost / clicks | Cost per click |\n\nOther rate metrics: *ecpa*, *ecpc*, *ecpm*, *cpm*, *ap*, *rpm*, *sctr*, *ictr*, *viewRate*\n\n**Quality:** *suspiciousVisits*, *suspiciousClicks*, *robotVisits*\n\n**Entity names:** *campaignName*, *offerName*, *landerName*, *trafficSourceName*, *affiliateNetworkName*,\n *countryName*, *deviceName*, *connectionTypeName*, *languageName*, *flowName*\n\n**Custom:** *customConversions1*-*20*, *customRevenue1*-*20* (discover via *GET /custom-conversions*).\n User-defined derived metrics (discover via *GET /custom-columns*).\n\nTo discover all available columns at runtime, call *GET /column/info*.\n",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "filter1",
          "in" : "query",
          "description" : "Drilldown filter dimension — a dimension column to filter the report by an EXACT value,\n e.g. *campaignId*. Pair with *filter1Value*. This is the correct, server-side way to\n scope a report to a single entity by id; the *filter* parameter only does free-text\n name search, which is fragile and can match the wrong row.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "compareFrom",
          "in" : "query",
          "description" : "Start date/time (inclusive) for the comparison period. ISO 8601 format.\nUsed for period-over-period analysis.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2",
          "in" : "query",
          "description" : "Second drilldown filter dimension (optional), e.g. *countryCode*. Pair with *filter2Value*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Dimension(s) to group results by. Repeated parameter — use *groupBy=campaignId&groupBy=countryCode*,\n not comma-separated.\n\n**Call GET /column/info** to discover all valid groupBy values for this account (filter response for\n *canGroupBy: true*). The list evolves — don't hardcode it.\n\nCommon examples: *campaignId*, *offerId*, *landerId*, *trafficSourceId*, *affiliateNetworkId*,\n *countryCode*, *day*, *dayOfWeek*, *hourOfDay*, *month*, *device*, *os*, *browser*, *isp*,\n *referrerDomain*, *flowId*, *customVariable1* through *customVariable10*.\n\n**Name column mapping** — grouping by an entity returns only the ID. You must request the name column\n explicitly via the 'column' parameter:\n\n| groupBy | Name column to request |\n|---|---|\n| campaignId | campaignName |\n| offerId | offerName |\n| landerId | landerName |\n| trafficSourceId | trafficSourceName |\n| affiliateNetworkId | affiliateNetworkName |\n| countryCode | countryName |\n| device | deviceName |\n| connectionType | connectionTypeName |\n| language | languageName |\n| flowId | flowName |\n\n**Custom variables:** slot meanings are per-source (slot 1 may be *zoneid* on PropellerAds,\n *pubid* on Reacheffect). Discover labels via *GET /traffic-source* → each source's\n *customVariables[]* array. *customVariable1*..*10* breakdowns must be scoped to a single\n campaign (or at least a single traffic source) via *filter1=campaignId&filter1Value=<id>*;\n unscoped breakdowns mix incompatible populations. The endpoint accepts unscoped queries —\n scoping is on the caller.\n\n**Common mistakes returning 400:** *device-type* (use *device*), *referrer* (use *referrerDomain*),\n *conversion* (use */report/conversions* endpoint), *category*, *pathId*, *externalCampaignId*.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "compareTo",
          "in" : "query",
          "description" : "End date/time (exclusive) for the comparison period. ISO 8601 format.\nSame half-open semantics as the 'to' parameter.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter1Value",
          "in" : "query",
          "description" : "Exact value for *filter1*, e.g. the campaign id. Returns only rows matching this value.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum rows to return per request. **Default: 100.** Values above the per-account cap are\n silently capped; *totalRows* always reflects the true count. Use *offset* to page through.\n",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\n**Default:** start of the next hour in the request timezone (e.g. if current time is 14:30, default\n *to* is 15:00). This means omitting *to* gives you data up to the current hour.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day). Common mistake: setting\n *to=2026-03-05T00:00:00Z* returns zero results for March 5.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2Value",
          "in" : "query",
          "description" : "Exact value for *filter2*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "conversionTimeMode",
          "in" : "query",
          "description" : "Controls how conversions are attributed in time. Default: *VISIT*.\n\n- *VISIT* — attribute conversion to the time of the original visit (click time)\n- *CONVERSION* — attribute conversion to the time the postback was received\n\nUse *VISIT* when you want conversions aligned with the traffic that generated them.\n Not applicable to */report/conversions* endpoint.\n\n**Period-over-period comparisons:** use the *same mode for both periods*\n (e.g. WoW with *compareFrom*/*compareTo*). Mixing *VISIT* and *CONVERSION*\n produces fake late-funnel drops — conversions registered after the first\n period closes are visible under *CONVERSION* but invisible under *VISIT*.\n",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CONVERSION", "VISIT" ]
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Aggregated report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 response — two campaigns, core metrics populated",
                    "value" : {
                      "offset" : 0,
                      "messages" : [ ],
                      "totals" : {
                        "visits" : 21380,
                        "clicks" : 16925,
                        "conversions" : 311,
                        "revenue" : 9330.0,
                        "cost" : 7662.0,
                        "profit" : 1668.0,
                        "roi" : 21.8
                      },
                      "truncated" : false,
                      "totalRows" : 2,
                      "limit" : 100,
                      "columnMappings" : [ {
                        "label" : "Campaign ID",
                        "type" : "ID",
                        "key" : "campaignId"
                      }, {
                        "label" : "Campaign Name",
                        "type" : "STRING",
                        "key" : "campaignName"
                      }, {
                        "label" : "Visits",
                        "type" : "INTEGER",
                        "key" : "visits"
                      }, {
                        "label" : "Clicks",
                        "type" : "INTEGER",
                        "key" : "clicks"
                      }, {
                        "label" : "Conversions",
                        "type" : "INTEGER",
                        "key" : "conversions"
                      }, {
                        "label" : "Revenue",
                        "type" : "DECIMAL",
                        "key" : "revenue"
                      }, {
                        "label" : "Cost",
                        "type" : "DECIMAL",
                        "key" : "cost"
                      }, {
                        "label" : "Profit",
                        "type" : "DECIMAL",
                        "key" : "profit"
                      }, {
                        "label" : "ROI",
                        "type" : "PERCENT",
                        "key" : "roi"
                      } ],
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "US / iOS / MyOffer",
                        "visits" : 12450,
                        "clicks" : 9821,
                        "conversions" : 187,
                        "revenue" : 5610.0,
                        "cost" : 4488.0,
                        "profit" : 1122.0,
                        "roi" : 25.0
                      }, {
                        "campaignId" : "8a4b2c8a-9b1d-4e3f-a5c7-1234567890cd",
                        "campaignName" : "EU / Android / MyOffer",
                        "visits" : 8930,
                        "clicks" : 7104,
                        "conversions" : 124,
                        "revenue" : 3720.0,
                        "cost" : 3174.0,
                        "profit" : 546.0,
                        "roi" : 17.2
                      } ]
                    }
                  },
                  "with-custom-conversions" : {
                    "summary" : "200 response showing customConversionsN and customRevenueN columns populated",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 1,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "Gaming / Casino / Brand X",
                        "visits" : 50000,
                        "clicks" : 41200,
                        "conversions" : 320,
                        "customConversions1" : 215,
                        "customConversions2" : 78,
                        "customConversions3" : 27,
                        "customRevenue1" : 0.0,
                        "customRevenue2" : 7800.0,
                        "customRevenue3" : 4860.0,
                        "revenue" : 12660.0,
                        "cost" : 8000.0,
                        "profit" : 4660.0,
                        "roi" : 58.3
                      } ],
                      "offset" : 0
                    }
                  },
                  "filtered-by-campaign" : {
                    "summary" : "200 response when filtered to one campaign and grouped by countryCode",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 3,
                      "truncated" : false,
                      "rows" : [ {
                        "countryCode" : "US",
                        "countryName" : "United States",
                        "visits" : 8230,
                        "clicks" : 6541,
                        "conversions" : 142,
                        "revenue" : 4260.0,
                        "cost" : 2980.0,
                        "profit" : 1280.0
                      }, {
                        "countryCode" : "CA",
                        "countryName" : "Canada",
                        "visits" : 2150,
                        "clicks" : 1720,
                        "conversions" : 28,
                        "revenue" : 840.0,
                        "cost" : 770.0,
                        "profit" : 70.0
                      }, {
                        "countryCode" : "GB",
                        "countryName" : "United Kingdom",
                        "visits" : 2070,
                        "clicks" : 1560,
                        "conversions" : 17,
                        "revenue" : 510.0,
                        "cost" : 738.0,
                        "profit" : -228.0
                      } ],
                      "offset" : 0
                    }
                  },
                  "paginated" : {
                    "summary" : "200 response showing pagination state (offset=100, limit=50 of 312 total)",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 50,
                      "totalRows" : 312,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567101",
                        "campaignName" : "Campaign #101",
                        "visits" : 1240,
                        "clicks" : 998,
                        "conversions" : 12,
                        "revenue" : 360.0
                      }, {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567102",
                        "campaignName" : "Campaign #102",
                        "visits" : 1180,
                        "clicks" : 941,
                        "conversions" : 9,
                        "revenue" : 270.0
                      } ],
                      "offset" : 100
                    }
                  }
                }
              }
            }
          },
          "429" : {
            "description" : "Rate limit exceeded. Empty body; no Retry-After header. See the operation description for bucket types and back-off guidance."
          }
        },
        "deprecated" : false,
        "x-read-only" : true,
        "x-supplementary-context" : "Guide for interpreting Voluum report data. Call this before analyzing report results.\n\n## Metric tiers\n\n**Tier 1 — Decision metrics (optimize on these):**\nROI is the ultimate north star. CPA/eCPA is the bid target. CV (conversions/visits)\nis the campaign's true health metric — when CV drops, drill into CTR and CR to isolate\nwhere in the funnel the problem is. Always sanity-check ROI with absolute profit numbers\n(ROI can look great on tiny spend).\n\n**Tier 2 — Diagnostic metrics (explain Tier 1):**\nCTR measures lander effectiveness. CR measures offer quality. EPV/EPC normalize\nprofitability for comparing offers and landers regardless of volume. CPV combined\nwith EPV tells you instantly whether unit economics work.\n\n**Tier 3 — Red flag metrics (monitor passively):**\nsuspiciousVisits/suspiciousClicks are Voluum's built-in fraud scoring. Any placement\nconsistently above 15-20% suspicious traffic should be flagged for review.\n\n## Recommended default column set\n\nFor lander-based campaigns:\nvisits, clicks, conversions, revenue, cost, profit, roi, ctr, cr, cv, cpa, epv, epc, cpv,\nsuspiciousVisits, suspiciousClicks\n(plus all active customConversions{N}, customRevenue{N}, and custom column names)\n\nFor direct-linking campaigns (no lander):\nvisits, conversions, revenue, cost, profit, roi, cv, cpa, epv, cpv, suspiciousVisits\n(CTR, CR, clicks, and EPC are always zero without a lander — omit them)\n\n## Time range guidance\n\n- **Today/Yesterday**: pulse check only — never make optimization decisions on less than\n48-72 hours of data. Conversion tracking delays alone can make yesterday look terrible.\n- **Last 7 days**: primary optimization window. Enough data to spot trends without looking\nat a stale period. Use for bid adjustments, placement pauses, and offer rotations.\n- **Last 14-30 days**: pattern recognition. Day-of-week trends, ROI direction, whether a\nplacement that looks bad in 7 days is actually cyclical. Required before structural changes.\n- **Key rule**: the lower the volume, the longer the window. A campaign doing 10 conversions/day\nneeds 7 days minimum. A campaign doing 2 conversions/day needs 30 days.\n\n## Campaign age awareness\n\nBefore pulling reports, retrieve the campaign's createdTime and updatedTime from\nGET /campaign/{id}. createdTime sets the absolute floor — a 10-day-old campaign cannot\nproduce valid day-of-week patterns. updatedTime matters because a significant change\n(flow change, offer swap, bid restructure) acts as a soft reset — data from before that\ndate may reflect a fundamentally different configuration. Set your analysis 'from' date to\nthe later of your desired window start or the campaign's createdTime/last significant\nupdatedTime.\n\nWatch for traffic ramp-up skewing time-based breakdowns: a campaign that scaled volume\nmid-period will produce misleading groupBy=dayOfWeek results. Cross-reference against\ngroupBy=day to confirm volume was stable across the comparison period.\n\n## Dimension analysis order\n\nWork top-down, from macro to micro:\n1. **groupBy=day** — always first. Spot trends, identify when performance shifted.\n2. **groupBy=trafficSourceId** — separate sources immediately. Blended stats are meaningless.\nA 10% ROI across two sources could be +60% on one and -40% on the other.\n3. **groupBy=device** — desktop vs mobile vs tablet almost always need separate treatment.\n4. **groupBy=countryCode** — even single-country campaigns have regional variance.\n5. **groupBy=os** — iOS vs Android frequently have different CV and fraud profiles.\n6. **groupBy=customVariable{N}** — placement-level analysis (site ID, zone, keyword).\nThis is where the biggest ROI improvements come from: cutting bad placements.\n7. **groupBy=dayOfWeek** — only after 3+ weeks of stable data.\n8. **groupBy=hourOfDay** — only after significant volume. Useful for dayparting.\n\n## Offer analysis\n\nTo compare offers: groupBy=offerId with filter1=campaignId. The key metric is CR\n(conversions/clicks) — it measures what happens after the visitor expressed intent.\nAlso compare EPC — an offer paying $50 with 1% CR (EPC=$0.50) beats an offer paying\n$100 with 0.3% CR (EPC=$0.30). For direct-linking, use CV and EPV instead.\n\n## Lander analysis\n\nTo compare landers: groupBy=landerId with filter1=campaignId. The key metric is CTR\n(clicks/visits) — the lander's one job is to get the visitor to click through. But never\noptimize CTR alone: a 40% CTR lander feeding low-quality clicks that don't convert is\nworse than a 20% CTR lander where clicks actually buy. The right target is CV or EPC.\nNot applicable to direct-linking campaigns (no lander).\n\n## Common analysis pitfalls\n\n- **Optimizing on today's data**: wait 48-72h. Conversion delays make fresh data unreliable.\n- **Blending traffic sources**: always filter to one source per analysis.\n- **Confusing CTR with CR**: CTR=clicks/visits (lander), CR=conversions/clicks (offer).\n- **Pausing on low volume**: apply minimum visit/click thresholds before pause decisions.\n- **Optimizing CTR without checking EPC**: high-CTR lander with low-quality clicks hurts CV.\n- **Ignoring suspiciousVisits**: inflates visit counts and distorts all rate metrics.\n- **Missing name columns**: groupBy=campaignId only returns campaignId by default —\n request campaignName explicitly to get human-readable names.\n- **Assuming custom variable meanings**: always call GET /traffic-source first.\n- **Omitting custom columns/conversions**: call GET /custom-columns and\nGET /custom-conversions at startup.\n- **Zero clicks in direct-linking campaigns**: expected, not a tracking issue.\n"
      },
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Exports aggregated report data in CSV format.",
        "description" : "Same data as GET /report but returned as CSV for spreadsheet import or bulk processing.\nSame query parameters and semantics apply, including half-open date ranges.\n",
        "parameters" : [ {
          "name" : "include",
          "in" : "query",
          "description" : "Controls which entities appear in the report. Default: *TRAFFIC*.\n\n- *ALL* — all entities, including those with no traffic in the period\n- *ACTIVE* — only active (non-archived) entities, including those with no traffic\n- *ARCHIVED* — only archived entities, including those with no traffic\n- *TRAFFIC* — only rows with non-zero traffic events (excludes entities with no traffic)\n\nEntities with no traffic in the period are returned for every value **except** *TRAFFIC*.\n",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ALL", "ACTIVE", "ARCHIVED", "TRAFFIC" ]
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response (required). This is a repeated query parameter — use\n *column=visits&column=clicks*, NOT comma-separated.\nSee GET /report 'column' parameter documentation for the full list of available columns, or\n call GET /column/info for runtime discovery.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "filter1",
          "in" : "query",
          "description" : "Drilldown filter dimension — a dimension column to filter the report by an EXACT value,\n e.g. *campaignId*. Pair with *filter1Value*. This is the correct, server-side way to\n scope a report to a single entity by id; the *filter* parameter only does free-text\n name search, which is fragile and can match the wrong row.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2",
          "in" : "query",
          "description" : "Second drilldown filter dimension (optional), e.g. *countryCode*. Pair with *filter2Value*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Dimension(s) to group results by. Repeated parameter — use *groupBy=campaignId&groupBy=countryCode*,\n not comma-separated.\n\n**Call GET /column/info** to discover all valid groupBy values for this account (filter response for\n *canGroupBy: true*). The list evolves — don't hardcode it.\n\nCommon examples: *campaignId*, *offerId*, *landerId*, *trafficSourceId*, *affiliateNetworkId*,\n *countryCode*, *day*, *dayOfWeek*, *hourOfDay*, *month*, *device*, *os*, *browser*, *isp*,\n *referrerDomain*, *flowId*, *customVariable1* through *customVariable10*.\n\n**Name column mapping** — grouping by an entity returns only the ID. You must request the name column\n explicitly via the 'column' parameter:\n\n| groupBy | Name column to request |\n|---|---|\n| campaignId | campaignName |\n| offerId | offerName |\n| landerId | landerName |\n| trafficSourceId | trafficSourceName |\n| affiliateNetworkId | affiliateNetworkName |\n| countryCode | countryName |\n| device | deviceName |\n| connectionType | connectionTypeName |\n| language | languageName |\n| flowId | flowName |\n\n**Custom variables:** slot meanings are per-source (slot 1 may be *zoneid* on PropellerAds,\n *pubid* on Reacheffect). Discover labels via *GET /traffic-source* → each source's\n *customVariables[]* array. *customVariable1*..*10* breakdowns must be scoped to a single\n campaign (or at least a single traffic source) via *filter1=campaignId&filter1Value=<id>*;\n unscoped breakdowns mix incompatible populations. The endpoint accepts unscoped queries —\n scoping is on the caller.\n\n**Common mistakes returning 400:** *device-type* (use *device*), *referrer* (use *referrerDomain*),\n *conversion* (use */report/conversions* endpoint), *category*, *pathId*, *externalCampaignId*.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter1Value",
          "in" : "query",
          "description" : "Exact value for *filter1*, e.g. the campaign id. Returns only rows matching this value.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\n**Default:** start of the next hour in the request timezone (e.g. if current time is 14:30, default\n *to* is 15:00). This means omitting *to* gives you data up to the current hour.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day). Common mistake: setting\n *to=2026-03-05T00:00:00Z* returns zero results for March 5.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2Value",
          "in" : "query",
          "description" : "Exact value for *filter2*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "conversionTimeMode",
          "in" : "query",
          "description" : "Controls how conversions are attributed in time. Default: *VISIT*.\n\n- *VISIT* — attribute conversion to the time of the original visit (click time)\n- *CONVERSION* — attribute conversion to the time the postback was received\n\nUse *VISIT* when you want conversions aligned with the traffic that generated them.\n Not applicable to */report/conversions* endpoint.\n\n**Period-over-period comparisons:** use the *same mode for both periods*\n (e.g. WoW with *compareFrom*/*compareTo*). Mixing *VISIT* and *CONVERSION*\n produces fake late-funnel drops — conversions registered after the first\n period closes are visible under *CONVERSION* but invisible under *VISIT*.\n",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CONVERSION", "VISIT" ]
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Report data in CSV format."
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/aggregated/{unit}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns report data aggregated by time unit.",
        "description" : "Returns performance metrics aggregated by the specified time unit (day, hour, month, etc.).\nThe response is a map of timestamps to metric values, useful for time-series analysis\nand trend visualization.\n\n## Date range\n\nSame half-open [from, to) semantics as GET /report — the 'to' date is exclusive.\n\n## Use cases\n\n- Daily performance trends (unit=DAY)\n- Hourly granularity for dayparting analysis (unit=HOUR)\n- Day-of-week patterns for bid scheduling (unit=DAY_OF_WEEK)\n- Hour-of-day patterns for dayparting (unit=HOUR_OF_DAY)\n",
        "parameters" : [ {
          "name" : "unit",
          "in" : "path",
          "description" : "Time unit for aggregation.\n\n- *DAY* — aggregate by calendar day\n- *HOUR* — aggregate by hour\n- *MONTH* — aggregate by month\n- *MONTH_DATE* — aggregate by month and day\n- *DAY_OF_WEEK* — aggregate by day of week (Monday-Sunday)\n- *HOUR_OF_DAY* — aggregate by hour of day (0-23)\n- *DAY_OF_WEEK_TIME_OF_DAY* — combined day-of-week and hour\n",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "DAY", "HOUR", "MONTH_DATE", "MONTH", "DAY_OF_WEEK_TIME_OF_DAY", "DAY_OF_WEEK", "HOUR_OF_DAY" ]
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter1",
          "in" : "query",
          "description" : "Drilldown filter dimension — a dimension column to filter the report by an EXACT value,\n e.g. *campaignId*. Pair with *filter1Value*. This is the correct, server-side way to\n scope a report to a single entity by id; the *filter* parameter only does free-text\n name search, which is fragile and can match the wrong row.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2",
          "in" : "query",
          "description" : "Second drilldown filter dimension (optional), e.g. *countryCode*. Pair with *filter2Value*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\n**Default:** start of the next hour in the request timezone (e.g. if current time is 14:30, default\n *to* is 15:00). This means omitting *to* gives you data up to the current hour.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day). Common mistake: setting\n *to=2026-03-05T00:00:00Z* returns zero results for March 5.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2Value",
          "in" : "query",
          "description" : "Exact value for *filter2*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "conversionTimeMode",
          "in" : "query",
          "description" : "Controls how conversions are attributed in time. Default: *VISIT*.\n\n- *VISIT* — attribute conversion to the time of the original visit (click time)\n- *CONVERSION* — attribute conversion to the time the postback was received\n\nUse *VISIT* when you want conversions aligned with the traffic that generated them.\n Not applicable to */report/conversions* endpoint.\n\n**Period-over-period comparisons:** use the *same mode for both periods*\n (e.g. WoW with *compareFrom*/*compareTo*). Mixing *VISIT* and *CONVERSION*\n produces fake late-funnel drops — conversions registered after the first\n period closes are visible under *CONVERSION* but invisible under *VISIT*.\n",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CONVERSION", "VISIT" ]
          }
        }, {
          "name" : "filter1Value",
          "in" : "query",
          "description" : "Exact value for *filter1*, e.g. the campaign id. Returns only rows matching this value.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Time-series report data aggregated by the specified time unit (day, hour, month, etc.).\nThe data is a map of timestamps to metric values, suitable for charting and trend analysis.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportAggregatedResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/async" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Submits a report request and returns empty response. Report will arrive via email",
        "parameters" : [ {
          "name" : "filter",
          "in" : "query",
          "description" : "Text filter for specified columns",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "emails",
          "in" : "query",
          "description" : "Email to be sent the report to. Multiple emails.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns to return",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency, default value is USD",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Grouping column",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace ids to filter by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "conversionTimeMode",
          "in" : "query",
          "description" : "Specifies on which event time conversions should be aggregated",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CONVERSION", "VISIT" ]
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/async/scheduled" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Submits a scheduled report request and returns empty response. Reports will arrive via email",
        "parameters" : [ {
          "name" : "reportName",
          "in" : "query",
          "description" : "Custom report name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns to return",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Grouping column",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endAtMidnight",
          "in" : "query",
          "description" : "Whether the scheduled report time range should end at midnight or at client specified time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Text filter for specified columns",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executeAt",
          "in" : "query",
          "description" : "Specifies when the scheduled report should be calculated",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "emails",
          "in" : "query",
          "description" : "Email to be sent the report to. Multiple emails.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency, default value is USD",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "rangeHours",
          "in" : "query",
          "description" : "Scheduled report time range in hours",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace ids to filter by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "conversionTimeMode",
          "in" : "query",
          "description" : "Specifies on which event time conversions should be aggregated",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "CONVERSION", "VISIT" ]
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/async/scheduled/list" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Lists scheduled reports",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/async/scheduled/{id}" : {
      "delete" : {
        "tags" : [ "Reports" ],
        "summary" : "Deletes scheduled report",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "TrafficLog Request id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/async/usage" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns big data report usage",
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/conversions" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns individual conversion events (not aggregated).",
        "description" : "Returns individual conversion events as separate rows — one row per conversion.\nThis is fundamentally different from GET /report, which returns aggregated data\ngrouped by dimensions.\n\n## Key differences from GET /report\n\n- **No groupBy parameter** — each row is a single conversion event.\n- **No conversionTimeMode parameter** — not applicable to individual events.\n- **No include parameter** — not applicable.\n- **Default sort**: postbackTimestamp (most recent conversions first).\n- **Column parameter is required** — you must specify which fields to return.\n\n## Common columns for conversion reports\n\nEach row can include: postbackTimestamp, visitTimestamp, campaignId, campaignName, offerId,\n offerName, trafficSourceId, trafficSourceName, countryCode, countryName, device, revenue,\n payout, customVariable1 through customVariable10, customConversions1-20, customRevenue1-20.\n\n## When to use this endpoint\n\nUse this endpoint when you need to inspect individual conversion events,\nverify postback firing, diagnose tracking issues, or analyze conversion-level\ndetail. For aggregated performance metrics, use GET /report instead.\n\n## Drilldown filters\n\nUse filter1=campaignId&filter1Value=<id> to see conversions for a specific campaign.\n",
        "parameters" : [ {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination offset (zero-based). Default: 0.",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response (required). This is a repeated query parameter — use\n *column=visits&column=clicks*, NOT comma-separated.\nSee GET /report 'column' parameter documentation for the full list of available columns, or\n call GET /column/info for runtime discovery.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "filter1",
          "in" : "query",
          "description" : "Drilldown filter dimension — a dimension column to filter the report by an EXACT value,\n e.g. *campaignId*. Pair with *filter1Value*. This is the correct, server-side way to\n scope a report to a single entity by id; the *filter* parameter only does free-text\n name search, which is fragile and can match the wrong row.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2",
          "in" : "query",
          "description" : "Second drilldown filter dimension (optional), e.g. *countryCode*. Pair with *filter2Value*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter1Value",
          "in" : "query",
          "description" : "Exact value for *filter1*, e.g. the campaign id. Returns only rows matching this value.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum rows to return per request. **Default: 100.** Values above the per-account cap are\n silently capped; *totalRows* always reflects the true count. Use *offset* to page through.\n",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\n**Default:** start of the next hour in the request timezone (e.g. if current time is 14:30, default\n *to* is 15:00). This means omitting *to* gives you data up to the current hour.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day). Common mistake: setting\n *to=2026-03-05T00:00:00Z* returns zero results for March 5.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2Value",
          "in" : "query",
          "description" : "Exact value for *filter2*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Aggregated report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 response — two campaigns, core metrics populated",
                    "value" : {
                      "offset" : 0,
                      "messages" : [ ],
                      "totals" : {
                        "visits" : 21380,
                        "clicks" : 16925,
                        "conversions" : 311,
                        "revenue" : 9330.0,
                        "cost" : 7662.0,
                        "profit" : 1668.0,
                        "roi" : 21.8
                      },
                      "truncated" : false,
                      "totalRows" : 2,
                      "limit" : 100,
                      "columnMappings" : [ {
                        "label" : "Campaign ID",
                        "type" : "ID",
                        "key" : "campaignId"
                      }, {
                        "label" : "Campaign Name",
                        "type" : "STRING",
                        "key" : "campaignName"
                      }, {
                        "label" : "Visits",
                        "type" : "INTEGER",
                        "key" : "visits"
                      }, {
                        "label" : "Clicks",
                        "type" : "INTEGER",
                        "key" : "clicks"
                      }, {
                        "label" : "Conversions",
                        "type" : "INTEGER",
                        "key" : "conversions"
                      }, {
                        "label" : "Revenue",
                        "type" : "DECIMAL",
                        "key" : "revenue"
                      }, {
                        "label" : "Cost",
                        "type" : "DECIMAL",
                        "key" : "cost"
                      }, {
                        "label" : "Profit",
                        "type" : "DECIMAL",
                        "key" : "profit"
                      }, {
                        "label" : "ROI",
                        "type" : "PERCENT",
                        "key" : "roi"
                      } ],
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "US / iOS / MyOffer",
                        "visits" : 12450,
                        "clicks" : 9821,
                        "conversions" : 187,
                        "revenue" : 5610.0,
                        "cost" : 4488.0,
                        "profit" : 1122.0,
                        "roi" : 25.0
                      }, {
                        "campaignId" : "8a4b2c8a-9b1d-4e3f-a5c7-1234567890cd",
                        "campaignName" : "EU / Android / MyOffer",
                        "visits" : 8930,
                        "clicks" : 7104,
                        "conversions" : 124,
                        "revenue" : 3720.0,
                        "cost" : 3174.0,
                        "profit" : 546.0,
                        "roi" : 17.2
                      } ]
                    }
                  },
                  "with-custom-conversions" : {
                    "summary" : "200 response showing customConversionsN and customRevenueN columns populated",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 1,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "Gaming / Casino / Brand X",
                        "visits" : 50000,
                        "clicks" : 41200,
                        "conversions" : 320,
                        "customConversions1" : 215,
                        "customConversions2" : 78,
                        "customConversions3" : 27,
                        "customRevenue1" : 0.0,
                        "customRevenue2" : 7800.0,
                        "customRevenue3" : 4860.0,
                        "revenue" : 12660.0,
                        "cost" : 8000.0,
                        "profit" : 4660.0,
                        "roi" : 58.3
                      } ],
                      "offset" : 0
                    }
                  },
                  "filtered-by-campaign" : {
                    "summary" : "200 response when filtered to one campaign and grouped by countryCode",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 3,
                      "truncated" : false,
                      "rows" : [ {
                        "countryCode" : "US",
                        "countryName" : "United States",
                        "visits" : 8230,
                        "clicks" : 6541,
                        "conversions" : 142,
                        "revenue" : 4260.0,
                        "cost" : 2980.0,
                        "profit" : 1280.0
                      }, {
                        "countryCode" : "CA",
                        "countryName" : "Canada",
                        "visits" : 2150,
                        "clicks" : 1720,
                        "conversions" : 28,
                        "revenue" : 840.0,
                        "cost" : 770.0,
                        "profit" : 70.0
                      }, {
                        "countryCode" : "GB",
                        "countryName" : "United Kingdom",
                        "visits" : 2070,
                        "clicks" : 1560,
                        "conversions" : 17,
                        "revenue" : 510.0,
                        "cost" : 738.0,
                        "profit" : -228.0
                      } ],
                      "offset" : 0
                    }
                  },
                  "paginated" : {
                    "summary" : "200 response showing pagination state (offset=100, limit=50 of 312 total)",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 50,
                      "totalRows" : 312,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567101",
                        "campaignName" : "Campaign #101",
                        "visits" : 1240,
                        "clicks" : 998,
                        "conversions" : 12,
                        "revenue" : 360.0
                      }, {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567102",
                        "campaignName" : "Campaign #102",
                        "visits" : 1180,
                        "clicks" : 941,
                        "conversions" : 9,
                        "revenue" : 270.0
                      } ],
                      "offset" : 100
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Exports individual conversion events in CSV format.",
        "description" : "Same data as GET /report/conversions but returned as CSV.\nSame parameter rules apply: no groupBy, no conversionTimeMode, no include.\n",
        "parameters" : [ {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response (required). This is a repeated query parameter — use\n *column=visits&column=clicks*, NOT comma-separated.\nSee GET /report 'column' parameter documentation for the full list of available columns, or\n call GET /column/info for runtime discovery.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "filter1",
          "in" : "query",
          "description" : "Drilldown filter dimension — a dimension column to filter the report by an EXACT value,\n e.g. *campaignId*. Pair with *filter1Value*. This is the correct, server-side way to\n scope a report to a single entity by id; the *filter* parameter only does free-text\n name search, which is fragile and can match the wrong row.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2",
          "in" : "query",
          "description" : "Second drilldown filter dimension (optional), e.g. *countryCode*. Pair with *filter2Value*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter1Value",
          "in" : "query",
          "description" : "Exact value for *filter1*, e.g. the campaign id. Returns only rows matching this value.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency code for monetary values in the response, e.g. USD, EUR, GBP. Default: USD.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\n**Default:** start of the next hour in the request timezone (e.g. if current time is 14:30, default\n *to* is 15:00). This means omitting *to* gives you data up to the current hour.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day). Common mistake: setting\n *to=2026-03-05T00:00:00Z* returns zero results for March 5.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter2Value",
          "in" : "query",
          "description" : "Exact value for *filter2*.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Conversion report data in CSV format."
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/conversions/async" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Submits a conversion report request and returns empty response. Report will arrive via email",
        "parameters" : [ {
          "name" : "filter",
          "in" : "query",
          "description" : "Text filter for specified columns",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "emails",
          "in" : "query",
          "description" : "Email to be sent the report to. Multiple emails.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns to return",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency, default value is USD",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Grouping column",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace ids to filter by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/conversions/async/scheduled" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Submits a scheduled conversion report request and returns empty response. Reports will arrive via email",
        "parameters" : [ {
          "name" : "reportName",
          "in" : "query",
          "description" : "Custom report name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns to return",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "groupBy",
          "in" : "query",
          "description" : "Grouping column",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endAtMidnight",
          "in" : "query",
          "description" : "Whether the scheduled report time range should end at midnight or at client specified time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Text filter for specified columns",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executeAt",
          "in" : "query",
          "description" : "Specifies when the scheduled report should be calculated",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "emails",
          "in" : "query",
          "description" : "Email to be sent the report to. Multiple emails.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "currency",
          "in" : "query",
          "description" : "Currency, default value is USD",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "rangeHours",
          "in" : "query",
          "description" : "Scheduled report time range in hours",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace ids to filter by",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/report/cost" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Updates cost for selected campaigns",
        "requestBody" : {
          "description" : "Cost update requests",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/com_codewise_voluum_reports_api_model_cost_CostUpdateRequestCollection"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Cost update response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/com_codewise_voluum_reports_api_model_cost_CostUpdateResponse"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/report/dryrun/{campaignId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns dry run report for testing campaign configuration.",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign ID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response. Repeated query parameter — use *column=visits&column=clicks*,\n NOT comma-separated.\n\n**Volume:** *visits*, *clicks*, *conversions*, *impressions*, *uniqueVisits*, *uniqueClicks*\n\n**Financial:** *revenue*, *cost*, *profit*\n\n**Rate/efficiency metrics (with formulas):**\n\n| Column | Formula | Note |\n|---|---|---|\n| *ctr* | clicks / visits | Lander effectiveness. Always 0 for direct-linking campaigns |\n| *cr* | conversions / clicks | Offer quality. Always 0 for direct-linking campaigns |\n| *cv* | conversions / visits | End-to-end funnel. The only rate metric valid for both lander and direct-linking |\n| *roi* | (revenue-cost) / cost | Percentage, e.g. 125.0 = 125% ROI |\n| *cpa* | cost / conversions | Cost per acquisition |\n| *epv* | revenue / visits | Earnings per visit |\n| *epc* | revenue / clicks | Always 0 for direct-linking campaigns |\n| *cpv* | cost / visits | Cost per visit |\n| *cpc* | cost / clicks | Cost per click |\n\nOther rate metrics: *ecpa*, *ecpc*, *ecpm*, *cpm*, *ap*, *rpm*, *sctr*, *ictr*, *viewRate*\n\n**Quality:** *suspiciousVisits*, *suspiciousClicks*, *robotVisits*\n\n**Entity names:** *campaignName*, *offerName*, *landerName*, *trafficSourceName*, *affiliateNetworkName*,\n *countryName*, *deviceName*, *connectionTypeName*, *languageName*, *flowName*\n\n**Custom:** *customConversions1*-*20*, *customRevenue1*-*20* (discover via *GET /custom-conversions*).\n User-defined derived metrics (discover via *GET /custom-columns*).\n\nTo discover all available columns at runtime, call *GET /column/info*.\n",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Aggregated report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 response — two campaigns, core metrics populated",
                    "value" : {
                      "offset" : 0,
                      "messages" : [ ],
                      "totals" : {
                        "visits" : 21380,
                        "clicks" : 16925,
                        "conversions" : 311,
                        "revenue" : 9330.0,
                        "cost" : 7662.0,
                        "profit" : 1668.0,
                        "roi" : 21.8
                      },
                      "truncated" : false,
                      "totalRows" : 2,
                      "limit" : 100,
                      "columnMappings" : [ {
                        "label" : "Campaign ID",
                        "type" : "ID",
                        "key" : "campaignId"
                      }, {
                        "label" : "Campaign Name",
                        "type" : "STRING",
                        "key" : "campaignName"
                      }, {
                        "label" : "Visits",
                        "type" : "INTEGER",
                        "key" : "visits"
                      }, {
                        "label" : "Clicks",
                        "type" : "INTEGER",
                        "key" : "clicks"
                      }, {
                        "label" : "Conversions",
                        "type" : "INTEGER",
                        "key" : "conversions"
                      }, {
                        "label" : "Revenue",
                        "type" : "DECIMAL",
                        "key" : "revenue"
                      }, {
                        "label" : "Cost",
                        "type" : "DECIMAL",
                        "key" : "cost"
                      }, {
                        "label" : "Profit",
                        "type" : "DECIMAL",
                        "key" : "profit"
                      }, {
                        "label" : "ROI",
                        "type" : "PERCENT",
                        "key" : "roi"
                      } ],
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "US / iOS / MyOffer",
                        "visits" : 12450,
                        "clicks" : 9821,
                        "conversions" : 187,
                        "revenue" : 5610.0,
                        "cost" : 4488.0,
                        "profit" : 1122.0,
                        "roi" : 25.0
                      }, {
                        "campaignId" : "8a4b2c8a-9b1d-4e3f-a5c7-1234567890cd",
                        "campaignName" : "EU / Android / MyOffer",
                        "visits" : 8930,
                        "clicks" : 7104,
                        "conversions" : 124,
                        "revenue" : 3720.0,
                        "cost" : 3174.0,
                        "profit" : 546.0,
                        "roi" : 17.2
                      } ]
                    }
                  },
                  "with-custom-conversions" : {
                    "summary" : "200 response showing customConversionsN and customRevenueN columns populated",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 1,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "Gaming / Casino / Brand X",
                        "visits" : 50000,
                        "clicks" : 41200,
                        "conversions" : 320,
                        "customConversions1" : 215,
                        "customConversions2" : 78,
                        "customConversions3" : 27,
                        "customRevenue1" : 0.0,
                        "customRevenue2" : 7800.0,
                        "customRevenue3" : 4860.0,
                        "revenue" : 12660.0,
                        "cost" : 8000.0,
                        "profit" : 4660.0,
                        "roi" : 58.3
                      } ],
                      "offset" : 0
                    }
                  },
                  "filtered-by-campaign" : {
                    "summary" : "200 response when filtered to one campaign and grouped by countryCode",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 3,
                      "truncated" : false,
                      "rows" : [ {
                        "countryCode" : "US",
                        "countryName" : "United States",
                        "visits" : 8230,
                        "clicks" : 6541,
                        "conversions" : 142,
                        "revenue" : 4260.0,
                        "cost" : 2980.0,
                        "profit" : 1280.0
                      }, {
                        "countryCode" : "CA",
                        "countryName" : "Canada",
                        "visits" : 2150,
                        "clicks" : 1720,
                        "conversions" : 28,
                        "revenue" : 840.0,
                        "cost" : 770.0,
                        "profit" : 70.0
                      }, {
                        "countryCode" : "GB",
                        "countryName" : "United Kingdom",
                        "visits" : 2070,
                        "clicks" : 1560,
                        "conversions" : 17,
                        "revenue" : 510.0,
                        "cost" : 738.0,
                        "profit" : -228.0
                      } ],
                      "offset" : 0
                    }
                  },
                  "paginated" : {
                    "summary" : "200 response showing pagination state (offset=100, limit=50 of 312 total)",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 50,
                      "totalRows" : 312,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567101",
                        "campaignName" : "Campaign #101",
                        "visits" : 1240,
                        "clicks" : 998,
                        "conversions" : 12,
                        "revenue" : 360.0
                      }, {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567102",
                        "campaignName" : "Campaign #102",
                        "visits" : 1180,
                        "clicks" : 941,
                        "conversions" : 9,
                        "revenue" : 270.0
                      } ],
                      "offset" : 100
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/errors" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns errors report.",
        "description" : "Returns error events that occurred during visit/click/conversion processing.\nUseful for diagnosing tracking issues, broken redirects, postback failures, and offer-side\n errors.\n\nDate range uses the same half-open [from, to) semantics as GET /report.\n",
        "parameters" : [ {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination offset (zero-based). Default: 0.",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum rows to return per request. **Default: 100.** Values above the per-account cap are\n silently capped; *totalRows* always reflects the true count. Use *offset* to page through.\n",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**, required). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day).\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Aggregated report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 response — two campaigns, core metrics populated",
                    "value" : {
                      "offset" : 0,
                      "messages" : [ ],
                      "totals" : {
                        "visits" : 21380,
                        "clicks" : 16925,
                        "conversions" : 311,
                        "revenue" : 9330.0,
                        "cost" : 7662.0,
                        "profit" : 1668.0,
                        "roi" : 21.8
                      },
                      "truncated" : false,
                      "totalRows" : 2,
                      "limit" : 100,
                      "columnMappings" : [ {
                        "label" : "Campaign ID",
                        "type" : "ID",
                        "key" : "campaignId"
                      }, {
                        "label" : "Campaign Name",
                        "type" : "STRING",
                        "key" : "campaignName"
                      }, {
                        "label" : "Visits",
                        "type" : "INTEGER",
                        "key" : "visits"
                      }, {
                        "label" : "Clicks",
                        "type" : "INTEGER",
                        "key" : "clicks"
                      }, {
                        "label" : "Conversions",
                        "type" : "INTEGER",
                        "key" : "conversions"
                      }, {
                        "label" : "Revenue",
                        "type" : "DECIMAL",
                        "key" : "revenue"
                      }, {
                        "label" : "Cost",
                        "type" : "DECIMAL",
                        "key" : "cost"
                      }, {
                        "label" : "Profit",
                        "type" : "DECIMAL",
                        "key" : "profit"
                      }, {
                        "label" : "ROI",
                        "type" : "PERCENT",
                        "key" : "roi"
                      } ],
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "US / iOS / MyOffer",
                        "visits" : 12450,
                        "clicks" : 9821,
                        "conversions" : 187,
                        "revenue" : 5610.0,
                        "cost" : 4488.0,
                        "profit" : 1122.0,
                        "roi" : 25.0
                      }, {
                        "campaignId" : "8a4b2c8a-9b1d-4e3f-a5c7-1234567890cd",
                        "campaignName" : "EU / Android / MyOffer",
                        "visits" : 8930,
                        "clicks" : 7104,
                        "conversions" : 124,
                        "revenue" : 3720.0,
                        "cost" : 3174.0,
                        "profit" : 546.0,
                        "roi" : 17.2
                      } ]
                    }
                  },
                  "with-custom-conversions" : {
                    "summary" : "200 response showing customConversionsN and customRevenueN columns populated",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 1,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "Gaming / Casino / Brand X",
                        "visits" : 50000,
                        "clicks" : 41200,
                        "conversions" : 320,
                        "customConversions1" : 215,
                        "customConversions2" : 78,
                        "customConversions3" : 27,
                        "customRevenue1" : 0.0,
                        "customRevenue2" : 7800.0,
                        "customRevenue3" : 4860.0,
                        "revenue" : 12660.0,
                        "cost" : 8000.0,
                        "profit" : 4660.0,
                        "roi" : 58.3
                      } ],
                      "offset" : 0
                    }
                  },
                  "filtered-by-campaign" : {
                    "summary" : "200 response when filtered to one campaign and grouped by countryCode",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 3,
                      "truncated" : false,
                      "rows" : [ {
                        "countryCode" : "US",
                        "countryName" : "United States",
                        "visits" : 8230,
                        "clicks" : 6541,
                        "conversions" : 142,
                        "revenue" : 4260.0,
                        "cost" : 2980.0,
                        "profit" : 1280.0
                      }, {
                        "countryCode" : "CA",
                        "countryName" : "Canada",
                        "visits" : 2150,
                        "clicks" : 1720,
                        "conversions" : 28,
                        "revenue" : 840.0,
                        "cost" : 770.0,
                        "profit" : 70.0
                      }, {
                        "countryCode" : "GB",
                        "countryName" : "United Kingdom",
                        "visits" : 2070,
                        "clicks" : 1560,
                        "conversions" : 17,
                        "revenue" : 510.0,
                        "cost" : 738.0,
                        "profit" : -228.0
                      } ],
                      "offset" : 0
                    }
                  },
                  "paginated" : {
                    "summary" : "200 response showing pagination state (offset=100, limit=50 of 312 total)",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 50,
                      "totalRows" : 312,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567101",
                        "campaignName" : "Campaign #101",
                        "visits" : 1240,
                        "clicks" : 998,
                        "conversions" : 12,
                        "revenue" : 360.0
                      }, {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567102",
                        "campaignName" : "Campaign #102",
                        "visits" : 1180,
                        "clicks" : 941,
                        "conversions" : 9,
                        "revenue" : 270.0
                      } ],
                      "offset" : 100
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Exports error events in CSV format.",
        "parameters" : [ {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "column",
          "in" : "query",
          "description" : "Columns to include in the response (required). This is a repeated query parameter — use\n *column=visits&column=clicks*, NOT comma-separated.\nSee GET /report 'column' parameter documentation for the full list of available columns, or\n call GET /column/info for runtime discovery.\n",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**, required). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day).\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Errors data in CSV format."
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/errors/category" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns errors grouped by error category.",
        "description" : "Returns error events aggregated by error category, providing a high-level view of which types\n of errors are most frequent.\n",
        "parameters" : [ {
          "name" : "filter",
          "in" : "query",
          "description" : "Free-text substring search over NAME columns only (campaignName, offerName, ...).\n NOT for ids and NOT exact — a fragment can match several rows or none. To scope a\n report to a specific entity by id, use the drilldown filters *filter1*/*filter1Value*\n (e.g. filter1=campaignId, filter1Value=<id>); never put an id here.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination offset (zero-based). Default: 0.",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum rows to return per request. **Default: 100.** Values above the per-account cap are\n silently capped; *totalRows* always reflects the true count. Use *offset* to page through.\n",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "Start date/time (**inclusive**, required). ISO 8601 format, e.g. *2026-03-01T00:00:00Z*.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nThe date range is half-open *[from, to)* — 'from' is included in results.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "End date/time (**EXCLUSIVE**, required). ISO 8601 format. The date range is half-open *[from, to)* — 'to' is\n NOT included.\n\nMust be aligned to an hour boundary — minutes and seconds must be zero.\n\nTo query the full day of March 5, set *to=2026-03-06T00:00:00Z* (next day).\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Column name to sort by. Can be any valid metric or dimension column. Default: visits.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaces",
          "in" : "query",
          "description" : "Workspace IDs to filter by. Only returns data for campaigns in the specified workspaces.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction. Default: desc (descending).",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Aggregated report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 response — two campaigns, core metrics populated",
                    "value" : {
                      "offset" : 0,
                      "messages" : [ ],
                      "totals" : {
                        "visits" : 21380,
                        "clicks" : 16925,
                        "conversions" : 311,
                        "revenue" : 9330.0,
                        "cost" : 7662.0,
                        "profit" : 1668.0,
                        "roi" : 21.8
                      },
                      "truncated" : false,
                      "totalRows" : 2,
                      "limit" : 100,
                      "columnMappings" : [ {
                        "label" : "Campaign ID",
                        "type" : "ID",
                        "key" : "campaignId"
                      }, {
                        "label" : "Campaign Name",
                        "type" : "STRING",
                        "key" : "campaignName"
                      }, {
                        "label" : "Visits",
                        "type" : "INTEGER",
                        "key" : "visits"
                      }, {
                        "label" : "Clicks",
                        "type" : "INTEGER",
                        "key" : "clicks"
                      }, {
                        "label" : "Conversions",
                        "type" : "INTEGER",
                        "key" : "conversions"
                      }, {
                        "label" : "Revenue",
                        "type" : "DECIMAL",
                        "key" : "revenue"
                      }, {
                        "label" : "Cost",
                        "type" : "DECIMAL",
                        "key" : "cost"
                      }, {
                        "label" : "Profit",
                        "type" : "DECIMAL",
                        "key" : "profit"
                      }, {
                        "label" : "ROI",
                        "type" : "PERCENT",
                        "key" : "roi"
                      } ],
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "US / iOS / MyOffer",
                        "visits" : 12450,
                        "clicks" : 9821,
                        "conversions" : 187,
                        "revenue" : 5610.0,
                        "cost" : 4488.0,
                        "profit" : 1122.0,
                        "roi" : 25.0
                      }, {
                        "campaignId" : "8a4b2c8a-9b1d-4e3f-a5c7-1234567890cd",
                        "campaignName" : "EU / Android / MyOffer",
                        "visits" : 8930,
                        "clicks" : 7104,
                        "conversions" : 124,
                        "revenue" : 3720.0,
                        "cost" : 3174.0,
                        "profit" : 546.0,
                        "roi" : 17.2
                      } ]
                    }
                  },
                  "with-custom-conversions" : {
                    "summary" : "200 response showing customConversionsN and customRevenueN columns populated",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 1,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
                        "campaignName" : "Gaming / Casino / Brand X",
                        "visits" : 50000,
                        "clicks" : 41200,
                        "conversions" : 320,
                        "customConversions1" : 215,
                        "customConversions2" : 78,
                        "customConversions3" : 27,
                        "customRevenue1" : 0.0,
                        "customRevenue2" : 7800.0,
                        "customRevenue3" : 4860.0,
                        "revenue" : 12660.0,
                        "cost" : 8000.0,
                        "profit" : 4660.0,
                        "roi" : 58.3
                      } ],
                      "offset" : 0
                    }
                  },
                  "filtered-by-campaign" : {
                    "summary" : "200 response when filtered to one campaign and grouped by countryCode",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 100,
                      "totalRows" : 3,
                      "truncated" : false,
                      "rows" : [ {
                        "countryCode" : "US",
                        "countryName" : "United States",
                        "visits" : 8230,
                        "clicks" : 6541,
                        "conversions" : 142,
                        "revenue" : 4260.0,
                        "cost" : 2980.0,
                        "profit" : 1280.0
                      }, {
                        "countryCode" : "CA",
                        "countryName" : "Canada",
                        "visits" : 2150,
                        "clicks" : 1720,
                        "conversions" : 28,
                        "revenue" : 840.0,
                        "cost" : 770.0,
                        "profit" : 70.0
                      }, {
                        "countryCode" : "GB",
                        "countryName" : "United Kingdom",
                        "visits" : 2070,
                        "clicks" : 1560,
                        "conversions" : 17,
                        "revenue" : 510.0,
                        "cost" : 738.0,
                        "profit" : -228.0
                      } ],
                      "offset" : 0
                    }
                  },
                  "paginated" : {
                    "summary" : "200 response showing pagination state (offset=100, limit=50 of 312 total)",
                    "value" : {
                      "messages" : [ ],
                      "limit" : 50,
                      "totalRows" : 312,
                      "truncated" : false,
                      "rows" : [ {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567101",
                        "campaignName" : "Campaign #101",
                        "visits" : 1240,
                        "clicks" : 998,
                        "conversions" : 12,
                        "revenue" : 360.0
                      }, {
                        "campaignId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567102",
                        "campaignName" : "Campaign #102",
                        "visits" : 1180,
                        "clicks" : 941,
                        "conversions" : 9,
                        "revenue" : 270.0
                      } ],
                      "offset" : 100
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/live/clicks/{campaignId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns real-time click events for a campaign.",
        "description" : "Returns the most recent click events for the specified campaign in real time.\nOnly applicable to campaigns with a lander — direct-linking campaigns never record clicks.\n",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign ID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Real-time event data for a specific campaign. Contains the most recent visit or click events as they occur.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportLiveResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/report/live/visits/{campaignId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Returns real-time visit events for a campaign.",
        "description" : "Returns the most recent visit events for the specified campaign in real time.\nUseful for verifying that a campaign is receiving traffic and for live monitoring.\n",
        "parameters" : [ {
          "name" : "campaignId",
          "in" : "path",
          "description" : "Campaign ID",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone for date aggregation, e.g. 'America/New_York', 'Europe/Warsaw', or 'Etc/GMT'.\nDefault: Etc/GMT. Affects how day, dayOfWeek, and hourOfDay boundaries are calculated.\n",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Real-time event data for a specific campaign. Contains the most recent visit or click events as they occur.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/reports_ReportLiveResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/setup" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves client setup.",
        "responses" : {
          "200" : {
            "description" : "Client setup.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_setup_SetupResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "patch" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates client setup.",
        "requestBody" : {
          "description" : "Client setup update request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_setup_SetupUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Client setup.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_setup_SetupResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/shared-report" : {
      "get" : {
        "tags" : [ "Shared reports" ],
        "summary" : "List shared reports",
        "responses" : {
          "200" : {
            "description" : "List of shared reports",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/sharedreports_SharedReportsCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Shared reports" ],
        "summary" : "Create shared report",
        "requestBody" : {
          "description" : "Shared report request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/sharedreports_SharedReportsCreateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Shared report response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/sharedreports_SharedReportsResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/shared-report/report/{id}" : {
      "get" : {
        "tags" : [ "Shared reports" ],
        "summary" : "Show shared report",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Shared report id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Page offset",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns visible in report",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Page limit",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Standard report data.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/sharedreports_SharedReportsResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Shared reports" ],
        "summary" : "Show shared report in CSV format",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Shared report id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "columns",
          "in" : "query",
          "description" : "Columns visible in report",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Sort column",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "Sort direction",
          "required" : false,
          "schema" : {
            "type" : "string",
            "enum" : [ "ASC", "DESC" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Report data in CSV format."
          }
        },
        "deprecated" : false
      }
    },
    "/shared-report/{id}" : {
      "get" : {
        "tags" : [ "Shared reports" ],
        "summary" : "Get shared report",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Shared report id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Shared report response",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/sharedreports_SharedReportsResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Shared reports" ],
        "summary" : "Delete shared report",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Shared report id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/startup" : {
      "get" : {
        "tags" : [ "Session" ],
        "summary" : "Session-start context bundle (workspaces, custom conversions, custom columns, user, conversion-time mode default, tracker setup).",
        "description" : "Context bundle for session start. Call once per session and cache for the\nlifetime — state changes rarely.\n\n## Envelope shape\n\n```\n{\n  \"responses\": {\n    \"<key>\": {\n      \"status\":     <HTTP status, integer>,\n      \"statusText\": \"...\",\n      \"body\":       <deserialized JSON when status is 2xx; null otherwise>\n    },\n    ...\n  }\n}\n```\n\nEach sub-response carries its own HTTP status; the envelope itself is\n**always 200** even when sub-responses fail. **Inspect each\n`responses.<key>.status` — checking only the envelope status treats partial\nfailures as success.**\n\n## Sub-responses relevant to API and MCP clients\n\n| Key | Carries |\n|---|---|\n| `user` | `id`, `email`, `timezone`, `defaultClientId` |\n| `workspaces.workspaces[]` | `{id, name, ...}` — ids accepted by the `workspaces` parameter on `/report` |\n| `customConversions.customConversions[]` | cc1..cc20 with `{index, name, removed, ...}` — filter `!removed`; maps to `customConversions1`..`20` and `customRevenue1`..`20` report columns |\n| `customColumns.customColumnsDefinitions[]` | User-defined derived metrics: `{name, label, format, expression, ...}`. Pass `name` as a `column` value on `/report`. `format` (`DECIMAL`/`PERCENT`/`INTEGER`) drives rendering; `expression` is the formula tree. Referencing an unknown name returns an error |\n| `preferences.reportPreference.conversionRegistrationTime` | `VISIT` or `CONVERSION` — default for the `conversionTimeMode` parameter on `/report` |\n| `setup.urls` | Tracker URL templates (`clickUrl`, `multiOfferClickUrl`, `postbackUrl`, `securePostbackUrl`, `trackingPixelUrl`, `trackingScriptUrl`). Use to validate a reported-broken URL against the canonical template |\n| `setup.domains` | `redirectDomain` (active), `defaultRedirectDomain` (fallback), plus `dedicatedDomains[]` / `internalDomains[]` / `customDomains[]`. Each entry: `address`, `mainDomain`, `sslStatus`, plus `workspaceIds` (dedicated/custom only) — the field that answers \"why does this domain work for workspace A but not B\" |\n\nThe envelope also contains panel-only sub-responses (UI prefs, onboarding,\nbilling notifications, etc.). Ignore unrecognized keys; the set may change\nwithout notice.\n\n## What `/startup` does NOT contain\n\nFetch separately:\n- **Traffic sources catalog** — `GET /traffic-source`. Each entry's\n  `customVariables[]` array carries the per-slot labels and URL parameter\n  names needed to interpret `customVariable1`..`10` report columns.\n- **Affiliate networks catalog** — `GET /affiliate-network`.\n- **Current usage counts** — no aggregate endpoint; use list endpoints'\n  `totalRows`.\n",
        "parameters" : [ {
          "name" : "invitationId",
          "in" : "query",
          "description" : "Invitation token. When supplied, an `invitation` sub-response is added to the envelope.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Session-start context envelope (sub-responses keyed by name).",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/agricall_GraphResponseCollectionResource"
                },
                "examples" : {
                  "typical" : {
                    "summary" : "Typical 200 envelope (trimmed — only API-relevant sub-responses shown)",
                    "value" : {
                      "responses" : {
                        "customColumns" : {
                          "statusText" : "",
                          "body" : {
                            "customColumnsDefinitions" : [ {
                              "name" : "MyROI",
                              "expression" : {
                                "type" : "binaryOperand",
                                "left" : {
                                  "name" : "profit",
                                  "type" : "column"
                                },
                                "operation" : "DIVISION",
                                "right" : {
                                  "name" : "cost",
                                  "type" : "column"
                                }
                              },
                              "format" : "PERCENT",
                              "label" : "My ROI"
                            } ]
                          },
                          "status" : 200
                        },
                        "customConversions" : {
                          "statusText" : "",
                          "body" : {
                            "customConversions" : [ {
                              "index" : 1,
                              "removed" : false,
                              "name" : "lead"
                            }, {
                              "index" : 2,
                              "removed" : false,
                              "name" : "sale"
                            }, {
                              "index" : 3,
                              "removed" : false,
                              "name" : "deposit"
                            } ]
                          },
                          "status" : 200
                        },
                        "user" : {
                          "statusText" : "",
                          "body" : {
                            "id" : "757fd15e-436f-4c78-bd8d-c31bbd564d59",
                            "timezone" : "Europe/Berlin",
                            "defaultClientId" : "3bf559d3-76a4-46a0-b77f-fb8669474c3d",
                            "email" : "user@example.com"
                          },
                          "status" : 200
                        },
                        "workspaces" : {
                          "statusText" : "",
                          "body" : {
                            "workspaces" : [ {
                              "name" : "Default workspace",
                              "id" : "0d5c852b-72d4-4332-8d8d-a3b729078a57"
                            } ]
                          },
                          "status" : 200
                        },
                        "setup" : {
                          "statusText" : "",
                          "body" : {
                            "urls" : {
                              "postbackUrl" : "http://track.example.com/postback?cid=REPLACE&payout=OPTIONAL",
                              "trackingPixelUrl" : "https://track.example.com/conversion.gif?cid=OPTIONAL",
                              "clickUrl" : "https://track.example.com/click"
                            },
                            "domains" : {
                              "dedicatedDomains" : [ {
                                "workspaceIds" : [ "0d5c852b-72d4-4332-8d8d-a3b729078a57" ],
                                "sslStatus" : "ACTIVE",
                                "mainDomain" : true,
                                "address" : "track.example.com"
                              } ],
                              "defaultRedirectDomain" : "track.example.com",
                              "redirectDomain" : "track.example.com",
                              "customDomains" : [ {
                                "workspaceIds" : [ "0d5c852b-72d4-4332-8d8d-a3b729078a57" ],
                                "sslStatus" : "PENDING",
                                "mainDomain" : true,
                                "address" : "track.customer.com"
                              } ]
                            }
                          },
                          "status" : 200
                        },
                        "preferences" : {
                          "statusText" : "",
                          "body" : {
                            "reportPreference" : {
                              "conversionRegistrationTime" : "VISIT"
                            }
                          },
                          "status" : 200
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      }
    },
    "/tag" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves all tags for a given clientId and entityType starting with tagPrefix.",
        "parameters" : [ {
          "name" : "tagPrefix",
          "in" : "query",
          "description" : "Prefix of tags",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Pagination: results offset",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "entityType",
          "in" : "query",
          "description" : "Type of teh entity",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Pagination: max number of tags",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Tags",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tag_TagCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-log" : {
      "post" : {
        "tags" : [ "Traffic log" ],
        "summary" : "Self-explanatory.",
        "parameters" : [ {
          "name" : "emails",
          "in" : "query",
          "description" : "Email to be sent the report to. Multiple emails.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "campaignId",
          "in" : "query",
          "description" : "Campaign ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tz",
          "in" : "query",
          "description" : "Time zone",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "from",
          "in" : "query",
          "description" : "From date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "to",
          "in" : "query",
          "description" : "To date/time",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "ID of the newly created Traffic Log request. Poll GET /traffic-log/{id} to check the status and obtain the download link once the report is ready."
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-log/{id}" : {
      "get" : {
        "tags" : [ "Traffic log" ],
        "summary" : "Returns the status of a Traffic Log request. Poll this endpoint until the status is READY, at which point the response contains the download link to the generated report.",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "TrafficLog Request id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Traffic Log request status and download link.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficlog_TrafficLogRequestResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Traffic log" ],
        "summary" : "Self-explanatory.",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "TrafficLog Request id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : ""
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-log/{id}/access-link" : {
      "get" : {
        "tags" : [ "Traffic log" ],
        "summary" : "Deprecated: returns the access link as plain text. Use GET /traffic-log/{id} instead, which returns a JSON model with the request status and the access link.",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "TrafficLog Request id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Traffic log report access link"
          }
        },
        "deprecated" : true
      }
    },
    "/traffic-source" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Returns all traffic sources with their configuration.",
        "description" : "Returns the list of traffic sources configured in the account, including their\ncustom variable name mappings, postback URLs, and cost tracking settings.\n\n## Custom variable names\n\nEach traffic source defines customVariable1Name through customVariable10Name,\nwhich give meaning to the customVariable1-10 dimensions in reports.\nThe same index can mean completely different things on different traffic sources\n(e.g. customVariable1 might be \"Site ID\" on one source and \"Keyword\" on another).\n\nRead the variable name mappings from this endpoint before interpreting\ngroupBy=customVariable{N} report data. Cache the result — it rarely changes.\n\n## Other fields relevant to report analysis\n\n- postbackUrl — the URL used to fire conversions back to the traffic source\n- costVariable — if present, the source passes cost data automatically\n",
        "parameters" : [ {
          "name" : "If-Modified-Since",
          "in" : "header",
          "description" : "If the requested variant has not been modified since the time specified in this field, an entity will not be returned from the server; instead, a 304 (not modified) response will be returned without any message-body.",
          "required" : false,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          }
        }, {
          "name" : "includeDeleted",
          "in" : "query",
          "description" : "Whether deleted entities should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of Traffic Sources.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false,
        "x-read-only" : true
      },
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Creates a traffic source.",
        "requestBody" : {
          "description" : "Traffic Source update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/trafficsource_TrafficSourceUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Traffic Source.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "delete" : {
        "tags" : [ "Tracker" ],
        "summary" : "Archives traffic source(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of archive operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_ArchiveResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-source-template" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves traffic source templates.",
        "responses" : {
          "200" : {
            "description" : "List of Traffic Source templates.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceTemplateCollectionResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-source/change-workspace" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Changes workspace for traffic sources.",
        "requestBody" : {
          "description" : "Workspace change request.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Workspace change result.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-source/common" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves a traffic source if all campaigns use the same one.",
        "requestBody" : {
          "description" : "Campaign ids list.",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/campaign_CampaignUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Traffic Source.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-source/restore" : {
      "post" : {
        "tags" : [ "Tracker" ],
        "summary" : "Restores traffic source(s).",
        "requestBody" : {
          "description" : "Collection of UUIDs",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/common_UuidCollectionResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A result of restore operation.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/core_archive_RestoreResultResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/traffic-source/{trafficSourceId}" : {
      "get" : {
        "tags" : [ "Tracker" ],
        "summary" : "Retrieves a traffic source.",
        "parameters" : [ {
          "name" : "trafficSourceId",
          "in" : "path",
          "description" : "Traffic Source Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Names of the fields that should be included in the response.",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A Traffic Source.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      },
      "put" : {
        "tags" : [ "Tracker" ],
        "summary" : "Updates a traffic source.",
        "parameters" : [ {
          "name" : "trafficSourceId",
          "in" : "path",
          "description" : "Traffic Source Id.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Traffic Source update request",
          "content" : {
            "application/json; charset=utf-8" : {
              "schema" : {
                "$ref" : "#/components/schemas/trafficsource_TrafficSourceUpdateResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "A Traffic Source.",
            "content" : {
              "application/json; charset=utf-8" : {
                "schema" : {
                  "$ref" : "#/components/schemas/trafficsource_TrafficSourceResource"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    }
  },
  "components" : {
    "schemas" : {
      "payment_profile_PaymentProfileUpdateResource" : {
        "required" : [ "paymentMethod" ],
        "properties" : {
          "paymentMethod" : {
            "$ref" : "#/components/schemas/payment_profile_PaymentMethodResource"
          },
          "deviceData" : {
            "type" : "string",
            "description" : "Device data"
          }
        },
        "description" : "Payment profile (method) update request."
      },
      "flow_FlowUpdateResource" : {
        "required" : [ "defaultPaths", "name" ],
        "properties" : {
          "conditionalPathsGroups" : {
            "type" : "array",
            "description" : "Conditional paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathGroupUpdateResource"
            }
          },
          "countries" : {
            "type" : "array",
            "description" : "List of countries. An optional choice that allows you to filter offers and landing pages",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_country_CountryCodeResource"
            }
          },
          "defaultOfferRedirectMode" : {
            "type" : "string",
            "description" : "Default redirect mode for flow. 302 ('REGULAR')  is a regular http redirect. Double Meta Refresh ('DOUBLE_HTML') should be used if you want to cloak your landing page URL",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          },
          "defaultPaths" : {
            "type" : "array",
            "description" : "Default paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathUpdateResource"
            }
          },
          "defaultPathsSmartRotation" : {
            "type" : "boolean",
            "description" : "Smart rotation enabled"
          },
          "name" : {
            "type" : "string",
            "description" : "Flow name"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "realtimeRoutingApi" : {
            "type" : "string",
            "description" : "Routing callbacks. Can be 'DISABLED' for whole flow, 'ENABLED' for whole flow, or enabled for selected paths -'PATHS'",
            "enum" : [ "DISABLED", "ENABLED", "PATHS" ]
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Flow."
      },
      "agricall_GraphResponseCollectionResource" : {
        "required" : [ "responses" ],
        "properties" : {
          "responses" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/agricall_GraphResponseResource"
            },
            "description" : "Responses"
          }
        },
        "description" : "Graph response collection."
      },
      "usermanagement_register_RegisterFromExternalPartnerResource" : {
        "required" : [ "email", "firstName", "lastName" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email address"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Phone number"
          }
        },
        "description" : "User registration request from external Traffic Source or Affiliate Network Partners"
      },
      "offer_cap_OfferCapConfigurationResource" : {
        "required" : [ "capType", "enabled", "limit", "replacementOfferId", "timeUnit", "timezone" ],
        "properties" : {
          "capType" : {
            "type" : "string",
            "description" : "Cap configuration type",
            "enum" : [ "CONVERSION", "CLICK" ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Enables/disables cap configuration"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Limit for an offer in affiliate network",
            "format" : "int32"
          },
          "replacementOfferId" : {
            "$ref" : "#/components/schemas/offer_OfferIdResource"
          },
          "timeUnit" : {
            "type" : "string",
            "description" : "Time unit for limit",
            "enum" : [ "DAY" ]
          },
          "timezone" : {
            "$ref" : "#/components/schemas/dictionary_time_TimezoneCodeResource"
          }
        },
        "description" : "Cap configuration for offer"
      },
      "core_setup_SetupUpdateResource" : {
        "properties" : {
          "domains" : {
            "$ref" : "#/components/schemas/core_setup_DomainSetupUpdateResource"
          },
          "realtimeRoutingApi" : {
            "$ref" : "#/components/schemas/core_setup_RealtimeRoutingApiSetupUpdateResource"
          },
          "rootRedirect" : {
            "$ref" : "#/components/schemas/core_setup_RootRedirectSetupResource"
          }
        },
        "description" : "Client setup update request."
      },
      "customconversion_cost_CustomConversionCostConfigurationResource" : {
        "required" : [ "customConversionCosts" ],
        "properties" : {
          "customConversionCosts" : {
            "type" : "array",
            "description" : "List of custom conversions costs",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_cost_CustomConversionCostResource"
            }
          }
        },
        "description" : "Custom conversions cost configuration"
      },
      "dictionary_language_LanguageCollectionResource" : {
        "required" : [ "languages" ],
        "properties" : {
          "languages" : {
            "type" : "array",
            "description" : "Languages",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_language_LanguageResource"
            }
          }
        },
        "description" : "List of languages."
      },
      "customconversion_cost_CustomConversionCostConfigurationUpdateResource" : {
        "required" : [ "customConversionCosts" ],
        "properties" : {
          "customConversionCosts" : {
            "type" : "array",
            "description" : "List of custom conversions costs",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_cost_CustomConversionCostUpdateResource"
            }
          }
        },
        "description" : "Custom conversions cost configuration"
      },
      "sharedreports_SharedReportsCreateResource" : {
        "required" : [ "name", "nameVisible", "report", "timeRangeVisible" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "nameVisible" : {
            "type" : "boolean",
            "description" : "Indicates name visibility"
          },
          "timeRangeVisible" : {
            "type" : "boolean",
            "description" : "Indicates Time Range Visibility"
          },
          "report" : {
            "$ref" : "#/components/schemas/sharedreports_ReportQueryResource"
          }
        },
        "description" : "Shared report request"
      },
      "usermanagement_register_RegisterOAuthResource" : {
        "required" : [ "authorizationCode", "commercialInformationConsent", "directMarketingConsent", "signUpPlan", "source" ],
        "properties" : {
          "authorizationCode" : {
            "type" : "string",
            "description" : "Authorization code"
          },
          "commercialInformationConsent" : {
            "type" : "boolean",
            "description" : "User consent for sending him commercial information"
          },
          "directMarketingConsent" : {
            "type" : "boolean",
            "description" : "User consent for direct marketing"
          },
          "initialCoupon" : {
            "type" : "string",
            "description" : "Initial coupon code"
          },
          "language" : {
            "type" : "string",
            "description" : "Language"
          },
          "redirectUri" : {
            "type" : "string",
            "description" : "Redirect URI"
          },
          "referrer" : {
            "type" : "string",
            "description" : "Referrer"
          },
          "signUpPlan" : {
            "type" : "string",
            "description" : "Plan chosen during registration process"
          },
          "source" : {
            "type" : "string",
            "description" : "Source"
          }
        },
        "description" : "User registration with OAuth"
      },
      "glass_DailyCapActionResultResponse" : {
        "required" : [ "dailyCap" ],
        "properties" : {
          "dailyCap" : {
            "type" : "number",
            "description" : "Daily cap value",
            "format" : "double"
          }
        },
        "description" : "Daily cap action result",
        "example" : {
          "dailyCap" : 50.0
        }
      },
      "usermanagement_ClientUpdateResource" : {
        "required" : [ "name", "phoneNumber" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Phone number"
          }
        },
        "description" : "User's client update request"
      },
      "trafficsource_TrafficSourceCollectionResource" : {
        "required" : [ "trafficSources" ],
        "properties" : {
          "trafficSources" : {
            "type" : "array",
            "description" : "Traffic Sources",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_TrafficSourceResource"
            }
          }
        },
        "description" : "List of Traffic Sources."
      },
      "billing_AdSpendStatisticsResource" : {
        "required" : [ "adSpend", "adSpendOverage", "adSpendOverageCost" ],
        "properties" : {
          "adSpend" : {
            "type" : "number",
            "description" : "Ad spend"
          },
          "adSpendOverage" : {
            "type" : "number",
            "description" : "Ad spend overage"
          },
          "adSpendOverageCost" : {
            "type" : "number",
            "description" : "Ad spend overage cost"
          }
        },
        "description" : "Ad spend statistics"
      },
      "glass_IntegrationCreateResource" : {
        "required" : [ "accountName", "authentication", "autoMappingEnabled", "estimateCost", "transferStatus", "type", "workspaceIds" ],
        "properties" : {
          "transferStatus" : {
            "type" : "string",
            "description" : "Initial transfer status",
            "enum" : [ "ACTIVE", "PAUSED" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Integration type",
            "enum" : [ "TABOOLA", "REVCONTENT", "GOOGLE_ADS", "EXOCLICK", "FACEBOOK", "PROPELLER_ADS", "MGID", "CLICKBANK", "ZEROPARK", "OUTBRAIN", "ADSTERRA", "TRAFFIC_JUNKY", "PUSHGROUND", "VOLUUM", "CLICKDEALER", "BING", "VERIZON", "AD_OPERATOR", "TIKTOK", "TONIC", "TRAFFIC_NOMADS", "ADCASH", "MONDIAD", "EVA_DAV", "TRAFFIC_STARS", "KELKOOGROUP", "MEDIA_GO", "YIELD_KIT", "CLICKADILLA", "CLICKADU", "NEWS_BREAK", "AFFILKA" ]
          },
          "authentication" : {
            "$ref" : "#/components/schemas/glass_AuthenticationResource"
          },
          "accountName" : {
            "type" : "string",
            "description" : "Account name"
          },
          "estimateCost" : {
            "type" : "boolean",
            "description" : "Estimate cost"
          },
          "autoMappingEnabled" : {
            "type" : "boolean",
            "description" : "Should campaigns be automatically mapped"
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Data source integration create resource",
        "example" : {
          "transferStatus" : "ACTIVE",
          "type" : "TABOOLA",
          "accountName" : "My Taboola Account",
          "estimateCost" : true,
          "autoMappingEnabled" : true,
          "workspaceIds" : [ "650deb12-14e9-480a-93d1-dcccb037d348" ]
        }
      },
      "glass_BidActionResultResponse" : {
        "required" : [ "bid", "target", "type" ],
        "properties" : {
          "bid" : {
            "type" : "number",
            "description" : "Bid value",
            "format" : "double"
          },
          "type" : {
            "type" : "string",
            "description" : "Bid value type (EXACT, COEFFICIENT)",
            "enum" : [ "EXACT", "COEFFICIENT" ]
          },
          "target" : {
            "type" : "string",
            "description" : "Target"
          }
        },
        "description" : "Bid action result",
        "example" : {
          "bid" : 0.15,
          "type" : "EXACT",
          "target" : "site_123"
        }
      },
      "trafficlog_TrafficLogRequestResource" : {
        "required" : [ "accessLink", "id", "status" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the Traffic Log request.",
            "format" : "uuid"
          },
          "status" : {
            "type" : "string",
            "description" : "Current status of the request:\nPROCESSING — the report is being generated, keep polling;\nREADY — the report is ready and accessLink is populated;\nFAILED — the report could not be generated, stop polling.",
            "enum" : [ "PROCESSING", "READY", "FAILED" ]
          },
          "accessLink" : {
            "type" : "string",
            "description" : "Download link to the generated report (CSV/ZIP).\nPopulated only once status is READY; null while processing or after a failure."
          }
        },
        "description" : "Traffic Log request status and download link.",
        "example" : {
          "id" : "3a0c6f5e-1b2d-4c3a-9e8f-0a1b2c3d4e5f",
          "status" : "READY",
          "accessLink" : "https://s3.amazonaws.com/voluum-traffic-logs/report.zip"
        }
      },
      "dictionary_time_TimezoneCodeResource" : {
        "required" : [ "code" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Timezone code"
          }
        },
        "description" : "A Timezone code."
      },
      "core_setup_UrlSetupResource" : {
        "required" : [ "clickUrl", "multiOfferClickUrl", "postbackUrl", "securePostbackUrl", "trackingPixelUrl", "trackingScriptUrl" ],
        "properties" : {
          "clickUrl" : {
            "type" : "string",
            "description" : "Click URL. Use if your landing page has a single offer placement (within which you can have one offer, or rotate many)"
          },
          "multiOfferClickUrl" : {
            "type" : "string",
            "description" : "Multi offer click URL. If your LP displays more than one offer, use the multi-offer click URL with the number at the end being the offer №. For example, if your landing page displays three offers, you'll need to add click links that end with /click/1, /click/2 and /click/3. "
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "Postback URL. Server-to-server postback URLs are the most secure and reliable method to count conversions. Use the URLs below to pass conversions from affiliate networks. "
          },
          "securePostbackUrl" : {
            "type" : "string",
            "description" : "Secure postback URL"
          },
          "trackingPixelUrl" : {
            "type" : "string",
            "description" : "Tracking pixel URL. In cases when your affiliate network only supports client-side pixels, you can use a conversion pixel or script. Conversion pixels are cookie-based and so you have to use the same domain for the cookie to work correctly. The cid is also stored in a cookie, so conversion tracking will still work if the parameter is missing. Consult your affiliate network documentation or support to find out how to specify conversion pixels in their web panel. The payout parameter is optional, if you do not use it, you can manually specify payout in the offer configuration."
          },
          "trackingScriptUrl" : {
            "type" : "string",
            "description" : "Tracking script URL. In cases when your affiliate network only supports client-side pixels, you can use a conversion pixel or script. Conversion pixels are cookie-based and so you have to use the same domain for the cookie to work correctly. The cid is also stored in a cookie, so conversion tracking will still work if the parameter is missing. Consult your affiliate network documentation or support to find out how to specify conversion pixels in their web panel. The payout parameter is optional, if you do not use it, you can manually specify payout in the offer configuration."
          }
        },
        "description" : "An Url Setup."
      },
      "glass_ChangeBidResource" : {
        "required" : [ "bid", "target", "type" ],
        "properties" : {
          "bid" : {
            "type" : "number",
            "description" : "Bid value",
            "format" : "double"
          },
          "type" : {
            "type" : "string",
            "description" : "Bid value type (EXACT, COEFFICIENT)",
            "enum" : [ "EXACT", "COEFFICIENT" ]
          },
          "target" : {
            "type" : "string",
            "description" : "Target"
          }
        },
        "description" : "Change bid resource ",
        "example" : {
          "bid" : 0.15,
          "type" : "EXACT",
          "target" : "site_123"
        }
      },
      "security_SessionCreateWithOAuthResource" : {
        "required" : [ "authorizationCode" ],
        "properties" : {
          "authorizationCode" : {
            "type" : "string",
            "description" : "Authorization code"
          },
          "redirectUri" : {
            "type" : "string",
            "description" : "Redirect URI"
          }
        },
        "description" : "Create session with OAuth"
      },
      "path_condition_OperatingSystemAndVersionResource" : {
        "required" : [ "operatingSystem", "version" ],
        "properties" : {
          "operatingSystem" : {
            "type" : "string",
            "description" : "Operating system name"
          },
          "version" : {
            "type" : "string",
            "description" : "Version"
          }
        },
        "description" : "An Operating System And Version."
      },
      "usermanagement_UserResource" : {
        "required" : [ "created", "currency", "defaultClientId", "email", "emailChangeInProgress", "firstName", "id", "lastName", "memberships", "mfaActive", "passwordSet", "preferredClientId", "role", "state", "timezone" ],
        "properties" : {
          "created" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "currency" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "defaultClientId" : {
            "type" : "string",
            "description" : "Default client id",
            "format" : "uuid"
          },
          "email" : {
            "type" : "string",
            "description" : "Email"
          },
          "emailChangeInProgress" : {
            "type" : "boolean",
            "description" : "Whether email change process is in progress"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "memberships" : {
            "type" : "array",
            "description" : "List of memberships",
            "items" : {
              "$ref" : "#/components/schemas/usermanagement_UserMembershipResource"
            }
          },
          "mfaActive" : {
            "type" : "boolean",
            "description" : "Whether MFA is active"
          },
          "passwordSet" : {
            "type" : "boolean",
            "description" : "Whether password has been set"
          },
          "preferredClientId" : {
            "type" : "string",
            "description" : "Preferred client id",
            "format" : "uuid"
          },
          "role" : {
            "type" : "string",
            "description" : "Role",
            "enum" : [ "ROLE_ADMIN", "ROLE_CLIENT_ADMIN", "ROLE_USER", "ROLE_DEMO" ]
          },
          "state" : {
            "type" : "string",
            "description" : "User account state",
            "enum" : [ "NEW", "INACTIVE", "ACTIVATED", "SUSPENDED", "DELETED" ]
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone",
            "format" : "time-zone"
          }
        },
        "description" : "User details"
      },
      "com_codewise_voluum_monitor_model_AvailableActionsQuery" : {
        "properties" : { },
        "description" : "Available actions query. Type determines the query variant: campaign, offer, customVar, campaignByTs, customVarByTs"
      },
      "reports_ColumnMappingCollectionResource" : {
        "required" : [ "columnMappings" ],
        "properties" : {
          "columnMappings" : {
            "type" : "array",
            "description" : "List of all available column definitions with their metadata.",
            "items" : {
              "$ref" : "#/components/schemas/reports_ColumnMappingResource"
            }
          }
        },
        "description" : "Metadata for all available report columns.\nUsed to discover valid groupBy dimensions (canGroupBy: true) and available metric columns (canGroupBy: false).\n",
        "example" : {
          "columnMappings" : [ {
            "label" : "Campaign ID",
            "type" : "string",
            "key" : "campaignId",
            "canBeRestricted" : false,
            "canGroupBy" : true
          } ]
        }
      },
      "com_codewise_voluum_monitor_model_AutoRuleAvailableIntervals" : {
        "required" : [ "availableIntervals", "validExcludedDurationsForReportHours" ],
        "properties" : {
          "availableIntervals" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "integer",
                "format" : "int32"
              }
            },
            "description" : "Available evaluation intervals (minutes to list of valid intervals)"
          },
          "validExcludedDurationsForReportHours" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "integer",
                "format" : "int32"
              }
            },
            "description" : "Valid excluded durations for report hours"
          }
        },
        "description" : "Auto rule available intervals",
        "example" : {
          "availableIntervals" : {
            "60" : [ 15, 30, 60 ],
            "1440" : [ 60, 120, 360, 720, 1440 ]
          },
          "validExcludedDurationsForReportHours" : {
            "1" : [ 0 ],
            "24" : [ 0, 1, 2, 3 ]
          }
        }
      },
      "usermanagement_UserUpdateResource" : {
        "required" : [ "currency", "firstName", "lastName", "preferredClientId", "timezone" ],
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "Currency code - USD by default"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "preferredClientId" : {
            "type" : "string",
            "description" : "Preferred client ID",
            "format" : "uuid"
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone",
            "format" : "time-zone"
          }
        },
        "description" : "User update request"
      },
      "referral_ReferralCollectionResource" : {
        "required" : [ "referrals", "totals" ],
        "properties" : {
          "referrals" : {
            "type" : "array",
            "description" : "Referrals",
            "items" : {
              "$ref" : "#/components/schemas/referral_ReferralResource"
            }
          },
          "totals" : {
            "$ref" : "#/components/schemas/referral_ReferralTotalsResource"
          }
        },
        "description" : "List of referrals."
      },
      "core_workspace_WorkspaceChangeResource" : {
        "required" : [ "entityIds", "newWorkspaceId" ],
        "properties" : {
          "entityIds" : {
            "type" : "array",
            "description" : "Set of entity ids to update",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          },
          "newWorkspaceId" : {
            "type" : "string",
            "description" : "New workspace id",
            "format" : "uuid"
          }
        },
        "description" : "Request object for bulk workspace update"
      },
      "payment_TokenGenerationResultResource" : {
        "required" : [ "token" ],
        "properties" : {
          "token" : {
            "type" : "string",
            "description" : "Token to be used in payment method update"
          }
        },
        "description" : "Token generation result."
      },
      "trafficsource_TrafficSourceTemplateFeatureResource" : {
        "required" : [ "description", "name" ],
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Traffic source description"
          },
          "name" : {
            "type" : "string",
            "description" : "Traffic source template name"
          }
        },
        "description" : "A Traffic Source Template feature."
      },
      "com_codewise_voluum_monitor_model_DimensionListCollection" : {
        "required" : [ "lists" ],
        "properties" : {
          "lists" : {
            "type" : "array",
            "description" : "List of dimension lists",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_DimensionList"
            }
          }
        },
        "description" : "Dimension list collection",
        "example" : {
          "lists" : [ {
            "id" : "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
            "name" : "High-value keywords",
            "values" : [ "buy now", "discount", "free shipping" ]
          } ]
        }
      },
      "com_codewise_voluum_cruder_rest_model_onboarding_OnboardingChecklistEventResource" : {
        "required" : [ "tracked" ],
        "properties" : {
          "lastCheckDate" : {
            "type" : "string",
            "description" : "Last report query date",
            "format" : "date-time"
          },
          "tracked" : {
            "type" : "boolean",
            "description" : "Flag indicating whether given event has been tracked."
          }
        },
        "description" : "Event tracked for the onboarding checklist completion."
      },
      "com_codewise_voluum_push_api_model_FeedbackPayload" : {
        "required" : [ "comment", "score" ],
        "properties" : {
          "score" : {
            "type" : "integer",
            "description" : "Feedback score",
            "format" : "int32"
          },
          "comment" : {
            "type" : "string",
            "description" : "Feedback comment"
          }
        },
        "description" : "Feedback submission payload",
        "example" : {
          "score" : 5,
          "comment" : "Very useful notification"
        }
      },
      "flow_FlowCollectionResource" : {
        "required" : [ "flows" ],
        "properties" : {
          "flows" : {
            "type" : "array",
            "description" : "Flows",
            "items" : {
              "$ref" : "#/components/schemas/flow_FlowResource"
            }
          }
        },
        "description" : "List of Flows."
      },
      "com_codewise_voluum_push_api_model_PreferenceDetails" : {
        "required" : [ "order", "subtitle", "title" ],
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Display title"
          },
          "subtitle" : {
            "type" : "string",
            "description" : "Display subtitle"
          },
          "order" : {
            "type" : "integer",
            "description" : "Display order",
            "format" : "int32"
          }
        },
        "description" : "Preference display details",
        "example" : {
          "title" : "First conversion",
          "subtitle" : "Get notified on first conversion",
          "order" : 1
        }
      },
      "payment_profile_PaymentProfileResource" : {
        "required" : [ "balance", "paymentMethod", "paymentMethodRemovalRequested" ],
        "properties" : {
          "creditCardInfo" : {
            "$ref" : "#/components/schemas/payment_profile_CreditCardResource"
          },
          "ingenicoCreditCardInfo" : {
            "$ref" : "#/components/schemas/payment_profile_CreditCardResource"
          },
          "payPalAccountInfo" : {
            "$ref" : "#/components/schemas/payment_profile_PayPalAccountResource"
          },
          "balance" : {
            "type" : "number",
            "description" : "Account balance"
          },
          "paymentMethod" : {
            "type" : "string",
            "description" : "Payment method AUTO/TRANSFER"
          },
          "paymentMethodRemovalRequested" : {
            "type" : "boolean",
            "description" : "Whether payment method removal was requested"
          }
        },
        "description" : "Payment profile details."
      },
      "path_condition_BrowserConditionResource" : {
        "required" : [ "predicate" ],
        "properties" : {
          "browserAndVersions" : {
            "type" : "array",
            "description" : "List of browser and versions. Use to make condition for specific both browser and versions eg. only Chrome Browser in version 30 and 40 and Safari in version 5",
            "items" : {
              "$ref" : "#/components/schemas/path_condition_BrowserAndVersionResource"
            }
          },
          "browsers" : {
            "type" : "array",
            "description" : "Browsers. Use to make condition for whole specific browser eg. Chrome",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Browser condition."
      },
      "path_PathGroupResource" : {
        "required" : [ "active", "conditions", "id" ],
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Is Path Group active?"
          },
          "conditions" : {
            "$ref" : "#/components/schemas/path_PathGroupConditionsResource"
          },
          "id" : {
            "type" : "string",
            "description" : "Path group id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Path group name"
          },
          "paths" : {
            "type" : "array",
            "description" : "List of paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathResource"
            }
          },
          "smartRotation" : {
            "type" : "boolean",
            "description" : "Smart rotation enabled"
          }
        },
        "description" : "A Path Group."
      },
      "multiuser_AvailableRolePermissionsCollectionResource" : {
        "required" : [ "availableRolePermissions" ],
        "properties" : {
          "availableRolePermissions" : {
            "type" : "array",
            "description" : "Available role permissions",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_AvailableRolePermissionsResource"
            }
          }
        },
        "description" : "List of available role permissions"
      },
      "customcolumn_CustomColumnConfigurationUpdateResource" : {
        "required" : [ "customColumnsDefinitions" ],
        "properties" : {
          "customColumnsDefinitions" : {
            "type" : "array",
            "description" : "List of custom column definitions.",
            "items" : {
              "$ref" : "#/components/schemas/customcolumn_CustomColumnDefinitionResource"
            }
          }
        },
        "description" : "Custom column configuration."
      },
      "multiuser_PermissionResource" : {
        "required" : [ "name", "requiredPermissions" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Permission name",
            "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
          },
          "requiredPermissions" : {
            "type" : "array",
            "description" : "Permissions required by this permission",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          }
        },
        "description" : "Permission"
      },
      "campaign_CampaignUrlResource" : {
        "required" : [ "url" ],
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "URL"
          }
        },
        "description" : "Campaign URL."
      },
      "usermanagement_UserMembershipResource" : {
        "required" : [ "client", "grantedPermissions", "role" ],
        "properties" : {
          "client" : {
            "$ref" : "#/components/schemas/usermanagement_ClientResource"
          },
          "grantedPermissions" : {
            "type" : "array",
            "description" : "Granted permissions",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "restrictedColumns" : {
            "type" : "array",
            "description" : "Restricted columns",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_RestrictedColumnResource"
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role user has in a client account",
            "enum" : [ "OWNER", "ADMIN", "WORKER", "MEMBER" ]
          }
        },
        "description" : "User membership in a client account"
      },
      "security_SessionCreateResource" : {
        "required" : [ "email", "password" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email"
          },
          "mfaCode" : {
            "type" : "string",
            "description" : "MFA code"
          },
          "password" : {
            "type" : "string",
            "description" : "Password"
          }
        },
        "description" : "Session creation request"
      },
      "notificationpush_ResponseResource" : {
        "properties" : { },
        "description" : "Response resource"
      },
      "usermanagement_invitation_InviteeResource" : {
        "required" : [ "email", "latestInvitationSent", "permissions", "restrictedColumns", "role", "workspaces" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email address"
          },
          "latestInvitationSent" : {
            "type" : "string",
            "description" : "Latest invitation date/time",
            "format" : "date-time"
          },
          "permissions" : {
            "type" : "array",
            "description" : "Membership permissions",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "restrictedColumns" : {
            "type" : "array",
            "description" : "Restricted columns",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_RestrictedColumnResource"
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role",
            "enum" : [ "ADMIN", "WORKER", "MEMBER" ]
          },
          "workspaces" : {
            "type" : "array",
            "description" : "Workspaces",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_WorkspaceInfoResource"
            }
          }
        },
        "description" : "Invitee details"
      },
      "campaign_CostModelResource" : {
        "required" : [ "type" ],
        "properties" : {
          "customConversionCostConfiguration" : {
            "$ref" : "#/components/schemas/customconversion_cost_CustomConversionCostConfigurationResource"
          },
          "trafficLossEnabled" : {
            "type" : "boolean",
            "description" : "Traffic loss toggle"
          },
          "trafficLossRatio" : {
            "type" : "number",
            "description" : "Traffic loss value %"
          },
          "type" : {
            "type" : "string",
            "description" : "Cost model type: NOT_TRACKED, CPC, CPA, CPA_REVSHARE, AUTO or CPM. NOT_TRACKED disables cost tracking. CPC allows you to enter your cost per click. CPA allows you to enter your cost per conversion. CPA_REVSHARE allows you to enter fraction of traffic source commission per conversion. Allowed values are 0.0 to 1.0 inclusive. AUTO is used when you have defined the cost parameter in your traffic source. CPM allows you to enter your cost per mileage (cost for 1000 impressions)",
            "enum" : [ "CPC", "CPA", "CPA_REVSHARE", "NOT_TRACKED", "AUTO", "AUTO_CPI", "CPM" ]
          },
          "value" : {
            "type" : "number",
            "description" : "Cost value"
          }
        },
        "description" : "A Cost model."
      },
      "reports_ReportAggregatedResource" : {
        "required" : [ "data", "messages", "truncated" ],
        "properties" : {
          "data" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            },
            "description" : "Map of timestamp to metric values. Each key is an ISO 8601 timestamp representing the start of the\ntime bucket (e.g. the start of a day or hour). Values are maps of column names to their aggregated values\nfor that time period."
          },
          "truncated" : {
            "type" : "boolean",
            "description" : "True if the report time range was truncated due to data retention limits."
          },
          "messages" : {
            "type" : "array",
            "description" : "Informational, warning, or error messages about the report.",
            "items" : {
              "$ref" : "#/components/schemas/reports_ReportMessageResource"
            }
          }
        },
        "description" : "Time-series report data aggregated by the specified time unit (day, hour, month, etc.).\nThe data is a map of timestamps to metric values, suitable for charting and trend analysis.",
        "example" : {
          "data" : {
            "2026-03-01T00:00:00" : {
              "visits" : 1500,
              "conversions" : 15,
              "revenue" : 45.0,
              "profit" : 25.0
            },
            "2026-03-02T00:00:00" : {
              "visits" : 1800,
              "conversions" : 22,
              "revenue" : 66.0,
              "profit" : 38.0
            }
          },
          "truncated" : false,
          "messages" : [ {
            "level" : "WARN",
            "code" : "ERROR",
            "message" : "Unable to fetch campaigns."
          } ]
        }
      },
      "plan_PlanChangeDetailCollectionResource" : {
        "required" : [ "planChangesDetails" ],
        "properties" : {
          "planChangesDetails" : {
            "type" : "array",
            "description" : "Possible plan changes details",
            "items" : {
              "$ref" : "#/components/schemas/plan_PlanChangeDetailResource"
            }
          }
        },
        "description" : "Collection of plan changes details"
      },
      "path_condition_BrandConditionResource" : {
        "required" : [ "predicate" ],
        "properties" : {
          "brandAndModels" : {
            "type" : "array",
            "description" : "List of brand and models. Use to make condition for specific both brand and models eg. only Apple model iPhone 4 and Samsung model Galaxy 2 and Galaxy 3",
            "items" : {
              "$ref" : "#/components/schemas/path_condition_BrandAndModelResource"
            }
          },
          "brands" : {
            "type" : "array",
            "description" : "Brands. Use to make condition for whole specific brand eg. only Apple and Samsung brands",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Brand condition."
      },
      "com_codewise_voluum_monitor_model_CustomNotificationUpdate" : {
        "required" : [ "entities", "entityType", "name", "rules", "timeRangeHours" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Notification name"
          },
          "entityType" : {
            "type" : "string",
            "description" : "Entity type (CAMPAIGN, OFFER)",
            "enum" : [ "CAMPAIGN", "OFFER" ]
          },
          "entities" : {
            "type" : "array",
            "description" : "Monitored entities",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_EntityUpdate"
            }
          },
          "timeRangeHours" : {
            "type" : "integer",
            "description" : "Time range in hours",
            "format" : "int64"
          },
          "rules" : {
            "type" : "array",
            "description" : "Notification rules",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Rule"
            }
          }
        },
        "description" : "Custom notification create/update request",
        "example" : {
          "name" : "ROI below zero alert",
          "entityType" : "CAMPAIGN",
          "entities" : [ {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          } ],
          "timeRangeHours" : 24,
          "rules" : [ {
            "column" : "roi",
            "relation" : "LESS_THAN",
            "threshold" : 0.0
          } ]
        }
      },
      "com_codewise_voluum_reports_api_model_cost_CostUpdateResponse" : {
        "properties" : { },
        "description" : "Cost update response"
      },
      "affiliatenetwork_AffiliateNetworkTemplateResource" : {
        "required" : [ "description", "documentationUrl", "id", "image", "name", "trusted", "websiteUrl" ],
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Description"
          },
          "documentationUrl" : {
            "type" : "string",
            "description" : "Documentation URL"
          },
          "id" : {
            "type" : "string",
            "description" : "Affiliate network template id",
            "format" : "uuid"
          },
          "image" : {
            "type" : "string",
            "description" : "Image URL"
          },
          "integrationType" : {
            "type" : "string",
            "description" : "Defines which integration this template is intended for."
          },
          "name" : {
            "type" : "string",
            "description" : "Affiliate network template name"
          },
          "trusted" : {
            "type" : "boolean",
            "description" : "Is this affiliate network trusted?"
          },
          "websiteUrl" : {
            "type" : "string",
            "description" : "Affiliate Network website URL"
          }
        },
        "description" : "An Affiliate Network Template."
      },
      "core_workspace_WorkspaceCrossReferenceResource" : {
        "required" : [ "entityType", "id", "name", "referenceType" ],
        "properties" : {
          "entityType" : {
            "type" : "string",
            "description" : "Entity type",
            "enum" : [ "CAMPAIGN", "FLOW", "OFFER", "LANDER", "AFFILIATE_NETWORK", "TRAFFIC_SOURCE" ]
          },
          "id" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "referenceType" : {
            "type" : "string",
            "description" : "Reference type",
            "enum" : [ "DEPENDENCY", "USAGE" ]
          }
        },
        "description" : "A resource representing workspace cross reference"
      },
      "flow_FlowResource" : {
        "required" : [ "createdTime", "id", "name", "note", "updatedTime" ],
        "properties" : {
          "conditionalPathsGroups" : {
            "type" : "array",
            "description" : "List of conditional paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathGroupResource"
            }
          },
          "countries" : {
            "type" : "array",
            "description" : "List of countries",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_country_CountryResource"
            }
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "defaultOfferRedirectMode" : {
            "type" : "string",
            "description" : "Default redirect mode for flow. 302 ('REGULAR')  is a regular http redirect. Double Meta Refresh ('DOUBLE_HTML') should be used if you want to cloak your landing page URL",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          },
          "defaultPaths" : {
            "type" : "array",
            "description" : "List of paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathResource"
            }
          },
          "defaultPathsSmartRotation" : {
            "type" : "boolean",
            "description" : "Smart rotation for default paths enabled"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is flow deleted?"
          },
          "id" : {
            "type" : "string",
            "description" : "Flow id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Full flow name. The first part of the name is automatically generated based on the country"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "realtimeRoutingApi" : {
            "type" : "string",
            "description" : "Routing callbacks. Can be 'DISABLED' for whole flow, 'ENABLED' for whole flow, or enabled for selected paths -'PATHS'",
            "enum" : [ "DISABLED", "ENABLED", "PATHS" ]
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Flow."
      },
      "sharedreports_SharedReportsResultResource" : {
        "required" : [ "columnMappings", "currency", "from", "limit", "messages", "name", "offset", "rows", "timeZone", "to", "totalRows", "totals", "truncated" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Shared report name"
          },
          "from" : {
            "type" : "string",
            "description" : "Time range from"
          },
          "to" : {
            "type" : "string",
            "description" : "Time range to"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Time zone"
          },
          "rows" : {
            "type" : "array",
            "description" : "Report rows",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "Report rows page offset",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Report rows page limit",
            "format" : "int32"
          },
          "totalRows" : {
            "type" : "integer",
            "description" : "Number of all report rows",
            "format" : "int32"
          },
          "totals" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "Totals calculated from all report rows"
          },
          "truncated" : {
            "type" : "boolean",
            "description" : "Indicates if report was truncated"
          },
          "messages" : {
            "type" : "array",
            "description" : "List of report messages",
            "items" : {
              "$ref" : "#/components/schemas/reports_ReportMessageResource"
            }
          },
          "columnMappings" : {
            "type" : "array",
            "description" : "Column mappings",
            "items" : {
              "$ref" : "#/components/schemas/reports_ColumnMappingResource"
            }
          },
          "currency" : {
            "type" : "string",
            "description" : "Report currency"
          }
        },
        "description" : "Standard report data.",
        "example" : {
          "messages" : [ {
            "level" : "WARN",
            "code" : "ERROR",
            "message" : "Unable to fetch campaigns."
          } ],
          "columnMappings" : [ {
            "label" : "Campaign ID",
            "type" : "string",
            "key" : "campaignId",
            "canBeRestricted" : false,
            "canGroupBy" : true
          } ]
        }
      },
      "com_codewise_voluum_cruder_rest_model_preferences_PreferencePatchResource" : {
        "properties" : {
          "reportPreference" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportPreferencePatchResource"
          },
          "chartPreference" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ChartPreferencePatchResource"
          },
          "featuresShown" : {
            "type" : "array",
            "description" : "Set of feature notifications which were shown to a user",
            "items" : {
              "type" : "string"
            }
          },
          "enabledFeatures" : {
            "type" : "array",
            "description" : "Set of features which were enabled by a user",
            "items" : {
              "type" : "string"
            }
          },
          "featuresRequested" : {
            "type" : "array",
            "description" : "Set of features which were requested by a user",
            "items" : {
              "type" : "string"
            }
          },
          "groupings" : {
            "type" : "array",
            "description" : "List of groupings",
            "items" : {
              "type" : "string"
            }
          },
          "bookmarks" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Map of bookmarks"
          },
          "newsFeedLastSeen" : {
            "type" : "string",
            "description" : "Last time user saw the news",
            "format" : "date-time"
          }
        },
        "description" : "User preferences."
      },
      "core_workspace_WorkspaceChangeResultResource" : {
        "required" : [ "items", "status" ],
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "A list of partial update results",
            "items" : {
              "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeItemResultResource"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Workspace change status",
            "enum" : [ "SUCCESSFUL", "FAILED", "PARTIALLY_APPLIED" ]
          }
        },
        "description" : "A result of workspace update"
      },
      "flow_FlowIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Flow id",
            "format" : "uuid"
          }
        },
        "description" : "A Flow id."
      },
      "com_codewise_voluum_cruder_rest_model_markers_EntityMarkerResource" : {
        "required" : [ "entityId", "entityType", "markerResource" ],
        "properties" : {
          "entityId" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "entityType" : {
            "type" : "string",
            "description" : "Entity type"
          },
          "markerResource" : {
            "type" : "string",
            "description" : "Marker"
          }
        },
        "description" : "Entity marker resource"
      },
      "com_codewise_voluum_monitor_model_DimensionListUpdate" : {
        "required" : [ "name", "values" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Dimension list name"
          },
          "values" : {
            "type" : "array",
            "description" : "Dimension values",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Dimension list create/update request",
        "example" : {
          "name" : "High-value keywords",
          "values" : [ "buy now", "discount", "free shipping" ]
        }
      },
      "security_MfaActivateResource" : {
        "required" : [ "mfaCode" ],
        "properties" : {
          "mfaCode" : {
            "type" : "string",
            "description" : "MFA time-based one-time code"
          }
        },
        "description" : "MFA activation request"
      },
      "com_codewise_voluum_cruder_rest_model_onboarding_OnboardingChecklistResource" : {
        "properties" : {
          "account" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_onboarding_OnboardingCategoryResource"
          },
          "basics" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_onboarding_OnboardingCategoryResource"
          },
          "advanced" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_onboarding_OnboardingCategoryResource"
          }
        },
        "description" : "Onboarding checklist."
      },
      "com_codewise_voluum_push_api_model_PreferenceWithDetails" : {
        "required" : [ "details", "key", "value" ],
        "properties" : {
          "key" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PreferenceKey"
          },
          "value" : {
            "type" : "string",
            "description" : "Preference value (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          },
          "details" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PreferenceDetails"
          }
        },
        "description" : "Preference with details",
        "example" : {
          "key" : {
            "type" : "CATEGORY",
            "name" : "CAMPAIGN_FIRST_CONVERSION"
          },
          "value" : "ENABLED",
          "details" : {
            "title" : "First conversion",
            "subtitle" : "Get notified on first conversion",
            "order" : 1
          }
        }
      },
      "com_codewise_voluum_monitor_model_Entity" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          }
        },
        "description" : "Custom notification entity",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "name" : "Summer Sale"
        }
      },
      "com_codewise_voluum_reports_api_model_cost_CostUpdateRequestCollection" : {
        "properties" : { },
        "description" : "Cost update requests"
      },
      "glass_ReportItemResource" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Item id"
          },
          "name" : {
            "type" : "string",
            "description" : "Item name"
          }
        },
        "description" : "Report items",
        "example" : {
          "id" : "13a438f3-2ab3-4e40-8e64-f317df12ac04",
          "name" : "Campaign 1"
        }
      },
      "payment_ingenico_IngenicoAddPaymentMethodResource" : {
        "required" : [ "returnUrl" ],
        "properties" : {
          "returnUrl" : {
            "type" : "string",
            "description" : "Ingenico will redirect client to this url"
          }
        },
        "description" : "Ingenico add payment method request"
      },
      "multiuser_AvailableRolePermissionsResource" : {
        "required" : [ "assignablePermissions", "preassignedPermissions", "role" ],
        "properties" : {
          "assignablePermissions" : {
            "type" : "array",
            "description" : "Permissions assignable for role",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_PermissionResource"
            }
          },
          "preassignedPermissions" : {
            "type" : "array",
            "description" : "Permissions preassigned to role",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role",
            "enum" : [ "OWNER", "ADMIN", "WORKER", "MEMBER" ]
          }
        },
        "description" : "Available role permissions"
      },
      "com_codewise_voluum_monitor_model_AutoRuleUpdate" : {
        "required" : [ "actions", "condition", "name" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Auto rule name"
          },
          "condition" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Condition"
          },
          "actions" : {
            "type" : "array",
            "description" : "Rule actions",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Action"
            }
          }
        },
        "description" : "Auto rule create/update request",
        "example" : {
          "name" : "Pause low ROI campaigns",
          "condition" : {
            "type" : "campaign",
            "entitySelectionType" : "BY_TRAFFIC_SOURCE",
            "timeRange" : {
              "type" : "hours",
              "hours" : 24
            },
            "columnConditions" : [ {
              "column" : "roi",
              "relation" : "LESS_THAN",
              "threshold" : {
                "type" : "static",
                "value" : 0.5
              }
            } ],
            "evaluationIntervalMinutes" : 60
          },
          "actions" : [ {
            "type" : "pausing",
            "operation" : "PAUSE"
          } ]
        }
      },
      "path_PathResource" : {
        "required" : [ "active", "autoOptimizationMode", "autoOptimized", "calculationMethod", "id", "landersDisplaySortOrder", "listicle", "name", "offerRedirectMode", "offers", "offersDisplaySortOrder", "realtimeRoutingApiState", "weight" ],
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Is Path active?"
          },
          "autoOptimizationMode" : {
            "type" : "string",
            "description" : "Auto optimization mode",
            "enum" : [ "OFFER", "LANDER", "INDEPENDENT", "DEPENDENT" ]
          },
          "autoOptimized" : {
            "type" : "boolean",
            "description" : "Is Path auto optimized"
          },
          "calculationMethod" : {
            "type" : "string",
            "description" : "Calculation method",
            "enum" : [ "ROI", "EPV", "CVR", "AUTO" ]
          },
          "id" : {
            "type" : "string",
            "description" : "Path id",
            "format" : "uuid"
          },
          "landers" : {
            "type" : "array",
            "description" : "List of landers",
            "items" : {
              "$ref" : "#/components/schemas/path_PathLanderResource"
            }
          },
          "landersDisplaySortOrder" : {
            "type" : "string",
            "description" : "Sort order of landers",
            "enum" : [ "ASC", "DESC" ]
          },
          "listicle" : {
            "type" : "boolean",
            "description" : "Is Listicle path?"
          },
          "name" : {
            "type" : "string",
            "description" : "Path name"
          },
          "offerRedirectMode" : {
            "type" : "string",
            "description" : "Redirect Mode. 302 is a 'REGULAR' http redirect. Double Meta Refresh ('DOUBLE_HTML') can be used if you want to avoid passing traffic or lander referrer URL to the advertiser end",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          },
          "offers" : {
            "type" : "array",
            "description" : "List of offers",
            "items" : {
              "$ref" : "#/components/schemas/path_PathOfferResource"
            }
          },
          "offersDisplaySortOrder" : {
            "type" : "string",
            "description" : "Sort order of offers",
            "enum" : [ "ASC", "DESC" ]
          },
          "realtimeRoutingApiState" : {
            "type" : "string",
            "description" : "Routing callbacks",
            "enum" : [ "DISABLED", "ENABLED" ]
          },
          "smartRotation" : {
            "type" : "boolean",
            "description" : "Is smart rotation enabled"
          },
          "weight" : {
            "type" : "number",
            "description" : "Path weight"
          }
        },
        "description" : "A Path."
      },
      "entity_EntityQueryResource" : {
        "required" : [ "id", "type" ],
        "properties" : {
          "dependencyQueries" : {
            "type" : "array",
            "description" : "Requested dependencies associated with the main entity",
            "items" : {
              "$ref" : "#/components/schemas/entity_EntityDependencyQueryResource"
            }
          },
          "fields" : {
            "type" : "array",
            "description" : "Names of the fields that should be included in the response",
            "items" : {
              "type" : "string"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Id of the requested entity",
            "format" : "uuid"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the requested entity",
            "enum" : [ "CAMPAIGN", "FLOW", "OFFER", "LANDER", "AFFILIATE_NETWORK", "TRAFFIC_SOURCE" ]
          }
        },
        "description" : "Query object for getting a resource."
      },
      "com_codewise_voluum_push_api_model_InboxItem" : {
        "required" : [ "clientId", "created", "deleted", "feedback", "id", "payload", "read", "seen", "userId" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Item id",
            "format" : "uuid"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client id",
            "format" : "uuid"
          },
          "userId" : {
            "type" : "string",
            "description" : "User id",
            "format" : "uuid"
          },
          "created" : {
            "type" : "string",
            "description" : "Creation time",
            "format" : "date-time"
          },
          "seen" : {
            "type" : "string",
            "description" : "Time when the item was seen",
            "format" : "date-time"
          },
          "read" : {
            "type" : "string",
            "description" : "Time when the item was read",
            "format" : "date-time"
          },
          "payload" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxPayload"
          },
          "deleted" : {
            "type" : "string",
            "description" : "Time when the item was deleted",
            "format" : "date-time"
          },
          "feedback" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_Feedback"
          }
        },
        "description" : "Inbox item",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "clientId" : "c1d2e3f4-a5b6-7890-cdef-1234567890ab",
          "userId" : "82acea1d-3858-4b33-b494-a936eeeed0d8",
          "created" : "2026-03-15T10:30:00Z",
          "seen" : "2026-03-15T10:35:00Z",
          "read" : "2026-03-15T10:36:00Z",
          "payload" : {
            "title" : "First conversion!",
            "body" : "Campaign received its first conversion",
            "category" : "CAMPAIGN_FIRST_CONVERSION",
            "extras" : {
              "entityId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
              "campaignId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
              "entityName" : "My Campaign",
              "entityType" : "CAMPAIGN",
              "campaignName" : "My Campaign"
            }
          },
          "deleted" : "2026-03-18T00:19:23Z",
          "feedback" : {
            "edited" : "2026-03-15T10:30:00Z",
            "score" : 5,
            "comment" : "Very useful notification"
          }
        }
      },
      "dictionary_isp_IspCollectionResource" : {
        "required" : [ "isps" ],
        "properties" : {
          "isps" : {
            "type" : "array",
            "description" : "ISPs",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of ISPs."
      },
      "affiliatenetwork_WhitelistedIpResource" : {
        "required" : [ "ip" ],
        "properties" : {
          "ip" : {
            "type" : "string",
            "description" : "Ip address or subnet in CIDR notation"
          }
        },
        "description" : "An Whitelisted IP address or subnets."
      },
      "com_codewise_voluum_monitor_model_Condition" : {
        "properties" : { },
        "description" : "Rule condition. Type determines the condition variant: offer, campaign, customVar, dayParting"
      },
      "payment_TokenGenerationRequestResource" : {
        "required" : [ "googleCaptchaToken", "mathCaptchaId", "mathCaptchaResult" ],
        "properties" : {
          "googleCaptchaToken" : {
            "type" : "string",
            "description" : "Google V3 captcha token"
          },
          "mathCaptchaId" : {
            "type" : "string",
            "description" : "Id of the math captcha"
          },
          "mathCaptchaResult" : {
            "type" : "string",
            "description" : "Result of the math captcha evaluation"
          }
        },
        "description" : "Token generation request"
      },
      "plan_PlanChangeDetailResource" : {
        "required" : [ "adSpendOverageCost", "basePrice", "canBeSelfServed", "couponCharge", "discountedIncludedAddonPrices", "discountedPrice", "finalCharge", "grossFinalCharge", "immediate", "overageCost", "plan", "prorateAmount", "vatRate" ],
        "properties" : {
          "adSpendOverageCost" : {
            "type" : "number",
            "description" : "Cost of ad spend overages"
          },
          "basePrice" : {
            "type" : "number",
            "description" : "Base price"
          },
          "canBeSelfServed" : {
            "type" : "boolean",
            "description" : "Can this plan be self served?"
          },
          "couponCharge" : {
            "type" : "number",
            "description" : "Amount taken from coupon"
          },
          "discountedIncludedAddonPrices" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "number"
            },
            "description" : "Included addon prices with discount"
          },
          "discountedPrice" : {
            "type" : "number",
            "description" : "Discounted price"
          },
          "finalCharge" : {
            "type" : "number",
            "description" : "Final price (including client discount, overages, etc)"
          },
          "grossFinalCharge" : {
            "type" : "number",
            "description" : "Gross final price (including tax, client discount, overages, etc)"
          },
          "immediate" : {
            "type" : "boolean",
            "description" : "Is this change immediate?"
          },
          "overageCost" : {
            "type" : "number",
            "description" : "Cost of overages"
          },
          "plan" : {
            "$ref" : "#/components/schemas/plan_PlanResource"
          },
          "prorateAmount" : {
            "type" : "number",
            "description" : "Prorate amount"
          },
          "vatRate" : {
            "type" : "number",
            "description" : "Vat rate based on invoice details country and VAT id"
          }
        },
        "description" : "Possible plan Change details"
      },
      "notificationpush_RequestResource" : {
        "properties" : { },
        "description" : "Request resource"
      },
      "path_PathGroupUpdateResource" : {
        "required" : [ "active", "conditions", "paths" ],
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Is path active?"
          },
          "conditions" : {
            "$ref" : "#/components/schemas/path_PathGroupConditionsResource"
          },
          "id" : {
            "type" : "string",
            "description" : "Path group id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Path group name"
          },
          "paths" : {
            "type" : "array",
            "description" : "Path group paths",
            "items" : {
              "$ref" : "#/components/schemas/path_PathUpdateResource"
            }
          },
          "smartRotation" : {
            "type" : "boolean",
            "description" : "Smart rotation enabled"
          }
        },
        "description" : "A Path Group update."
      },
      "trafficsource_VariableResource" : {
        "required" : [ "excludeFromCampaignUrl", "parameter", "placeholder" ],
        "properties" : {
          "excludeFromCampaignUrl" : {
            "type" : "boolean",
            "description" : "Whether to exclude the parameter={placeholder} pair from the campaign URL."
          },
          "parameter" : {
            "type" : "string",
            "description" : "Parameter. This is what goes into your URL. For example: www.domain.com/?parameter="
          },
          "placeholder" : {
            "type" : "string",
            "description" : "Placeholder. This is the token that you get from your traffic source. For example: www.domain.com/?parameter={placeholder}"
          }
        },
        "description" : "A Variable."
      },
      "reports_ReportMessageResource" : {
        "required" : [ "code", "level", "message" ],
        "properties" : {
          "level" : {
            "type" : "string",
            "description" : "Severity level: INFO (informational), WARN (data may be incomplete), ERROR (processing issue).",
            "enum" : [ "INFO", "WARN", "ERROR" ]
          },
          "code" : {
            "type" : "string",
            "description" : "Machine-readable message code for programmatic handling.\nCodes are free-form strings defined by the reporting service — new codes may be added without notice.\nThe only code currently produced in practice is \"ERROR\" (set when a non-mandatory data source\nfails during report execution, with the failing source in the message text)."
          },
          "message" : {
            "type" : "string",
            "description" : "Human-readable message text describing the condition."
          }
        },
        "description" : "A message attached to a report response, providing processing context such as data retention warnings,\ntime range truncation notices, or error information.",
        "example" : {
          "level" : "WARN",
          "code" : "ERROR",
          "message" : "Unable to fetch campaigns."
        }
      },
      "path_condition_MobileCarrierConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "List of mobile carrier names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Mobile Carrier condition."
      },
      "usermanagement_survey_FirstViewSurveyResource" : {
        "required" : [ "questions" ],
        "properties" : {
          "questions" : {
            "type" : "array",
            "description" : "Survey questions",
            "items" : {
              "$ref" : "#/components/schemas/usermanagement_survey_SurveyQuestionResource"
            }
          }
        },
        "description" : "First view survey"
      },
      "sharedreports_SharedReportsResource" : {
        "required" : [ "created", "id", "name", "nameVisible", "report", "timeRangeVisible", "url" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Shared Report ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "nameVisible" : {
            "type" : "boolean",
            "description" : "Indicates name visibility"
          },
          "timeRangeVisible" : {
            "type" : "boolean",
            "description" : "Indicates Time Range Visibility"
          },
          "report" : {
            "$ref" : "#/components/schemas/sharedreports_ReportQueryResource"
          },
          "url" : {
            "type" : "string",
            "description" : "Shared Report URL"
          },
          "created" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          }
        },
        "description" : "Shared report response"
      },
      "com_codewise_voluum_cruder_rest_model_markers_EntityMarkersResource" : {
        "required" : [ "markers" ],
        "properties" : {
          "markers" : {
            "type" : "array",
            "description" : "Entity markers",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_markers_EntityMarkerResource"
            }
          }
        },
        "description" : "Entity markers resource"
      },
      "customconversion_CustomConversionUpdateCollectionResource" : {
        "required" : [ "customConversions" ],
        "properties" : {
          "customConversions" : {
            "type" : "array",
            "description" : "List of custom conversions",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_CustomConversionUpdateResource"
            }
          }
        },
        "description" : "Custom conversions configuration"
      },
      "com_codewise_voluum_monitor_model_Limits" : {
        "required" : [ "customNotificationsLimit", "entitiesInNotificationLimit", "rulesInNotificationLimit" ],
        "properties" : {
          "customNotificationsLimit" : {
            "type" : "integer",
            "description" : "Maximum number of custom notifications",
            "format" : "int32"
          },
          "rulesInNotificationLimit" : {
            "type" : "integer",
            "description" : "Maximum number of rules per notification",
            "format" : "int32"
          },
          "entitiesInNotificationLimit" : {
            "type" : "integer",
            "description" : "Maximum number of entities per notification",
            "format" : "int32"
          }
        },
        "description" : "Custom notification limits",
        "example" : {
          "customNotificationsLimit" : 50,
          "rulesInNotificationLimit" : 10,
          "entitiesInNotificationLimit" : 20
        }
      },
      "path_PathGroupConditionsResource" : {
        "properties" : {
          "brand" : {
            "$ref" : "#/components/schemas/path_condition_BrandConditionResource"
          },
          "browser" : {
            "$ref" : "#/components/schemas/path_condition_BrowserConditionResource"
          },
          "city" : {
            "$ref" : "#/components/schemas/path_condition_CityConditionResource"
          },
          "connectionType" : {
            "$ref" : "#/components/schemas/path_condition_ConnectionTypeConditionResource"
          },
          "country" : {
            "$ref" : "#/components/schemas/path_condition_CountryConditionResource"
          },
          "customVariable" : {
            "$ref" : "#/components/schemas/path_condition_CustomVariableConditionResource"
          },
          "deviceType" : {
            "$ref" : "#/components/schemas/path_condition_DeviceTypeConditionResource"
          },
          "ip" : {
            "$ref" : "#/components/schemas/path_condition_IpConditionResource"
          },
          "isp" : {
            "$ref" : "#/components/schemas/path_condition_IspConditionResource"
          },
          "language" : {
            "$ref" : "#/components/schemas/path_condition_LanguageConditionResource"
          },
          "mobileCarrier" : {
            "$ref" : "#/components/schemas/path_condition_MobileCarrierConditionResource"
          },
          "operatingSystem" : {
            "$ref" : "#/components/schemas/path_condition_OperatingSystemConditionResource"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/path_condition_ProxyConditionResource"
          },
          "referrer" : {
            "$ref" : "#/components/schemas/path_condition_ReferrerConditionResource"
          },
          "referrerDomain" : {
            "$ref" : "#/components/schemas/path_condition_ReferrerDomainConditionResource"
          },
          "region" : {
            "$ref" : "#/components/schemas/path_condition_RegionConditionResource"
          },
          "timeOfDay" : {
            "$ref" : "#/components/schemas/path_condition_TimeOfDayConditionResource"
          },
          "uniqueVisit" : {
            "$ref" : "#/components/schemas/path_condition_UniqueVisitConditionResource"
          },
          "weekdays" : {
            "$ref" : "#/components/schemas/path_condition_WeekdayConditionResource"
          }
        },
        "description" : "A Path Group conditions."
      },
      "path_condition_BrandAndModelResource" : {
        "required" : [ "brand", "model" ],
        "properties" : {
          "brand" : {
            "type" : "string",
            "description" : "Brand name"
          },
          "model" : {
            "type" : "string",
            "description" : "Model name"
          }
        },
        "description" : "Brand and Models."
      },
      "path_condition_ReferrerDomainConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "List of referrer domain names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Referrer Domain condition."
      },
      "lander_LanderResource" : {
        "required" : [ "createdTime", "deleted", "id", "landerType", "name", "namePostfix", "note", "shouldHaveTrackingScript", "updatedTime", "url" ],
        "properties" : {
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryResource"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is lander deleted?"
          },
          "id" : {
            "type" : "string",
            "description" : "Lander id",
            "format" : "uuid"
          },
          "landerType" : {
            "type" : "string",
            "description" : "Type which can designate the lander as pre-lander in listicle path",
            "enum" : [ "LANDER", "PRELANDER" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Full lander name. The first part of the name is automatically generated based on the country"
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Campaign name without first automatically generated part based on the country"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "numberOfOffers" : {
            "type" : "integer",
            "description" : "Number of offers",
            "format" : "int32"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "shouldHaveTrackingScript" : {
            "type" : "boolean",
            "description" : "Track without redirects"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given lander",
            "items" : {
              "type" : "string"
            }
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "url" : {
            "type" : "string",
            "description" : "URL to lander"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Lander."
      },
      "core_EntityCreationInfoResource" : {
        "required" : [ "hasAnyEntityBeenCreated" ],
        "properties" : {
          "hasAnyEntityBeenCreated" : {
            "type" : "boolean",
            "description" : "True if at least one entity of given type has been created."
          }
        },
        "description" : "Information about created entities."
      },
      "sharedreports_SharedReportsCollectionResource" : {
        "required" : [ "sharedReports" ],
        "properties" : {
          "sharedReports" : {
            "type" : "array",
            "description" : "List of shared reports",
            "items" : {
              "$ref" : "#/components/schemas/sharedreports_SharedReportsResource"
            }
          }
        },
        "description" : "List of shared reports"
      },
      "dictionary_country_CountryCodeResource" : {
        "required" : [ "code" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Country code"
          }
        },
        "description" : "A Country code."
      },
      "affiliatenetwork_AffiliateNetworkIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Affiliate network id",
            "format" : "uuid"
          }
        },
        "description" : "An Affiliate Network ID."
      },
      "billing_promos_ClientPromoSummaryResource" : {
        "required" : [ "hubspotLists", "hubspotProperties", "promoResource" ],
        "properties" : {
          "promoResource" : {
            "$ref" : "#/components/schemas/billing_promos_PromoResource"
          },
          "hubspotLists" : {
            "type" : "array",
            "description" : "Hubspot lists to trigger promo",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "hubspotProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Hubspot properties"
          }
        },
        "description" : "Client promos summary"
      },
      "glass_AuthenticationResource" : {
        "properties" : { },
        "description" : "Authentication"
      },
      "tag_TagChangeResource" : {
        "required" : [ "entityTagChangeResources" ],
        "properties" : {
          "entityTagChangeResources" : {
            "type" : "array",
            "description" : "List of entities with tags to be changed",
            "items" : {
              "$ref" : "#/components/schemas/tag_EntityTagChangeResource"
            }
          }
        },
        "description" : "Resource to change tags for list of entities"
      },
      "com_codewise_voluum_push_api_model_PreferenceList" : {
        "required" : [ "preferences" ],
        "properties" : {
          "preferences" : {
            "type" : "array",
            "description" : "Preferences",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PreferenceWithDetails"
            }
          }
        },
        "description" : "List of preferences with details",
        "example" : {
          "preferences" : [ {
            "key" : {
              "type" : "CATEGORY",
              "name" : "CAMPAIGN_FIRST_CONVERSION"
            },
            "value" : "ENABLED",
            "details" : {
              "title" : "First conversion",
              "subtitle" : "Get notified on first conversion",
              "order" : 1
            }
          } ]
        }
      },
      "customcolumn_CustomColumnConfigurationResource" : {
        "required" : [ "customColumnsDefinitions" ],
        "properties" : {
          "customColumnsDefinitions" : {
            "type" : "array",
            "description" : "List of custom column definitions.",
            "items" : {
              "$ref" : "#/components/schemas/customcolumn_CustomColumnDefinitionResource"
            }
          }
        },
        "description" : "Custom column configuration."
      },
      "affiliatenetwork_AffiliateNetworkCollectionResource" : {
        "required" : [ "affiliateNetworks" ],
        "properties" : {
          "affiliateNetworks" : {
            "type" : "array",
            "description" : "Affiliate Networks",
            "items" : {
              "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkResource"
            }
          }
        },
        "description" : "List of Affiliate Networks."
      },
      "lander_LanderIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Lander id",
            "format" : "uuid"
          }
        },
        "description" : "A Lander Id."
      },
      "dictionary_city_CityCollectionResource" : {
        "required" : [ "cities" ],
        "properties" : {
          "cities" : {
            "type" : "array",
            "description" : "Cities",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of cities."
      },
      "glass_ChangeDailyCapResource" : {
        "required" : [ "dailyCap" ],
        "properties" : {
          "dailyCap" : {
            "type" : "number",
            "description" : "Daily cap value",
            "format" : "double"
          }
        },
        "description" : "Change daily cap resource",
        "example" : {
          "dailyCap" : 50.0
        }
      },
      "entity_EntityDependencyResource" : {
        "required" : [ "entities", "type" ],
        "properties" : {
          "entities" : {
            "$ref" : "#/components/schemas/entity_EntityCollectionResource"
          },
          "type" : {
            "type" : "string",
            "description" : "Dependent entity type",
            "enum" : [ "OFFER", "LANDER", "AFFILIATE_NETWORK", "TRAFFIC_SOURCE", "FLOW", "CAMPAIGN", "COUNTRY", "LANGUAGE", "TIMEZONE", "WORKSPACE" ]
          }
        },
        "description" : "Dependent resources with type."
      },
      "customconversion_cost_CustomConversionCostResource" : {
        "required" : [ "index", "value" ],
        "properties" : {
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          },
          "value" : {
            "type" : "number",
            "description" : "Custom conversion cost (CPA) or fraction of traffic source commission (CPA_REVSHARE)"
          }
        },
        "description" : "Custom conversions cost configuration"
      },
      "security_MfaInitializeResultResource" : {
        "required" : [ "mfaSecret" ],
        "properties" : {
          "mfaSecret" : {
            "type" : "string",
            "description" : "MFA secret used to generate time-based one-time codes"
          }
        },
        "description" : "MFA initialization response"
      },
      "security_SessionValidationResultResource" : {
        "required" : [ "alive", "time" ],
        "properties" : {
          "alive" : {
            "type" : "boolean",
            "description" : "Whether session is alive/valid"
          },
          "expirationTimestamp" : {
            "type" : "string",
            "description" : "Expiration timestamp",
            "format" : "date-time"
          },
          "inaugural" : {
            "type" : "boolean",
            "description" : "Whether this is an inaugural session for particular user"
          },
          "time" : {
            "type" : "integer",
            "description" : "The difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC",
            "format" : "int64"
          }
        },
        "description" : "Session validation response"
      },
      "glass_ReportItemMappingResource" : {
        "required" : [ "dstItem", "srcItem", "type" ],
        "properties" : {
          "srcItem" : {
            "$ref" : "#/components/schemas/glass_ReportItemResource"
          },
          "dstItem" : {
            "$ref" : "#/components/schemas/glass_ReportItemResource"
          },
          "type" : {
            "type" : "string",
            "description" : "Mapping type",
            "enum" : [ "AUTO", "MANUAL" ]
          }
        },
        "description" : "Report items manual mapping",
        "example" : {
          "srcItem" : {
            "id" : "ts-campaign-123",
            "name" : "Summer Campaign"
          },
          "dstItem" : {
            "id" : "f4d70b8d-09c3-43d5-8fc0-45e0ecbfe943",
            "name" : "Summer Sale"
          },
          "type" : "MANUAL"
        }
      },
      "billing_vat_VatIdValidationResultResource" : {
        "required" : [ "address", "name", "result" ],
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Registered entity address"
          },
          "name" : {
            "type" : "string",
            "description" : "Registered entity name"
          },
          "result" : {
            "type" : "string",
            "description" : "Validation result",
            "enum" : [ "VALID", "INVALID", "ERROR" ]
          }
        },
        "description" : "VAT id validation result."
      },
      "com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableMarkerResource" : {
        "required" : [ "customVariableIndex", "customVariableValue", "markerResource" ],
        "properties" : {
          "customVariableIndex" : {
            "type" : "integer",
            "description" : "Custom variable index",
            "format" : "int32"
          },
          "customVariableValue" : {
            "type" : "string",
            "description" : "Custom variable value"
          },
          "markerResource" : {
            "type" : "string",
            "description" : "Marker"
          }
        },
        "description" : "Custom variable markers resource"
      },
      "com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableMarkersDeleteResource" : {
        "required" : [ "campaignId", "customVariableValues" ],
        "properties" : {
          "campaignId" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "customVariableValues" : {
            "type" : "array",
            "description" : "Custom variables values",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableValueResource"
            }
          }
        },
        "description" : "Custom variable markers delete resource"
      },
      "offer_OfferCollectionResource" : {
        "required" : [ "offers" ],
        "properties" : {
          "offers" : {
            "type" : "array",
            "description" : "Offers",
            "items" : {
              "$ref" : "#/components/schemas/offer_OfferResource"
            }
          }
        },
        "description" : "List of Offers."
      },
      "dictionary_connection_MobileCarrierCollectionResource" : {
        "required" : [ "mobileCarriers" ],
        "properties" : {
          "mobileCarriers" : {
            "type" : "array",
            "description" : "Mobile carriers",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of mobile carriers."
      },
      "usermanagement_register_ActivationEmailResendResource" : {
        "required" : [ "email" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email address"
          }
        },
        "description" : "User registration confirmation link resend request"
      },
      "security_GrantedAccessResource" : {
        "required" : [ "appId", "created", "id", "name" ],
        "properties" : {
          "appId" : {
            "type" : "string",
            "description" : "Application id",
            "enum" : [ "mobile", "api" ]
          },
          "created" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "lastLogin" : {
            "type" : "string",
            "description" : "Last login date/time",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "Granted access"
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ChartColumnResource" : {
        "required" : [ "name", "visible" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Column name"
          },
          "visible" : {
            "type" : "boolean",
            "description" : "Whether column should be displayed on chart"
          }
        },
        "description" : "Chart column"
      },
      "customconversion_CustomConversionResource" : {
        "required" : [ "includeInConversions", "includeInCost", "includeInRevenue", "index", "name", "parameters", "removed", "sendPostbackToTrafficSource" ],
        "properties" : {
          "includeInConversions" : {
            "type" : "boolean",
            "description" : "When selected, your custom conversions count will be added to main Conversions column"
          },
          "includeInCost" : {
            "type" : "boolean",
            "description" : "When selected, custom conversions cost will be added to main Cost column"
          },
          "includeInRevenue" : {
            "type" : "boolean",
            "description" : "When selected, custom conversions revenue will be added to main Conversions column"
          },
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of custom conversion"
          },
          "parameters" : {
            "type" : "array",
            "description" : "Parameters of custom conversion",
            "items" : {
              "type" : "string"
            }
          },
          "removed" : {
            "type" : "boolean",
            "description" : "Is custom conversion active?"
          },
          "sendPostbackToTrafficSource" : {
            "type" : "boolean",
            "description" : "When selected, traffic source is notified about the event"
          }
        },
        "description" : "Custom conversion definition"
      },
      "campaign_CampaignUpdateResource" : {
        "required" : [ "costModel", "namePostfix", "redirectTarget", "trafficSource" ],
        "properties" : {
          "costModel" : {
            "$ref" : "#/components/schemas/campaign_CostModelUpdateResource"
          },
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryCodeResource"
          },
          "directTracking" : {
            "type" : "boolean",
            "description" : "Campaign marked with this flag accepts direct tracking."
          },
          "directTrackingLanderId" : {
            "type" : "string",
            "description" : "Lander ID for direct tracking.",
            "format" : "uuid"
          },
          "directTrackingOfferId" : {
            "type" : "string",
            "description" : "Offer ID for direct tracking.",
            "format" : "uuid"
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Campaign name without first automatically generated part based on the country and traffic source"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "pixelRedirectUrl" : {
            "type" : "string",
            "description" : "Use this option if you need to fire client side conversions back to your traffic source. Note: this solution is cookie based, therefore a browser needs to be cookie enabled for this functionality to work. Also, the Voluum URL tokens may not be used for these pixels"
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "This field is prepopulated if you defined a postback URL in your traffic source"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "redirectTarget" : {
            "$ref" : "#/components/schemas/campaign_RedirectTargetUpdateResource"
          },
          "smartRotation" : {
            "type" : "boolean",
            "description" : "Smart rotation"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given campaign",
            "items" : {
              "type" : "string"
            }
          },
          "trafficSource" : {
            "$ref" : "#/components/schemas/trafficsource_TrafficSourceIdResource"
          },
          "trafficType" : {
            "type" : "string",
            "description" : "Traffic type",
            "enum" : [ "POP", "NATIVE", "SEARCH", "PUSH", "BANNER", "MAIL", "SMS", "VIDEO", "SOCIAL" ]
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A campaign."
      },
      "usermanagement_password_PasswordResetInitResource" : {
        "required" : [ "email" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email address"
          }
        },
        "description" : "Password reset init request"
      },
      "eventlog_NestedEntityChangeResource" : {
        "required" : [ "category", "entityId", "fieldName", "nestedChanges", "simpleChanges" ],
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category",
            "enum" : [ "CAMPAIGN", "TRAFFIC_SOURCE", "FLOW", "OFFER", "AFFILIATE_NETWORK", "LANDER", "WORKSPACE", "ACCOUNT", "TRAFFIC_FILTER", "INTEGRATION" ]
          },
          "entityId" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "fieldName" : {
            "type" : "string",
            "description" : "Name of changed field"
          },
          "nestedChanges" : {
            "type" : "array",
            "description" : "List of nested entity changes",
            "items" : {
              "$ref" : "#/components/schemas/eventlog_NestedEntityChangeResource"
            }
          },
          "simpleChanges" : {
            "type" : "array",
            "description" : "List of single fields changes",
            "items" : {
              "$ref" : "#/components/schemas/eventlog_SingleFieldEntityChangeResource"
            }
          }
        },
        "description" : "A Nested Entity Change."
      },
      "glass_AuditConversionResource" : {
        "required" : [ "clickId", "conversionId", "createdAt", "eventTime", "extraParams", "id", "payout", "payoutCurrency", "status", "transactionId", "voluumClickId" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Audit record id",
            "format" : "uuid"
          },
          "clickId" : {
            "type" : "string",
            "description" : "Click id"
          },
          "conversionId" : {
            "type" : "string",
            "description" : "Conversion id"
          },
          "eventTime" : {
            "type" : "string",
            "description" : "Event time",
            "format" : "date-time"
          },
          "payout" : {
            "type" : "number",
            "description" : "Payout amount"
          },
          "payoutCurrency" : {
            "type" : "string",
            "description" : "Payout currency"
          },
          "transactionId" : {
            "type" : "string",
            "description" : "Transaction id"
          },
          "voluumClickId" : {
            "type" : "string",
            "description" : "Voluum click id"
          },
          "extraParams" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Extra parameters"
          },
          "status" : {
            "type" : "string",
            "description" : "Conversion status (SENT, FAILED, AWAITING, NOT_IN_PLAN)",
            "enum" : [ "SENT", "FAILED", "AWAITING", "NOT_IN_PLAN" ]
          },
          "createdAt" : {
            "type" : "string",
            "description" : "Creation time",
            "format" : "local-date-time"
          }
        },
        "description" : "Audit conversion",
        "example" : {
          "id" : "c1d2e3f4-a5b6-7890-cdef-1234567890ab",
          "clickId" : "EAIaIQobChMI9Oy50qqakwMVLEZHAR3tRi7AEAAYASAAEgKunfD_BwE",
          "conversionId" : "LEAD",
          "eventTime" : "2026-03-15T10:30:00+01:00",
          "payout" : 2.5,
          "payoutCurrency" : "USD",
          "transactionId" : "txn-abc-123",
          "voluumClickId" : "w3i7j85bnce02hqgj98pju1r",
          "extraParams" : {
            "clickIdType" : "gclid"
          },
          "status" : "SENT",
          "createdAt" : "2026-03-15T10:31:00"
        }
      },
      "campaign_CampaignSummaryCollectionResource" : {
        "required" : [ "campaigns" ],
        "properties" : {
          "campaigns" : {
            "type" : "array",
            "description" : "Campaign summaries collection",
            "items" : {
              "$ref" : "#/components/schemas/campaign_CampaignSummaryResource"
            }
          }
        },
        "description" : "List of CampaignSummaries"
      },
      "eventlog_SingleFieldEntityChangeResource" : {
        "required" : [ "category", "fieldName", "newEntityId", "newValue", "oldEntityId", "oldValue" ],
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category",
            "enum" : [ "CAMPAIGN", "TRAFFIC_SOURCE", "FLOW", "OFFER", "AFFILIATE_NETWORK", "LANDER", "WORKSPACE", "ACCOUNT", "TRAFFIC_FILTER", "INTEGRATION" ]
          },
          "fieldName" : {
            "type" : "string",
            "description" : "Field name"
          },
          "newEntityId" : {
            "type" : "string",
            "description" : "New entity id. Used when some external link changes eg. we change campaign from using flow A to flow B",
            "format" : "uuid"
          },
          "newValue" : {
            "type" : "string",
            "description" : "New value (current value)"
          },
          "oldEntityId" : {
            "type" : "string",
            "description" : "Old entity id. Used when some external link changes eg. we change campaign from using flow A to flow B",
            "format" : "uuid"
          },
          "oldValue" : {
            "type" : "string",
            "description" : "Old value (previous value)"
          }
        },
        "description" : "A Single Field Change."
      },
      "com_codewise_voluum_push_api_model_CategoryPreference" : {
        "required" : [ "category", "value" ],
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Notification category",
            "enum" : [ "UNKNOWN", "CAMPAIGN_FIRST_CONVERSION", "OFFER_CAP_NEARLY_REACHED", "OFFER_CAP_REACHED", "OVERAGES_STARTED", "OVERAGES_HUGE", "PAYMENT_FAILED", "PAYMENT_SUCCEEDED", "NOTIFICATION_SEEN", "OFFER_STOPPED_CONVERTING", "CAMPAIGN_ROI_BELOW_ZERO", "AUTO_RULE", "CUSTOM_NOTIFICATION", "ANNUAL_PLAN_PROMO", "INTEGRATION_STOPPED_WORKING", "INTEGRATION_IS_WORKING_AGAIN", "AD_SPEND_LIMIT_REACHED", "AD_SPEND_LIMIT_NEARLY_REACHED", "DIMENSION_LIST_LIMIT_REACHED", "DOMAIN_CERTIFICATION", "DOMAIN_FLAGGED" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Preference value (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          }
        },
        "description" : "Category preference update request",
        "example" : {
          "category" : "CAMPAIGN_FIRST_CONVERSION",
          "value" : "ENABLED"
        }
      },
      "multiuser_RestrictedColumnResource" : {
        "required" : [ "name" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Column name"
          }
        },
        "description" : "Restricted column"
      },
      "tag_EntityTagChangeResource" : {
        "required" : [ "id", "tags" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the entity",
            "format" : "uuid"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given entity",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Resource to change tags associated with a given entity"
      },
      "plan_feature_FeatureUpgradePriceResource" : {
        "required" : [ "billingUnit", "value" ],
        "properties" : {
          "billingUnit" : {
            "type" : "string",
            "description" : "Billing unit"
          },
          "value" : {
            "type" : "number",
            "description" : "Value"
          }
        },
        "description" : "Plan feature"
      },
      "security_SessionCreateResultResource" : {
        "required" : [ "expirationTimestamp", "inaugural", "token" ],
        "properties" : {
          "expirationTimestamp" : {
            "type" : "string",
            "description" : "Expiration timestamp",
            "format" : "date-time"
          },
          "inaugural" : {
            "type" : "boolean",
            "description" : "Whether this is an inaugural session for particular user"
          },
          "token" : {
            "type" : "string",
            "description" : "Session token"
          }
        },
        "description" : "Session creation response"
      },
      "com_codewise_voluum_monitor_model_AvailableActions" : {
        "required" : [ "availableActions", "id", "integrationStatus" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "availableActions" : {
            "type" : "array",
            "description" : "Set of available action types (marker, notification, pausing, bidExact, bidCoefficient, dimensionList, campaignDailyBudget, dimensionDailyBudget)",
            "items" : {
              "type" : "string",
              "enum" : [ "marker", "notification", "pausing", "bidExact", "bidCoefficient", "dimensionList", "campaignDailyBudget", "dimensionDailyBudget" ]
            }
          },
          "integrationStatus" : {
            "type" : "string",
            "description" : "Integration status (INTEGRATED, NOT_INTEGRATED, AMBIGUOUS)",
            "enum" : [ "INTEGRATED", "NOT_INTEGRATED", "AMBIGUOUS" ]
          }
        },
        "description" : "Available actions for an entity",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "availableActions" : [ "pausing", "bidExact", "notification" ],
          "integrationStatus" : "INTEGRATED"
        }
      },
      "path_PathUpdateResource" : {
        "required" : [ "active", "autoOptimized", "listicle", "name", "offerRedirectMode", "offers", "realtimeRoutingApiState", "weight" ],
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Is Path active?"
          },
          "autoOptimizationMode" : {
            "type" : "string",
            "description" : "Auto optimization mode",
            "enum" : [ "OFFER", "LANDER", "INDEPENDENT", "DEPENDENT" ]
          },
          "autoOptimized" : {
            "type" : "boolean",
            "description" : "Is Path auto optimized"
          },
          "calculationMethod" : {
            "type" : "string",
            "description" : "Calculation method",
            "enum" : [ "ROI", "EPV", "CVR", "AUTO" ]
          },
          "id" : {
            "type" : "string",
            "description" : "Optional id of the path. If not present, it will be auto-generated and returned in response",
            "format" : "uuid"
          },
          "landers" : {
            "type" : "array",
            "description" : "List of landers",
            "items" : {
              "$ref" : "#/components/schemas/path_PathLanderResource"
            }
          },
          "landersDisplaySortOrder" : {
            "type" : "string",
            "description" : "Sort order of landers",
            "enum" : [ "ASC", "DESC" ]
          },
          "listicle" : {
            "type" : "boolean",
            "description" : "Is listicle path?"
          },
          "name" : {
            "type" : "string",
            "description" : "Path name"
          },
          "offerRedirectMode" : {
            "type" : "string",
            "description" : "Redirect Mode. 302 is a 'REGULAR' http redirect. Double Meta Refresh ('DOUBLE_HTML') can be used if you want to avoid passing traffic or lander referrer URL to the advertiser end",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          },
          "offers" : {
            "type" : "array",
            "description" : "List of offers",
            "items" : {
              "$ref" : "#/components/schemas/path_PathOfferResource"
            }
          },
          "offersDisplaySortOrder" : {
            "type" : "string",
            "description" : "Sort order of offers",
            "enum" : [ "ASC", "DESC" ]
          },
          "realtimeRoutingApiState" : {
            "type" : "string",
            "description" : "Routing callbacks",
            "enum" : [ "DISABLED", "ENABLED" ]
          },
          "smartRotation" : {
            "type" : "boolean",
            "description" : "Is smart rotation enabled"
          },
          "weight" : {
            "type" : "number",
            "description" : "Path weight"
          }
        },
        "description" : "A Path update."
      },
      "reports_ReportResource" : {
        "required" : [ "columnMappings", "limit", "messages", "offset", "rows", "totalRows", "totals", "truncated" ],
        "properties" : {
          "columnMappings" : {
            "type" : "array",
            "description" : "Metadata for each column in the response, including display label, data type, and capabilities.",
            "items" : {
              "$ref" : "#/components/schemas/reports_ColumnMappingResource"
            }
          },
          "rows" : {
            "type" : "array",
            "description" : "Report data rows. Each row is a map of column key to value.\nKeys match the 'column' parameter values plus groupBy dimension values.\nNumeric metrics are returned as numbers (not strings).\nRate metrics like ROI are expressed as percentages (e.g. 125.0 means 125% ROI).\n",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "Zero-based pagination offset applied to the result set.",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of rows returned in this response.",
            "format" : "int32"
          },
          "totalRows" : {
            "type" : "integer",
            "description" : "Total number of rows matching the query (before pagination).",
            "format" : "int32"
          },
          "totals" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "Aggregated totals across ALL rows matching the query (not just the returned rows).\nSame column keys as individual rows."
          },
          "truncated" : {
            "type" : "boolean",
            "description" : "True if the report time range was truncated due to data retention limits.\nCheck the messages array for details on the actual range returned.\n"
          },
          "messages" : {
            "type" : "array",
            "description" : "Informational, warning, or error messages about the report.\nMay include data retention warnings, truncation notices, or processing notes.\n",
            "items" : {
              "$ref" : "#/components/schemas/reports_ReportMessageResource"
            }
          }
        },
        "description" : "Report response containing aggregated performance data.\nEach row is a map of column key to value. The keys correspond to the columns requested via the 'column'\nquery parameter, plus any groupBy dimension values (e.g. campaignId).\nColumns you don't explicitly request are not included in response rows — this applies to all columns,\nincluding entity name columns (e.g. campaignName) when you group by their corresponding ID.\n",
        "example" : {
          "columnMappings" : [ {
            "label" : "Campaign ID",
            "type" : "string",
            "key" : "campaignId",
            "canBeRestricted" : false,
            "canGroupBy" : true
          } ],
          "rows" : [ {
            "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
            "campaignName" : "My Campaign",
            "visits" : 1500,
            "clicks" : 300,
            "conversions" : 15,
            "revenue" : 45.0,
            "cost" : 20.0,
            "profit" : 25.0,
            "roi" : 125.0
          } ],
          "offset" : 0,
          "limit" : 100,
          "totalRows" : 77,
          "totals" : {
            "visits" : 5000,
            "revenue" : 150.0,
            "profit" : 75.0
          },
          "truncated" : false,
          "messages" : [ {
            "level" : "WARN",
            "code" : "ERROR",
            "message" : "Unable to fetch campaigns."
          } ]
        }
      },
      "note_NoteUpdateResource" : {
        "properties" : {
          "note" : {
            "type" : "string",
            "description" : "Note"
          }
        },
        "description" : "User note"
      },
      "agricall_GraphResponseResource" : {
        "required" : [ "body", "status", "statusText" ],
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "Status",
            "format" : "int32"
          },
          "statusText" : {
            "type" : "string",
            "description" : "Status text"
          },
          "body" : {
            "type" : "object",
            "description" : "Body"
          }
        },
        "description" : "Graph response."
      },
      "agricall_NavigationSuggestionResource" : {
        "required" : [ "label", "probability" ],
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "Label"
          },
          "probability" : {
            "type" : "number",
            "description" : "Probability",
            "format" : "double"
          }
        },
        "description" : "Navigation suggestion."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ChartPreferenceResource" : {
        "required" : [ "selectedColumns", "showsPreviousTimeRange" ],
        "properties" : {
          "selectedColumns" : {
            "type" : "array",
            "description" : "Columns visible on chart",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ChartColumnResource"
            }
          },
          "showsPreviousTimeRange" : {
            "type" : "boolean",
            "description" : "Whether previous time range should be shown on chart"
          }
        },
        "description" : "Charts preferences"
      },
      "path_condition_TimeOfDayConditionResource" : {
        "required" : [ "endTime", "predicate", "startTime", "timeZone" ],
        "properties" : {
          "endTime" : {
            "$ref" : "#/components/schemas/dictionary_time_TimeResource"
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          },
          "startTime" : {
            "$ref" : "#/components/schemas/dictionary_time_TimeResource"
          },
          "timeZone" : {
            "$ref" : "#/components/schemas/dictionary_time_TimezoneCodeResource"
          }
        },
        "description" : "A Time Of Day condition."
      },
      "customconversion_custompostback_CustomConversionPostbackResource" : {
        "required" : [ "customPostbackUrl", "index", "name" ],
        "properties" : {
          "customPostbackUrl" : {
            "type" : "string",
            "description" : "Custom conversion custom postback URL"
          },
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of custom conversion"
          }
        },
        "description" : "Custom conversions postback configuration"
      },
      "glass_IntegrationFeaturesOverviewResourceCollection" : {
        "required" : [ "features" ],
        "properties" : {
          "features" : {
            "type" : "array",
            "description" : "Integration features",
            "items" : {
              "$ref" : "#/components/schemas/glass_IntegrationFeaturesOverviewResource"
            }
          }
        },
        "description" : "Integration features overview collection",
        "example" : {
          "features" : [ {
            "trafficSourceName" : "GOOGLE_ADS",
            "features" : "[ COST_SYNC, STATUSES_SYNC, CAMPAIGNS_SYNC ]",
            "costBreakdownWithState" : [ {
              "value" : "campaign",
              "state" : "ENABLED"
            }, {
              "value" : "{zone_id}",
              "state" : "ENABLED"
            } ],
            "statusBreakdownWithState" : [ {
              "value" : "campaign",
              "state" : "ENABLED"
            }, {
              "value" : "{zone_id}",
              "state" : "ENABLED"
            } ],
            "pauseResumeDimensionsWithState" : [ {
              "value" : "campaign",
              "state" : "ENABLED"
            }, {
              "value" : "{zone_id}",
              "state" : "ENABLED"
            } ],
            "bidDimensions" : [ "keyword" ],
            "defaultTransferSchedule" : {
              "CAMPAIGNS" : {
                "unitAmount" : 6,
                "timeUnit" : "HOURS"
              },
              "COSTS" : {
                "unitAmount" : 2,
                "timeUnit" : "HOURS"
              }
            },
            "campaignRules" : [ "PAUSE", "RESUME", "CHANGE_BID", "ALERTS", "PAUSE_RESUME_DAY_PARTING" ],
            "dimensionRulesWithState" : {
              "{zoneid}" : [ {
                "value" : "PAUSE",
                "state" : "ENABLED"
              }, {
                "value" : "RESUME",
                "state" : "ENABLED"
              } ]
            },
            "conversionTracking" : "UPLOAD"
          } ]
        }
      },
      "referral_ReferralTotalsResource" : {
        "required" : [ "count", "lastMonthCommissions", "lifeTimeCommissions" ],
        "properties" : {
          "lastMonthCommissions" : {
            "type" : "number",
            "description" : "Value of commissions for last 30 days"
          },
          "lifeTimeCommissions" : {
            "type" : "number",
            "description" : "Value of commissions"
          },
          "count" : {
            "type" : "integer",
            "description" : "A number of referrals that an unpaged report/view would contain",
            "format" : "int32"
          }
        },
        "description" : "Referrals totals/summary."
      },
      "com_codewise_voluum_cruder_rest_model_columnorder_ColumnOrderTemplateResource" : {
        "required" : [ "id", "name", "orderedColumns" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Template ID",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Column order template name"
          },
          "orderedColumns" : {
            "type" : "array",
            "description" : "List of ordered columns",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "User template with ordered columns"
      },
      "security_SessionCreateWithAccessKeyResource" : {
        "required" : [ "accessId", "accessKey" ],
        "properties" : {
          "accessId" : {
            "type" : "string",
            "description" : "Access ID",
            "format" : "uuid"
          },
          "accessKey" : {
            "type" : "string",
            "description" : "Access key"
          }
        },
        "description" : "Create session with access key request"
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ReportSortPreferenceResource" : {
        "required" : [ "columnName", "direction" ],
        "properties" : {
          "columnName" : {
            "type" : "string",
            "description" : "Report column name"
          },
          "direction" : {
            "type" : "string",
            "description" : "Sorting direction",
            "enum" : [ "ASC", "DESC" ]
          }
        },
        "description" : "A Report Sort Preferences."
      },
      "glass_IntegrationFeaturesOverviewResource" : {
        "required" : [ "bidDimensions", "campaignRules", "conversionTracking", "costBreakdownWithState", "defaultTransferSchedule", "dimensionRulesWithState", "features", "pauseResumeDimensionsWithState", "statusBreakdownWithState", "trafficSourceName" ],
        "properties" : {
          "trafficSourceName" : {
            "type" : "string",
            "description" : "Traffic source name"
          },
          "features" : {
            "type" : "array",
            "description" : "Supported integration features (COST_SYNC, STATUSES_SYNC, CAMPAIGNS_SYNC, CONVERSION_DOWNLOAD, PLAYER_REPORT_DOWNLOAD, CONVERSION_UPLOAD, COST_SYNC_VIA_PARAM)",
            "items" : {
              "type" : "string",
              "enum" : [ "COST_SYNC", "STATUSES_SYNC", "CAMPAIGNS_SYNC", "CONVERSION_DOWNLOAD", "PLAYER_REPORT_DOWNLOAD", "CONVERSION_UPLOAD", "COST_SYNC_VIA_PARAM" ]
            }
          },
          "costBreakdownWithState" : {
            "type" : "array",
            "description" : "Cost breakdown dimensions with enabled/disabled state",
            "items" : {
              "$ref" : "#/components/schemas/glass_ValueWithState<String>"
            }
          },
          "statusBreakdownWithState" : {
            "type" : "array",
            "description" : "Status breakdown dimensions with enabled/disabled state",
            "items" : {
              "$ref" : "#/components/schemas/glass_ValueWithState<String>"
            }
          },
          "pauseResumeDimensionsWithState" : {
            "type" : "array",
            "description" : "Pause/resume dimensions with enabled/disabled state",
            "items" : {
              "$ref" : "#/components/schemas/glass_ValueWithState<String>"
            }
          },
          "bidDimensions" : {
            "type" : "array",
            "description" : "Dimensions that support bid adjustments",
            "items" : {
              "type" : "string"
            }
          },
          "defaultTransferSchedule" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/glass_TransferScheduleResource"
            },
            "description" : "Default transfer schedule per transfer type"
          },
          "campaignRules" : {
            "type" : "array",
            "description" : "Supported campaign-level rule actions",
            "items" : {
              "type" : "string",
              "enum" : [ "PAUSE", "RESUME", "CHANGE_BID", "ALERTS", "PAUSE_RESUME_DAY_PARTING", "LIST", "MARKERS" ]
            }
          },
          "dimensionRulesWithState" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/glass_ValueWithState<glass_RuleActionResource>"
              }
            },
            "description" : "Supported dimension-level rule actions with enabled/disabled state, keyed by dimension name"
          },
          "conversionTracking" : {
            "type" : "string",
            "description" : "Conversion tracking mode (POSTBACK, UPLOAD, UPLOAD_DISABLED, NONE)",
            "enum" : [ "POSTBACK", "UPLOAD", "UPLOAD_DISABLED", "NONE" ]
          }
        },
        "description" : "Integration features overview for a traffic source, describing supported capabilities",
        "example" : {
          "trafficSourceName" : "GOOGLE_ADS",
          "features" : "[ COST_SYNC, STATUSES_SYNC, CAMPAIGNS_SYNC ]",
          "costBreakdownWithState" : [ {
            "value" : "campaign",
            "state" : "ENABLED"
          }, {
            "value" : "{zone_id}",
            "state" : "ENABLED"
          } ],
          "statusBreakdownWithState" : [ {
            "value" : "campaign",
            "state" : "ENABLED"
          }, {
            "value" : "{zone_id}",
            "state" : "ENABLED"
          } ],
          "pauseResumeDimensionsWithState" : [ {
            "value" : "campaign",
            "state" : "ENABLED"
          }, {
            "value" : "{zone_id}",
            "state" : "ENABLED"
          } ],
          "bidDimensions" : [ "keyword" ],
          "defaultTransferSchedule" : {
            "CAMPAIGNS" : {
              "unitAmount" : 6,
              "timeUnit" : "HOURS"
            },
            "COSTS" : {
              "unitAmount" : 2,
              "timeUnit" : "HOURS"
            }
          },
          "campaignRules" : [ "PAUSE", "RESUME", "CHANGE_BID", "ALERTS", "PAUSE_RESUME_DAY_PARTING" ],
          "dimensionRulesWithState" : {
            "{zoneid}" : [ {
              "value" : "PAUSE",
              "state" : "ENABLED"
            }, {
              "value" : "RESUME",
              "state" : "ENABLED"
            } ]
          },
          "conversionTracking" : "UPLOAD"
        }
      },
      "com_codewise_voluum_monitor_model_DimensionListQuota" : {
        "required" : [ "listsLimit", "listsPerRuleLimit", "valueLengthLimit", "valuesLimit" ],
        "properties" : {
          "listsLimit" : {
            "type" : "integer",
            "description" : "Maximum number of dimension lists",
            "format" : "int32"
          },
          "valuesLimit" : {
            "type" : "integer",
            "description" : "Maximum number of values per list",
            "format" : "int32"
          },
          "listsPerRuleLimit" : {
            "type" : "integer",
            "description" : "Maximum number of lists per rule",
            "format" : "int32"
          },
          "valueLengthLimit" : {
            "type" : "integer",
            "description" : "Maximum length of a single value",
            "format" : "int32"
          }
        },
        "description" : "Dimension list quota/limits",
        "example" : {
          "listsLimit" : 100,
          "valuesLimit" : 10000,
          "listsPerRuleLimit" : 5,
          "valueLengthLimit" : 255
        }
      },
      "trafficsource_TrafficSourceTemplateCollectionResource" : {
        "required" : [ "trafficSourceTemplates" ],
        "properties" : {
          "trafficSourceTemplates" : {
            "type" : "array",
            "description" : "Traffic source templates",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_TrafficSourceTemplateResource"
            }
          }
        },
        "description" : "List of Traffic Source templates."
      },
      "sharedreports_SharedReportsPatchResource" : {
        "required" : [ "columns", "from", "name", "nameVisible", "timeRangeVisible", "timeZone", "to" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "nameVisible" : {
            "type" : "boolean",
            "description" : "Indicates name visibility"
          },
          "timeRangeVisible" : {
            "type" : "boolean",
            "description" : "Indicates Time Range Visibility"
          },
          "columns" : {
            "type" : "array",
            "description" : "Requested columns",
            "items" : {
              "type" : "string"
            }
          },
          "from" : {
            "type" : "string",
            "description" : "Start time"
          },
          "to" : {
            "type" : "string",
            "description" : "End time"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Time Zone."
          }
        },
        "description" : "Shared report edit request"
      },
      "abninja_CampaignOptimisationResource" : {
        "required" : [ "campaignId", "clientId", "groups", "paths" ],
        "properties" : {
          "campaignId" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client id",
            "format" : "uuid"
          },
          "paths" : {
            "type" : "array",
            "description" : "Paths",
            "items" : {
              "$ref" : "#/components/schemas/abninja_PathOptimisationResource"
            }
          },
          "groups" : {
            "type" : "array",
            "description" : "Groups",
            "items" : {
              "$ref" : "#/components/schemas/abninja_GroupOptimisationResource"
            }
          }
        },
        "description" : "A campaign with auto optimized offer weights"
      },
      "eventlog_EventLogTotalsResource" : {
        "required" : [ "count" ],
        "properties" : {
          "count" : {
            "type" : "integer",
            "description" : "A number of event log entries",
            "format" : "int32"
          }
        },
        "description" : "Event Log totals/summary."
      },
      "reports_ivt_IvtQueryResource" : {
        "required" : [ "filters", "from", "to", "tz", "workspaces" ],
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "Start of time range",
            "format" : "local-date-time"
          },
          "to" : {
            "type" : "string",
            "description" : "End of time range",
            "format" : "local-date-time"
          },
          "tz" : {
            "type" : "string",
            "description" : "Timezone",
            "format" : "time-zone"
          },
          "filters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Filters"
          },
          "workspaces" : {
            "type" : "array",
            "description" : "Workspaces",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "IVT query"
      },
      "core_archive_ItemReferenceResource" : {
        "required" : [ "entityType", "id", "name" ],
        "properties" : {
          "entityType" : {
            "type" : "string",
            "description" : "Type of entity"
          },
          "id" : {
            "type" : "string",
            "description" : "Id of entity",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of entity"
          }
        },
        "description" : "An Item referencing entity to be archived."
      },
      "lander_LanderUpdateResource" : {
        "required" : [ "namePostfix", "shouldHaveTrackingScript", "url" ],
        "properties" : {
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryCodeResource"
          },
          "landerType" : {
            "type" : "string",
            "description" : "Type which can designate the lander as pre-lander in listicle path (\"LANDER\" by default)",
            "enum" : [ "LANDER", "PRELANDER" ]
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Campaign name without first automatically generated part based on the country"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "numberOfOffers" : {
            "type" : "integer",
            "description" : "Number of offers. Set this to the number of offers that your landing page has. This option is not meant for offer rotation. If you want to rotate offers, leave this set to 1 and add multiple offers in the campaign view. If you set it higher than 1, remember to to use http://XXX.trackvoluum.com/click/1, 2, etc. links. (XXX.trackvoluum.com to be replaced with user's sub / custom domain)",
            "format" : "int32"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "shouldHaveTrackingScript" : {
            "type" : "boolean",
            "description" : "Track without redirects"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given lander",
            "items" : {
              "type" : "string"
            }
          },
          "url" : {
            "type" : "string",
            "description" : "URL to lander"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Lander."
      },
      "path_condition_ConnectionTypeConditionResource" : {
        "required" : [ "predicate", "types" ],
        "properties" : {
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          },
          "types" : {
            "type" : "array",
            "description" : "List of connection types",
            "items" : {
              "type" : "string",
              "enum" : [ "BROADBAND", "WIRELESS", "XDSL", "CABLE", "DIALUP", "MOBILE", "SATELLITE", "UNKNOWN", "WIRED", "WIFI" ]
            }
          }
        },
        "description" : "A Connection Type."
      },
      "security_GrantedAccessCreateResource" : {
        "required" : [ "accessName", "appId", "userPassword" ],
        "properties" : {
          "accessName" : {
            "type" : "string",
            "description" : "Access name"
          },
          "appId" : {
            "type" : "string",
            "description" : "Application ID indicating usage purpose (supported: api, mobile)",
            "enum" : [ "mobile", "api" ]
          },
          "userPassword" : {
            "type" : "string",
            "description" : "User password"
          }
        },
        "description" : "Granted access creation request"
      },
      "com_codewise_voluum_monitor_model_AutoRule" : {
        "required" : [ "actions", "condition", "id", "lastEvaluation", "name", "nextEvaluation", "status" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Auto rule id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Auto rule name"
          },
          "condition" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Condition"
          },
          "actions" : {
            "type" : "array",
            "description" : "Rule actions",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Action"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Rule status (DISABLED, ENABLED)",
            "enum" : [ "DISABLED", "ENABLED" ]
          },
          "lastEvaluation" : {
            "type" : "string",
            "description" : "Last evaluation time",
            "format" : "date-time"
          },
          "nextEvaluation" : {
            "type" : "string",
            "description" : "Next evaluation time",
            "format" : "date-time"
          }
        },
        "description" : "Auto rule",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "name" : "Pause low ROI campaigns",
          "condition" : {
            "type" : "campaign",
            "entitySelectionType" : "BY_TRAFFIC_SOURCE",
            "timeRange" : {
              "type" : "hours",
              "hours" : 24
            },
            "columnConditions" : [ {
              "column" : "roi",
              "relation" : "LESS_THAN",
              "threshold" : {
                "type" : "static",
                "value" : 0.5
              }
            } ],
            "evaluationIntervalMinutes" : 60
          },
          "actions" : [ {
            "type" : "pausing",
            "operation" : "PAUSE"
          } ],
          "status" : "ENABLED",
          "lastEvaluation" : "2026-03-15T10:00:00Z",
          "nextEvaluation" : "2026-03-15T11:00:00Z"
        }
      },
      "customconversion_CustomConversionUpdateResource" : {
        "required" : [ "includeInConversions", "includeInCost", "includeInRevenue", "index", "name", "removed", "sendPostbackToTrafficSource" ],
        "properties" : {
          "includeInConversions" : {
            "type" : "boolean",
            "description" : "When selected, your custom conversions count will be added to main Conversions column"
          },
          "includeInCost" : {
            "type" : "boolean",
            "description" : "When selected, custom conversions cost will be added to main Cost column"
          },
          "includeInRevenue" : {
            "type" : "boolean",
            "description" : "When selected, custom conversions revenue will be added to main Conversions column"
          },
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of custom conversion"
          },
          "parameters" : {
            "type" : "array",
            "description" : "Parameters of custom conversion",
            "items" : {
              "type" : "string"
            }
          },
          "removed" : {
            "type" : "boolean",
            "description" : "Is custom conversion active?"
          },
          "sendPostbackToTrafficSource" : {
            "type" : "boolean",
            "description" : "When selected, traffic source is notified about the event"
          }
        },
        "description" : "Custom conversion definition"
      },
      "com_codewise_voluum_monitor_model_EntityUpdate" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          }
        },
        "description" : "Custom notification entity reference for create/update",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
        }
      },
      "plan_PlanFeatureGroupResource" : {
        "required" : [ "features", "group" ],
        "properties" : {
          "features" : {
            "type" : "array",
            "description" : "Features",
            "items" : {
              "$ref" : "#/components/schemas/plan_PlanFeatureResource"
            }
          },
          "group" : {
            "type" : "string",
            "description" : "Feature group id"
          }
        },
        "description" : "Feature group"
      },
      "offer_payout_PayoutResource" : {
        "required" : [ "type", "value" ],
        "properties" : {
          "geoPayouts" : {
            "type" : "array",
            "description" : "Geo-specific payouts",
            "items" : {
              "$ref" : "#/components/schemas/offer_payout_GeoPayoutResource"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Payout type",
            "enum" : [ "AUTO", "MANUAL" ]
          },
          "value" : {
            "type" : "number",
            "description" : "Payout value"
          }
        },
        "description" : "Payout"
      },
      "com_codewise_voluum_cruder_rest_model_preferences_PreferenceResource" : {
        "required" : [ "chartPreference", "reportPreference" ],
        "properties" : {
          "reportPreference" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportPreferenceResource"
          },
          "chartPreference" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ChartPreferenceResource"
          },
          "featuresShown" : {
            "type" : "array",
            "description" : "Set of feature notifications which were shown to a user",
            "items" : {
              "type" : "string"
            }
          },
          "enabledFeatures" : {
            "type" : "array",
            "description" : "Set of features which were enabled by a user",
            "items" : {
              "type" : "string"
            }
          },
          "featuresRequested" : {
            "type" : "array",
            "description" : "Set of features which were requested by a user",
            "items" : {
              "type" : "string"
            }
          },
          "groupings" : {
            "type" : "array",
            "description" : "List of groupings",
            "items" : {
              "type" : "string"
            }
          },
          "bookmarks" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Map of bookmarks"
          },
          "defaultCampaignTab" : {
            "type" : "string",
            "description" : "Campaign edition - default tab",
            "enum" : [ "GENERAL", "DESTINATION", "LAST_OPENED" ]
          },
          "newsFeedLastSeen" : {
            "type" : "string",
            "description" : "Last time user saw the news",
            "format" : "date-time"
          }
        },
        "description" : "User preferences."
      },
      "globalfilter_RequestParameterBlacklistRuleResource" : {
        "required" : [ "parameter", "value" ],
        "properties" : {
          "parameter" : {
            "type" : "string",
            "description" : "Query parameter name."
          },
          "value" : {
            "type" : "string",
            "description" : "Query parameter value."
          }
        },
        "description" : "A request parameter black list rule."
      },
      "conversion_ConversionUploadResultResource" : {
        "required" : [ "numberOfRows" ],
        "properties" : {
          "numberOfRows" : {
            "type" : "integer",
            "description" : "Number of uploaded rows",
            "format" : "int32"
          }
        },
        "description" : "A Conversion upload result."
      },
      "domain_CnameValidationResultResource" : {
        "required" : [ "domain", "expectedCNames", "records", "validationResult" ],
        "properties" : {
          "domain" : {
            "type" : "string",
            "description" : "Domain to be verified"
          },
          "expectedCNames" : {
            "type" : "array",
            "description" : "Your DNS configuration should contain one of those records",
            "items" : {
              "type" : "string"
            }
          },
          "records" : {
            "type" : "array",
            "description" : "Your current DNS configuration",
            "items" : {
              "$ref" : "#/components/schemas/domain_DnsRecordResource"
            }
          },
          "validationResult" : {
            "type" : "string",
            "description" : "Result of the validation",
            "enum" : [ "MATCHED", "NOT_MATCHED", "NOT_FOUND", "UNABLE_TO_CONNECT" ]
          }
        },
        "description" : "DNS settings validation result (CNAME validation see more: https://en.wikipedia.org/wiki/CNAME_record)."
      },
      "offer_OfferIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Offer id",
            "format" : "uuid"
          }
        },
        "description" : "An Offer id."
      },
      "com_codewise_voluum_push_api_model_PagedInboxResponse" : {
        "required" : [ "items", "limit", "offset", "total" ],
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "Inbox items",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_InboxItem"
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "Page offset",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Page size limit",
            "format" : "int32"
          },
          "total" : {
            "type" : "integer",
            "description" : "Total number of items",
            "format" : "int32"
          }
        },
        "description" : "Paged inbox response",
        "example" : {
          "items" : [ {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "clientId" : "c1d2e3f4-a5b6-7890-cdef-1234567890ab",
            "userId" : "82acea1d-3858-4b33-b494-a936eeeed0d8",
            "created" : "2026-03-15T10:30:00Z",
            "seen" : "2026-03-15T10:35:00Z",
            "read" : "2026-03-15T10:36:00Z",
            "payload" : {
              "title" : "First conversion!",
              "body" : "Campaign received its first conversion",
              "category" : "CAMPAIGN_FIRST_CONVERSION",
              "extras" : {
                "entityId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
                "campaignId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
                "entityName" : "My Campaign",
                "entityType" : "CAMPAIGN",
                "campaignName" : "My Campaign"
              }
            },
            "deleted" : "2026-03-18T00:19:23Z",
            "feedback" : {
              "edited" : "2026-03-15T10:30:00Z",
              "score" : 5,
              "comment" : "Very useful notification"
            }
          } ],
          "offset" : 0,
          "limit" : 50,
          "total" : 1
        }
      },
      "core_archive_ArchiveItemResource" : {
        "required" : [ "error", "id", "name", "references", "status" ],
        "properties" : {
          "error" : {
            "type" : "string",
            "description" : "Error message. Only when status = 'FAILED'"
          },
          "id" : {
            "type" : "string",
            "description" : "Id of item to be archived",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of item to be archived"
          },
          "references" : {
            "type" : "array",
            "description" : "List of entities which are referencing this item. Not empty only when status of operation = 'FAILED'. It is not allowed to archive entity which is used by other eg. you can't archive lander when it is used in some active campaign",
            "items" : {
              "$ref" : "#/components/schemas/core_archive_ItemReferenceResource"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Archive operation status. 'SUCCESSFUL' if entity successfully archived, 'FAILED' otherwise",
            "enum" : [ "SUCCESSFUL", "FAILED", "PARTIALLY_APPLIED" ]
          }
        },
        "description" : "An Archive Item."
      },
      "note_NoteResource" : {
        "required" : [ "note" ],
        "properties" : {
          "note" : {
            "type" : "string",
            "description" : "Note"
          }
        },
        "description" : "User note"
      },
      "dictionary_time_TimeResource" : {
        "required" : [ "hours", "minutes" ],
        "properties" : {
          "hours" : {
            "type" : "integer",
            "description" : "Hours",
            "format" : "int32"
          },
          "minutes" : {
            "type" : "integer",
            "description" : "Minutes",
            "format" : "int32"
          }
        },
        "description" : "A Time."
      },
      "plan_feature_FeatureUpgradeResource" : {
        "required" : [ "label", "name", "price", "value" ],
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "Label"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "price" : {
            "$ref" : "#/components/schemas/plan_feature_FeatureUpgradePriceResource"
          },
          "value" : {
            "type" : "string",
            "description" : "Value"
          }
        },
        "description" : "Plan feature upgrade"
      },
      "multiuser_MultiUserMembershipResource" : {
        "required" : [ "created", "email", "firstName", "lastName", "permissions", "restrictedColumns", "role", "userId" ],
        "properties" : {
          "created" : {
            "type" : "string",
            "description" : "Creation time",
            "format" : "date-time"
          },
          "email" : {
            "type" : "string",
            "description" : "Email address"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "permissions" : {
            "type" : "array",
            "description" : "Membership permissions",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "restrictedColumns" : {
            "type" : "array",
            "description" : "Restricted columns",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_RestrictedColumnResource"
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role",
            "enum" : [ "OWNER", "ADMIN", "WORKER", "MEMBER" ]
          },
          "userId" : {
            "type" : "string",
            "description" : "User ID",
            "format" : "uuid"
          },
          "workspaces" : {
            "type" : "array",
            "description" : "Workspaces",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_WorkspaceResource"
            }
          }
        },
        "description" : "A multi-user membership"
      },
      "lander_LanderCollectionResource" : {
        "required" : [ "landers" ],
        "properties" : {
          "landers" : {
            "type" : "array",
            "description" : "Landers",
            "items" : {
              "$ref" : "#/components/schemas/lander_LanderResource"
            }
          }
        },
        "description" : "List of Landers."
      },
      "com_codewise_voluum_monitor_model_Rule" : {
        "required" : [ "column", "relation", "threshold" ],
        "properties" : {
          "column" : {
            "type" : "string",
            "description" : "Column name"
          },
          "relation" : {
            "type" : "string",
            "description" : "Comparison relation (LESS_THAN, GREATER_THAN, LESS_OR_EQUAL, GREATER_OR_EQUAL)",
            "enum" : [ "LESS_THAN", "GREATER_THAN", "LESS_OR_EQUAL", "GREATER_OR_EQUAL" ]
          },
          "threshold" : {
            "type" : "number",
            "description" : "Threshold value",
            "format" : "double"
          }
        },
        "description" : "Custom notification rule",
        "example" : {
          "column" : "roi",
          "relation" : "LESS_THAN",
          "threshold" : 0.0
        }
      },
      "entity_EntityResource" : {
        "properties" : { },
        "description" : "Entity resource"
      },
      "security_GrantedAccessCreateResultResource" : {
        "required" : [ "accessKey", "appId", "id", "name" ],
        "properties" : {
          "accessKey" : {
            "type" : "string",
            "description" : "Access key"
          },
          "appId" : {
            "type" : "string",
            "description" : "Application id",
            "enum" : [ "mobile", "api" ]
          },
          "id" : {
            "type" : "string",
            "description" : "ID",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "Granted access creation response"
      },
      "agricall_NavigationSuggestionCollectionResource" : {
        "required" : [ "navigationSuggestions" ],
        "properties" : {
          "navigationSuggestions" : {
            "type" : "array",
            "description" : "Navigation suggestions",
            "items" : {
              "$ref" : "#/components/schemas/agricall_NavigationSuggestionResource"
            }
          }
        },
        "description" : "Navigation suggestion collection."
      },
      "geolocation_GeolocationResource" : {
        "properties" : {
          "city" : {
            "type" : "string",
            "description" : "City"
          },
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryResource"
          },
          "ip" : {
            "type" : "string",
            "description" : "Ip"
          }
        },
        "description" : "Geolocation data"
      },
      "core_archive_RestoreResultResource" : {
        "required" : [ "items", "status" ],
        "properties" : {
          "error" : {
            "type" : "string",
            "description" : "Error message. Only if status = 'FAILED'",
            "enum" : [ "QUOTA_EXCEEDED" ]
          },
          "items" : {
            "type" : "array",
            "description" : "List of items to be restored",
            "items" : {
              "$ref" : "#/components/schemas/core_archive_RestoreItemResource"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Status of operation (successful or failed) ",
            "enum" : [ "SUCCESSFUL", "FAILED" ]
          }
        },
        "description" : "A result of restore operation."
      },
      "billing_SubscriptionDiscountResource" : {
        "required" : [ "code", "expirationInstant", "percentOff" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Discount code"
          },
          "percentOff" : {
            "type" : "integer",
            "description" : "Percent off",
            "format" : "int32"
          },
          "expirationInstant" : {
            "type" : "string",
            "description" : "Expiration date",
            "format" : "date-time"
          }
        },
        "description" : "Percent off discount."
      },
      "core_setup_CustomDomainResource" : {
        "required" : [ "address", "mainDomain", "sslStatus" ],
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Domain address"
          },
          "mainDomain" : {
            "type" : "boolean",
            "description" : "Is it main domain?"
          },
          "sslStatus" : {
            "type" : "string",
            "description" : "SSL status for domain",
            "enum" : [ "ENABLED", "PENDING", "DISABLED" ]
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Custom domain."
      },
      "usermanagement_invitation_InvitationResource" : {
        "required" : [ "id", "invitedEmailAddress", "invitedUserExists", "invitingClient", "invitingUser" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "invitedEmailAddress" : {
            "type" : "string",
            "description" : "Email address"
          },
          "invitedUserExists" : {
            "type" : "boolean",
            "description" : "Whether invited user exists"
          },
          "invitingClient" : {
            "$ref" : "#/components/schemas/usermanagement_invitation_InvitingClientResource"
          },
          "invitingUser" : {
            "$ref" : "#/components/schemas/usermanagement_invitation_InvitingUserResource"
          }
        },
        "description" : "Invitation details"
      },
      "multiuser_WorkspaceResource" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID",
            "format" : "uuid"
          },
          "memberships" : {
            "type" : "array",
            "description" : "Memberships",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_MultiUserMembershipResource"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "A workspace"
      },
      "payment_coupon_RedeemCouponResource" : {
        "required" : [ "couponCode" ],
        "properties" : {
          "couponCode" : {
            "type" : "string",
            "description" : "Coupon code"
          }
        },
        "description" : "Coupon redemption request."
      },
      "com_codewise_voluum_monitor_model_EntityId" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Entity UUID",
            "format" : "uuid"
          }
        },
        "description" : "Entity identifier",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
        }
      },
      "dictionary_language_LanguageCodeResource" : {
        "required" : [ "code" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Language code"
          }
        },
        "description" : "A Language code."
      },
      "com_codewise_voluum_monitor_model_DimensionList" : {
        "required" : [ "id", "name", "values" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dimension list id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Dimension list name"
          },
          "values" : {
            "type" : "array",
            "description" : "Dimension values",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Dimension list",
        "example" : {
          "id" : "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
          "name" : "High-value keywords",
          "values" : [ "buy now", "discount", "free shipping" ]
        }
      },
      "multiuser_WorkspaceCollectionResource" : {
        "required" : [ "workspaces" ],
        "properties" : {
          "workspaces" : {
            "type" : "array",
            "description" : "Workspaces",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_WorkspaceResource"
            }
          }
        },
        "description" : "List workspaces"
      },
      "billing_UsageStatisticsResource" : {
        "required" : [ "billedEvents", "prevBilledEvents", "prevUpdateTime", "updateTime" ],
        "properties" : {
          "billedEvents" : {
            "type" : "integer",
            "description" : "Billed events",
            "format" : "int64"
          },
          "prevBilledEvents" : {
            "type" : "integer",
            "description" : "Billed events recorded previously",
            "format" : "int64"
          },
          "updateTime" : {
            "type" : "string",
            "description" : "Update time",
            "format" : "local-date-time"
          },
          "prevUpdateTime" : {
            "type" : "string",
            "description" : "Previously updated time",
            "format" : "local-date-time"
          }
        },
        "description" : "Usage statistics"
      },
      "billing_features_FeaturesResource" : {
        "required" : [ "features" ],
        "properties" : {
          "features" : {
            "type" : "array",
            "description" : "Set of enabled business features",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Client enabled features."
      },
      "com_codewise_voluum_push_api_model_InboxCountGroupedResponse" : {
        "required" : [ "groupedCount", "totalCount" ],
        "properties" : {
          "totalCount" : {
            "type" : "integer",
            "description" : "Total count of inbox items",
            "format" : "int64"
          },
          "groupedCount" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int64"
            },
            "description" : "Count grouped by notification category"
          }
        },
        "description" : "Inbox count grouped by category",
        "example" : {
          "totalCount" : 42,
          "groupedCount" : {
            "CAMPAIGN_FIRST_CONVERSION" : 10,
            "OFFER_CAP_REACHED" : 5,
            "PAYMENT_SUCCEEDED" : 2
          }
        }
      },
      "com_codewise_voluum_push_api_model_PreferenceListPayload" : {
        "required" : [ "preferences" ],
        "properties" : {
          "preferences" : {
            "type" : "array",
            "description" : "Category preferences",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_CategoryPreferences"
            }
          }
        },
        "description" : "List of category preferences",
        "example" : {
          "preferences" : [ {
            "category" : "CAMPAIGN_FIRST_CONVERSION",
            "value" : "ENABLED",
            "details" : {
              "title" : "First conversion",
              "subtitle" : "Get notified on first conversion"
            }
          } ]
        }
      },
      "trafficsource_TrafficSourceIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Traffic source id",
            "format" : "uuid"
          }
        },
        "description" : "A Traffic Source Id."
      },
      "com_codewise_voluum_monitor_model_AutoRuleTemplate" : {
        "required" : [ "actions", "condition", "topic" ],
        "properties" : {
          "condition" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Condition"
          },
          "actions" : {
            "type" : "array",
            "description" : "Template actions",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Action"
            }
          },
          "topic" : {
            "type" : "string",
            "description" : "Template topic"
          }
        },
        "description" : "Auto rule template",
        "example" : {
          "condition" : {
            "type" : "campaign",
            "entitySelectionType" : "BY_TRAFFIC_SOURCE",
            "timeRange" : {
              "type" : "hours",
              "hours" : 24
            },
            "columnConditions" : [ {
              "column" : "roi",
              "relation" : "LESS_THAN",
              "threshold" : {
                "type" : "static",
                "value" : 0.0
              }
            } ],
            "evaluationIntervalMinutes" : 60
          },
          "actions" : [ {
            "type" : "notification",
            "channels" : [ "FCM" ]
          } ],
          "topic" : "Low ROI alert"
        }
      },
      "entity_EntityDependencyQueryResource" : {
        "required" : [ "fields", "type" ],
        "properties" : {
          "fields" : {
            "type" : "array",
            "description" : "Names of the fields that should be included in the response",
            "items" : {
              "type" : "string"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Type of a dependent resource",
            "enum" : [ "OFFER", "LANDER", "AFFILIATE_NETWORK", "TRAFFIC_SOURCE", "FLOW", "CAMPAIGN", "COUNTRY", "LANGUAGE", "TIMEZONE", "WORKSPACE" ]
          }
        },
        "description" : "Query object for retrieving a dependent resource."
      },
      "billing_StatisticsResource" : {
        "required" : [ "billedEvents", "clicks", "conversions", "freeClicks", "freeConversions", "freeEvents", "freeVisits", "from", "to", "totalEvents", "visits" ],
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "Beginning date/time",
            "format" : "local-date-time"
          },
          "to" : {
            "type" : "string",
            "description" : "End date/time",
            "format" : "local-date-time"
          },
          "visits" : {
            "type" : "integer",
            "description" : "Total number of visits",
            "format" : "int64"
          },
          "clicks" : {
            "type" : "integer",
            "description" : "Total number of clicks",
            "format" : "int64"
          },
          "conversions" : {
            "type" : "integer",
            "description" : "Total number of conversions",
            "format" : "int64"
          },
          "freeVisits" : {
            "type" : "integer",
            "description" : "Number of 'free' visits",
            "format" : "int64"
          },
          "freeClicks" : {
            "type" : "integer",
            "description" : "Number of 'free' clicks",
            "format" : "int64"
          },
          "freeConversions" : {
            "type" : "integer",
            "description" : "Number of 'free' conversions",
            "format" : "int64"
          },
          "totalEvents" : {
            "type" : "integer",
            "description" : "Total events",
            "format" : "int64"
          },
          "freeEvents" : {
            "type" : "integer",
            "description" : "Total 'free' events",
            "format" : "int64"
          },
          "billedEvents" : {
            "type" : "integer",
            "description" : "Total 'NON-free' events",
            "format" : "int64"
          }
        },
        "description" : "Statistics (visits, clicks, conversions etc.)."
      },
      "dictionary_os_OsCollectionResource" : {
        "required" : [ "oses" ],
        "properties" : {
          "oses" : {
            "type" : "array",
            "description" : "Oses",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_os_OsResource"
            }
          }
        },
        "description" : "List of oses."
      },
      "payment_profile_CreditCardResource" : {
        "required" : [ "cardType", "lastDigits" ],
        "properties" : {
          "cardType" : {
            "type" : "string",
            "description" : "CC type"
          },
          "lastDigits" : {
            "type" : "string",
            "description" : "CC last digits"
          }
        },
        "description" : "Credit card details."
      },
      "globalfilter_GlobalFilterResource" : {
        "required" : [ "enabled" ],
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Are IP/UA rules enabled?"
          },
          "rules" : {
            "type" : "array",
            "description" : "List of IP/UA rules",
            "items" : {
              "$ref" : "#/components/schemas/globalfilter_GlobalFilterRuleResource"
            }
          }
        },
        "description" : "IP/UA Filtering. IP/UA Filtering permits you to add IP/UA rules based on IP / IP range and user agent values. Once IP/UA rules are enabled, they will be applied globally to all active campaigns, matching events will be excluded from your reporting."
      },
      "usermanagement_invitation_InvitingClientResource" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "Inviting client details"
      },
      "payment_profile_PaymentMethodResource" : {
        "required" : [ "paymentMethodNonce" ],
        "properties" : {
          "paymentMethodNonce" : {
            "type" : "string",
            "description" : "Payment token"
          }
        },
        "description" : "Payment method."
      },
      "usermanagement_password_PasswordCreateResource" : {
        "required" : [ "password", "token" ],
        "properties" : {
          "password" : {
            "type" : "string",
            "description" : "New password"
          },
          "token" : {
            "type" : "string",
            "description" : "Authorization token",
            "format" : "uuid"
          }
        },
        "description" : "Password creation request"
      },
      "path_PathOfferResource" : {
        "required" : [ "offer", "weight" ],
        "properties" : {
          "offer" : {
            "$ref" : "#/components/schemas/offer_OfferIdResource"
          },
          "weight" : {
            "type" : "number",
            "description" : "Path weight"
          }
        },
        "description" : "A Path Offer."
      },
      "com_codewise_voluum_cruder_rest_model_onboarding_OnboardingChecklistCardResource" : {
        "required" : [ "checked", "hidden" ],
        "properties" : {
          "checked" : {
            "type" : "boolean",
            "description" : "Flag indicating whether the given step has been completed."
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Flag indicating whether the given card should be hidden."
          },
          "selectedOption" : {
            "type" : "string",
            "description" : "Selected option for given step."
          }
        },
        "description" : "Card with selected option in onboarding checklist"
      },
      "affiliatenetwork_AffiliateNetworkTemplateCollectionResource" : {
        "required" : [ "affiliateNetworkTemplates" ],
        "properties" : {
          "affiliateNetworkTemplates" : {
            "type" : "array",
            "description" : "Affiliate network templates",
            "items" : {
              "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkTemplateResource"
            }
          }
        },
        "description" : "Affiliate Network Templates"
      },
      "core_setup_RealtimeRoutingApiSetupUpdateResource" : {
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "Realtime routing API URL"
          }
        },
        "description" : "A Realtime routing API."
      },
      "multiuser_MultiUserMembershipCollectionResource" : {
        "required" : [ "invitedAdminWorkerCount", "invitedMemberCount", "memberships" ],
        "properties" : {
          "invitedAdminWorkerCount" : {
            "type" : "integer",
            "description" : "Number of invited Admin/Worker users",
            "format" : "int32"
          },
          "invitedMemberCount" : {
            "type" : "integer",
            "description" : "Number of invited Member users",
            "format" : "int32"
          },
          "memberships" : {
            "type" : "array",
            "description" : "Memberships",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_MultiUserMembershipResource"
            }
          }
        },
        "description" : "List of multi-user memberships"
      },
      "multiuser_MultiUserMembershipInfoResource" : {
        "required" : [ "userId" ],
        "properties" : {
          "userId" : {
            "type" : "string",
            "description" : "User ID",
            "format" : "uuid"
          }
        },
        "description" : "A multi-user membership basic info"
      },
      "customcolumn_CustomColumnDefinitionResource" : {
        "required" : [ "colored", "expression", "label", "name" ],
        "properties" : {
          "colored" : {
            "type" : "boolean",
            "description" : "Indicates if values in the column should be colored conditional based on its value."
          },
          "expression" : {
            "$ref" : "#/components/schemas/customcolumn_ExpressionResource"
          },
          "format" : {
            "type" : "string",
            "description" : "Format of the column presented in a report.",
            "enum" : [ "MONETARY", "DECIMAL", "PERCENTAGE" ]
          },
          "label" : {
            "type" : "string",
            "description" : "Label of the column presented in a report."
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the column. It servers as an identifier."
          }
        },
        "description" : "Custom column definition."
      },
      "core_setup_QuotaResource" : {
        "required" : [ "adminWorkerUserLimit", "affiliateNetworks", "asyncReportsRequests", "autoRules", "campaigns", "campaignsInAllFromTrafficSourceAutoRule", "columnConditionsPerAutoRule", "customDomainCertificates", "customDomains", "dedicatedDomains", "dimensionLists", "entitiesPerAutoRule", "flows", "ipRangesPerCondition", "ipUaEntriesPerRule", "ipUaRules", "landers", "memberUserLimit", "offers", "sharedReports", "trafficLogDailyRequests", "trafficSources", "valuesPerDimensionList", "workspaces" ],
        "properties" : {
          "adminWorkerUserLimit" : {
            "type" : "integer",
            "description" : "Admin/Worker user limit",
            "format" : "int64"
          },
          "affiliateNetworks" : {
            "type" : "integer",
            "description" : "Number of available active affiliate networks",
            "format" : "int64"
          },
          "asyncReportsRequests" : {
            "type" : "integer",
            "description" : "Async report request limit",
            "format" : "int64"
          },
          "autoRules" : {
            "type" : "integer",
            "description" : "Auto rules limit",
            "format" : "int64"
          },
          "campaigns" : {
            "type" : "integer",
            "description" : "Number of available active campaigns",
            "format" : "int64"
          },
          "campaignsInAllFromTrafficSourceAutoRule" : {
            "type" : "integer",
            "description" : "Campaigns in All from Traffic Source auto rule limit",
            "format" : "int64"
          },
          "columnConditionsPerAutoRule" : {
            "type" : "integer",
            "description" : "Column conditions per auto rule limit",
            "format" : "int64"
          },
          "customDomainCertificates" : {
            "type" : "integer",
            "description" : "Number of available custom domains SSL certificates",
            "format" : "int64"
          },
          "customDomains" : {
            "type" : "integer",
            "description" : "Number of available custom domains",
            "format" : "int64"
          },
          "dedicatedDomains" : {
            "type" : "integer",
            "description" : "Number of available dedicated domains",
            "format" : "int64"
          },
          "dimensionLists" : {
            "type" : "integer",
            "description" : "Dimension lists limit",
            "format" : "int64"
          },
          "entitiesPerAutoRule" : {
            "type" : "integer",
            "description" : "Entities per auto rule limit",
            "format" : "int64"
          },
          "flows" : {
            "type" : "integer",
            "description" : "Number of available active flows",
            "format" : "int64"
          },
          "ipRangesPerCondition" : {
            "type" : "integer",
            "description" : "Number of available IP ranges per IP condition",
            "format" : "int64"
          },
          "ipUaEntriesPerRule" : {
            "type" : "integer",
            "description" : "Number of available IP/UA entries per IP/UA rule",
            "format" : "int64"
          },
          "ipUaRules" : {
            "type" : "integer",
            "description" : "Number of available IP/UA rules",
            "format" : "int64"
          },
          "landers" : {
            "type" : "integer",
            "description" : "Number of available active landers",
            "format" : "int64"
          },
          "memberUserLimit" : {
            "type" : "integer",
            "description" : "Member user limit",
            "format" : "int64"
          },
          "offers" : {
            "type" : "integer",
            "description" : "Number of available active offers",
            "format" : "int64"
          },
          "sharedReports" : {
            "type" : "integer",
            "description" : "Shared reports limit",
            "format" : "int64"
          },
          "trafficLogDailyRequests" : {
            "type" : "integer",
            "description" : "Traffic log daily requests limit",
            "format" : "int64"
          },
          "trafficSources" : {
            "type" : "integer",
            "description" : "Number of available active traffic sources",
            "format" : "int64"
          },
          "valuesPerDimensionList" : {
            "type" : "integer",
            "description" : "Values per dimension list limit",
            "format" : "int64"
          },
          "workspaces" : {
            "type" : "integer",
            "description" : "Workspaces limit",
            "format" : "int64"
          }
        },
        "description" : "Client's element configuration limits."
      },
      "core_setup_RootRedirectSetupResource" : {
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Is root redirect enabled? By default, all visits to your tracking domain's root URL, without a campaign ID (http://XXX.trackvolum.com/) will display a 404 page. Certain ad networks require this URL to display content relevant to your offers. To comply with this policy, Voluum can redirect it to a specified URL."
          },
          "url" : {
            "type" : "string",
            "description" : "Root redirect URL"
          }
        },
        "description" : "A Root Redirect Setup."
      },
      "billing_BillingSummaryResource" : {
        "required" : [ "activeSubscription", "adSpendSyncEnabled", "discountedLongTermPrice", "id", "nextSubscription", "planCode", "status" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Client id",
            "format" : "uuid"
          },
          "planCode" : {
            "type" : "string",
            "description" : "Code of the plan for the next subscription"
          },
          "status" : {
            "type" : "string",
            "description" : "Account status",
            "enum" : [ "READY", "PROCESSING", "PAYMENT_REQUIRED", "PAYMENT_FAILED", "GATEWAY_FAILURE", "TRACKING_SUSPENDED", "PROLONG_SUSPENDED", "CANCELLED" ]
          },
          "activeSubscription" : {
            "$ref" : "#/components/schemas/billing_SubscriptionResource"
          },
          "nextSubscription" : {
            "$ref" : "#/components/schemas/billing_SubscriptionResource"
          },
          "discountedLongTermPrice" : {
            "type" : "number",
            "description" : "Discounted long term (plan) price"
          },
          "adSpendSyncEnabled" : {
            "type" : "boolean",
            "description" : "If client has ad spend cost synchronization enabled"
          }
        },
        "description" : "Billing summary (status, current subscription, statistics etc.)."
      },
      "payment_ingenico_ClientIngenicoStatusResource" : {
        "required" : [ "hasPendingPayments", "redirectUrl" ],
        "properties" : {
          "hasPendingPayments" : {
            "type" : "boolean",
            "description" : "Does client have any pending payments in context of ingenico e-payments"
          },
          "redirectUrl" : {
            "type" : "string",
            "description" : "Redirect url of most recent payment if exists"
          }
        },
        "description" : "Client status in context of ingenico e-payments"
      },
      "plan_EntityQuotaResource" : {
        "required" : [ "adminWorkerUserLimit", "affiliateNetworks", "asyncReportsRequests", "autoRules", "campaigns", "campaignsInAllFromTrafficSourceAutoRule", "columnConditionsPerAutoRule", "customDomainCertificates", "customDomains", "dedicatedDomains", "dimensionLists", "entitiesPerAutoRule", "flows", "ipRangesPerCondition", "ipUaEntriesPerRule", "ipUaRules", "landers", "memberUserLimit", "offers", "sharedReports", "trafficLogDailyRequests", "trafficSources", "valuesPerDimensionList", "workspaces" ],
        "properties" : {
          "adminWorkerUserLimit" : {
            "type" : "integer",
            "description" : "Number of available Admin/Worker users",
            "format" : "int64"
          },
          "affiliateNetworks" : {
            "type" : "integer",
            "description" : "Affiliate networks limit",
            "format" : "int64"
          },
          "asyncReportsRequests" : {
            "type" : "integer",
            "description" : "Async report request limit",
            "format" : "int64"
          },
          "autoRules" : {
            "type" : "integer",
            "description" : "Auto rules limit",
            "format" : "int64"
          },
          "campaigns" : {
            "type" : "integer",
            "description" : "Active campaigns limit",
            "format" : "int64"
          },
          "campaignsInAllFromTrafficSourceAutoRule" : {
            "type" : "integer",
            "description" : "Campaigns in All from Traffic Source auto rule limit",
            "format" : "int64"
          },
          "columnConditionsPerAutoRule" : {
            "type" : "integer",
            "description" : "Column conditions per auto rule limit",
            "format" : "int64"
          },
          "customDomainCertificates" : {
            "type" : "integer",
            "description" : "Number of ssl certificates",
            "format" : "int64"
          },
          "customDomains" : {
            "type" : "integer",
            "description" : "Number of custom domains",
            "format" : "int64"
          },
          "dedicatedDomains" : {
            "type" : "integer",
            "description" : "Number of dedicated domains",
            "format" : "int64"
          },
          "dimensionLists" : {
            "type" : "integer",
            "description" : "Dimension lists limit",
            "format" : "int64"
          },
          "entitiesPerAutoRule" : {
            "type" : "integer",
            "description" : "Entities per auto rule limit",
            "format" : "int64"
          },
          "flows" : {
            "type" : "integer",
            "description" : "Flows limit",
            "format" : "int64"
          },
          "ipRangesPerCondition" : {
            "type" : "integer",
            "description" : "IP ranges per condition limit",
            "format" : "int64"
          },
          "ipUaEntriesPerRule" : {
            "type" : "integer",
            "description" : "IP UA Enterprise Rules limit",
            "format" : "int64"
          },
          "ipUaRules" : {
            "type" : "integer",
            "description" : "IP UA Rules limit",
            "format" : "int64"
          },
          "landers" : {
            "type" : "integer",
            "description" : "Active landers limit",
            "format" : "int64"
          },
          "memberUserLimit" : {
            "type" : "integer",
            "description" : "Number of available Member users",
            "format" : "int64"
          },
          "offers" : {
            "type" : "integer",
            "description" : "Active offers limit",
            "format" : "int64"
          },
          "sharedReports" : {
            "type" : "integer",
            "description" : "Shared reports limit",
            "format" : "int64"
          },
          "trafficLogDailyRequests" : {
            "type" : "integer",
            "description" : "Traffic log daily requests limit",
            "format" : "int64"
          },
          "trafficSources" : {
            "type" : "integer",
            "description" : "Traffic source limit",
            "format" : "int64"
          },
          "valuesPerDimensionList" : {
            "type" : "integer",
            "description" : "Values per dimension list limit",
            "format" : "int64"
          },
          "workspaces" : {
            "type" : "integer",
            "description" : "Workspaces limit",
            "format" : "int64"
          }
        },
        "description" : "Entity quota limits"
      },
      "campaign_RedirectTargetUpdateResource" : {
        "properties" : {
          "flow" : {
            "$ref" : "#/components/schemas/flow_FlowIdResource"
          },
          "inlineFlow" : {
            "$ref" : "#/components/schemas/flow_FlowUpdateResource"
          },
          "redirectUrl" : {
            "$ref" : "#/components/schemas/campaign_RedirectUrlResource"
          }
        },
        "description" : "A redirect target (destination)."
      },
      "multiuser_WorkspaceUpdateResource" : {
        "required" : [ "memberships", "name" ],
        "properties" : {
          "memberships" : {
            "type" : "array",
            "description" : "Memberships",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_MultiUserMembershipInfoResource"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "A workspace"
      },
      "com_codewise_voluum_push_api_model_PreferenceKey" : {
        "required" : [ "name", "type" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Preference type (CATEGORY, CHANNEL)",
            "enum" : [ "CATEGORY", "CHANNEL" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Preference name"
          }
        },
        "description" : "Preference key",
        "example" : {
          "type" : "CATEGORY",
          "name" : "CAMPAIGN_FIRST_CONVERSION"
        }
      },
      "com_codewise_voluum_push_api_model_InboxPayload" : {
        "required" : [ "body", "category", "extras", "title" ],
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Notification title"
          },
          "body" : {
            "type" : "string",
            "description" : "Notification body"
          },
          "category" : {
            "type" : "string",
            "description" : "Notification category",
            "enum" : [ "UNKNOWN", "CAMPAIGN_FIRST_CONVERSION", "OFFER_CAP_NEARLY_REACHED", "OFFER_CAP_REACHED", "OVERAGES_STARTED", "OVERAGES_HUGE", "PAYMENT_FAILED", "PAYMENT_SUCCEEDED", "NOTIFICATION_SEEN", "OFFER_STOPPED_CONVERTING", "CAMPAIGN_ROI_BELOW_ZERO", "AUTO_RULE", "CUSTOM_NOTIFICATION", "ANNUAL_PLAN_PROMO", "INTEGRATION_STOPPED_WORKING", "INTEGRATION_IS_WORKING_AGAIN", "AD_SPEND_LIMIT_REACHED", "AD_SPEND_LIMIT_NEARLY_REACHED", "DIMENSION_LIST_LIMIT_REACHED", "DOMAIN_CERTIFICATION", "DOMAIN_FLAGGED" ]
          },
          "extras" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additional data"
          }
        },
        "description" : "Inbox notification payload",
        "example" : {
          "title" : "First conversion!",
          "body" : "Campaign received its first conversion",
          "category" : "CAMPAIGN_FIRST_CONVERSION",
          "extras" : {
            "entityId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
            "campaignId" : "dbc13aa3-828e-4c2d-9224-0876ad205722",
            "entityName" : "My Campaign",
            "entityType" : "CAMPAIGN",
            "campaignName" : "My Campaign"
          }
        }
      },
      "usermanagement_password_PasswordUpdateResource" : {
        "required" : [ "newPassword", "oldPassword" ],
        "properties" : {
          "newPassword" : {
            "type" : "string",
            "description" : "New password"
          },
          "oldPassword" : {
            "type" : "string",
            "description" : "Current (old) password"
          }
        },
        "description" : "Password update request"
      },
      "path_condition_ReferrerConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "List of referrer names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Referrer condition."
      },
      "core_setup_WorkspaceDomainsResource" : {
        "required" : [ "domains" ],
        "properties" : {
          "domains" : {
            "type" : "array",
            "description" : "Domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainResource"
            }
          }
        },
        "description" : "Workspace domains."
      },
      "dictionary_os_OsResource" : {
        "required" : [ "name", "versions" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Operating system name"
          },
          "versions" : {
            "type" : "array",
            "description" : "Version",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "An Operating System."
      },
      "customconversion_custompostback_CustomConversionPostbackUpdateResource" : {
        "required" : [ "customPostbackUrl", "index" ],
        "properties" : {
          "customPostbackUrl" : {
            "type" : "string",
            "description" : "Custom conversion custom postback URL"
          },
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          }
        },
        "description" : "Custom conversions postback configuration"
      },
      "campaign_CampaignUrlTestSessionResource" : {
        "required" : [ "token", "url" ],
        "properties" : {
          "token" : {
            "type" : "string",
            "description" : "Token"
          },
          "url" : {
            "type" : "string",
            "description" : "URL"
          }
        },
        "description" : "Campaign URL for test sessions."
      },
      "abninja_GroupOptimisationResource" : {
        "required" : [ "groupId", "mode" ],
        "properties" : {
          "groupId" : {
            "type" : "string",
            "description" : "Group id",
            "format" : "uuid"
          },
          "mode" : {
            "type" : "string",
            "description" : "Auto optimisation method f.e. ROI",
            "enum" : [ "CVR", "EPV", "ROI" ]
          }
        },
        "description" : "A group with auto optimized path weights"
      },
      "glass_TransferScheduleResource" : {
        "required" : [ "timeUnit", "unitAmount" ],
        "properties" : {
          "unitAmount" : {
            "type" : "integer",
            "description" : "Number of time units between transfers",
            "format" : "int64"
          },
          "timeUnit" : {
            "type" : "string",
            "description" : "Time unit (e.g. MINUTES, HOURS)"
          }
        },
        "description" : "Transfer schedule defining how often data transfers run",
        "example" : {
          "unitAmount" : 30,
          "timeUnit" : "MINUTES"
        }
      },
      "path_condition_OperatingSystemConditionResource" : {
        "required" : [ "predicate" ],
        "properties" : {
          "operatingSystems" : {
            "type" : "array",
            "description" : "List of operating system names. Use to make condition for whole specific operating system eg. only Linux",
            "items" : {
              "type" : "string"
            }
          },
          "operatingSystemsAndVersions" : {
            "type" : "array",
            "description" : "List of operating system names and versions. Use to make condition for specific both operating system and versions eg. only Windows 10 and OS X 10.10",
            "items" : {
              "$ref" : "#/components/schemas/path_condition_OperatingSystemAndVersionResource"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "An Operating System condition."
      },
      "trafficsource_CustomVariableResource" : {
        "required" : [ "index", "name", "parameter", "trackedInReports" ],
        "properties" : {
          "index" : {
            "type" : "integer",
            "description" : "Custom variable slot number (1..10). Maps to the customVariable{index} dimension in reports.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "User-facing label for this slot on this traffic source (e.g. \"Zone ID\" on PropellerAds, \"Publisher ID\" on Reacheffect). Slot semantics differ per source — groupBy=customVariable{index} reports must be scoped to a single source (typically a single campaign) to be meaningful."
          },
          "parameter" : {
            "type" : "string",
            "description" : "URL parameter name the traffic source sends on the click (e.g. zoneid on PropellerAds, pubid on Reacheffect). Captured into the customVariable{index} dimension; empty when the source doesn't expose a parameter for the slot (e.g. ExoClick creative)."
          },
          "placeholder" : {
            "type" : "string",
            "description" : "Placeholder. This is the token that you get from your traffic source. For example: www.domain.com/?parameter={placeholder}"
          },
          "trackedInReports" : {
            "type" : "boolean",
            "description" : "Is this variable tracked in Reports? This defines whether the variable will be included in reports"
          }
        },
        "description" : "A Custom Variable."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ReportColumnResource" : {
        "required" : [ "name", "precision", "visible", "width" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Column name"
          },
          "visible" : {
            "type" : "boolean",
            "description" : "Whether column should be visible/displayed"
          },
          "width" : {
            "type" : "integer",
            "description" : "Column width, if null width is calculated automatically",
            "format" : "int32"
          },
          "precision" : {
            "type" : "integer",
            "description" : "Column precision",
            "format" : "int32"
          }
        },
        "description" : "A report column."
      },
      "usermanagement_email_EmailChangeInitResource" : {
        "required" : [ "newEmail", "password" ],
        "properties" : {
          "newEmail" : {
            "type" : "string",
            "description" : "New email"
          },
          "password" : {
            "type" : "string",
            "description" : "User's password"
          }
        },
        "description" : "Email change init request"
      },
      "trafficsource_TrafficSourceTemplateResource" : {
        "required" : [ "comment", "costTrackingSupported", "costVariable", "currencyCode", "customVariables", "description", "directTracking", "documentationUrl", "externalIds", "features", "id", "image", "impressionSpecific", "integrationType", "name", "pixelRedirectUrl", "postbackUrl", "promoted", "showLimitedGeoTracking", "websiteUrl" ],
        "properties" : {
          "comment" : {
            "type" : "string",
            "description" : ""
          },
          "costTrackingSupported" : {
            "type" : "boolean",
            "description" : ""
          },
          "costVariable" : {
            "$ref" : "#/components/schemas/trafficsource_VariableResource"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : ""
          },
          "customVariables" : {
            "type" : "array",
            "description" : "",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_CustomVariableResource"
            }
          },
          "description" : {
            "type" : "string",
            "description" : ""
          },
          "directTracking" : {
            "type" : "boolean",
            "description" : ""
          },
          "documentationUrl" : {
            "type" : "string",
            "description" : "Documentation URL"
          },
          "externalIds" : {
            "type" : "array",
            "description" : "",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_VariableResource"
            }
          },
          "features" : {
            "type" : "array",
            "description" : "",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_TrafficSourceTemplateFeatureResource"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "",
            "format" : "uuid"
          },
          "image" : {
            "type" : "string",
            "description" : ""
          },
          "impressionSpecific" : {
            "type" : "boolean",
            "description" : ""
          },
          "integrationType" : {
            "type" : "string",
            "description" : "Defines which integration this template is intended for."
          },
          "name" : {
            "type" : "string",
            "description" : ""
          },
          "pixelRedirectUrl" : {
            "type" : "string",
            "description" : ""
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : ""
          },
          "promoted" : {
            "type" : "boolean",
            "description" : ""
          },
          "showLimitedGeoTracking" : {
            "type" : "boolean",
            "description" : "Show limited geo tracking option"
          },
          "websiteUrl" : {
            "type" : "string",
            "description" : "Traffic Source website URL"
          }
        },
        "description" : ""
      },
      "dictionary_country_CountryResource" : {
        "required" : [ "code", "name" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Country code"
          },
          "name" : {
            "type" : "string",
            "description" : "Country full name"
          }
        },
        "description" : "A Country."
      },
      "com_codewise_voluum_monitor_model_RuleAttachOperation" : {
        "required" : [ "id", "operation" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Auto rule id",
            "format" : "uuid"
          },
          "operation" : {
            "type" : "string",
            "description" : "Operation (ATTACH, DETACH)",
            "enum" : [ "ATTACH", "DETACH" ]
          }
        },
        "description" : "Rule attach/detach operation",
        "example" : {
          "id" : "6c6818ea-932d-4ec9-be8f-51f67b327403",
          "operation" : "ATTACH"
        }
      },
      "dictionary_region_RegionCollectionResource" : {
        "required" : [ "regions" ],
        "properties" : {
          "regions" : {
            "type" : "array",
            "description" : "Regions",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of regions."
      },
      "billing_promos_PromoResource" : {
        "required" : [ "closeable", "descriptions", "id", "params", "promoCode", "validTo" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "closeable" : {
            "type" : "boolean",
            "description" : "Is promo closeable"
          },
          "promoCode" : {
            "type" : "string",
            "description" : "Promo closeable"
          },
          "validTo" : {
            "type" : "string",
            "description" : "Promo end time",
            "format" : "date-time"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Promo descriptions",
            "items" : {
              "$ref" : "#/components/schemas/billing_promos_PromoDescriptionResource"
            }
          },
          "params" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : " params"
          }
        },
        "description" : "Promo resource"
      },
      "customconversion_cost_CustomConversionCostUpdateResource" : {
        "required" : [ "index", "value" ],
        "properties" : {
          "index" : {
            "type" : "integer",
            "description" : "Index of custom conversion (from 1 to 20, must be unique)",
            "format" : "int32"
          },
          "value" : {
            "type" : "number",
            "description" : "Custom conversion cost (CPA) or fraction of traffic source commission (CPA_REVSHARE)"
          }
        },
        "description" : "Custom conversions cost configuration"
      },
      "offer_OfferUpdateResource" : {
        "required" : [ "currencyCode", "namePostfix", "payout", "url" ],
        "properties" : {
          "affiliateNetwork" : {
            "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkIdResource"
          },
          "capConfiguration" : {
            "$ref" : "#/components/schemas/offer_cap_OfferCapConfigurationResource"
          },
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryCodeResource"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Offer name (without country and affiliate network prefix)"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "payout" : {
            "$ref" : "#/components/schemas/offer_payout_PayoutResource"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given offer",
            "items" : {
              "type" : "string"
            }
          },
          "url" : {
            "type" : "string",
            "description" : "Offer url"
          },
          "vertical" : {
            "type" : "string",
            "description" : "Vertical"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "An Offer."
      },
      "payment_profile_PayPalAccountResource" : {
        "required" : [ "email" ],
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "PayPal account email"
          }
        },
        "description" : "PayPal account details."
      },
      "offer_OfferResource" : {
        "required" : [ "createdTime", "currencyCode", "id", "name", "namePostfix", "note", "payout", "updatedTime", "url" ],
        "properties" : {
          "affiliateNetwork" : {
            "$ref" : "#/components/schemas/affiliatenetwork_AffiliateNetworkIdResource"
          },
          "capConfiguration" : {
            "$ref" : "#/components/schemas/offer_cap_OfferCapConfigurationResource"
          },
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryResource"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is offer deleted?"
          },
          "id" : {
            "type" : "string",
            "description" : "Offer id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Full offer name. The first part of the name is automatically generated based on the country and affiliate network"
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Name (without country and affiliate network prefix)"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "payout" : {
            "$ref" : "#/components/schemas/offer_payout_PayoutResource"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given offer",
            "items" : {
              "type" : "string"
            }
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "url" : {
            "type" : "string",
            "description" : "Offer's url"
          },
          "vertical" : {
            "type" : "string",
            "description" : "Vertical"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "An Offer."
      },
      "globalfilter_GlobalFilterRuleResource" : {
        "required" : [ "name" ],
        "properties" : {
          "ipRules" : {
            "type" : "array",
            "description" : "List of ip rules",
            "items" : {
              "$ref" : "#/components/schemas/globalfilter_IpBlacklistRuleResource"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Rule name"
          },
          "parameterValueRules" : {
            "type" : "array",
            "description" : "List of request parameters rules",
            "items" : {
              "$ref" : "#/components/schemas/globalfilter_RequestParameterBlacklistRuleResource"
            }
          },
          "userAgentRules" : {
            "type" : "array",
            "description" : "List of user agent rules",
            "items" : {
              "$ref" : "#/components/schemas/globalfilter_UserAgentBlacklistRuleResource"
            }
          }
        },
        "description" : "A IP/UA Rule. To create a new IP/UA rule, define a name and add at least 1 IP / IP range or useragent value within the respective fields."
      },
      "com_codewise_voluum_push_api_model_Feedback" : {
        "required" : [ "comment", "edited", "score" ],
        "properties" : {
          "edited" : {
            "type" : "string",
            "description" : "Time when feedback was last edited",
            "format" : "date-time"
          },
          "score" : {
            "type" : "integer",
            "description" : "Feedback score",
            "format" : "int32"
          },
          "comment" : {
            "type" : "string",
            "description" : "Feedback comment"
          }
        },
        "description" : "Feedback response",
        "example" : {
          "edited" : "2026-03-15T10:30:00Z",
          "score" : 5,
          "comment" : "Very useful notification"
        }
      },
      "path_condition_IspConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "List of isp names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "An Isp condition."
      },
      "path_condition_CustomVariableConditionResource" : {
        "required" : [ "values" ],
        "properties" : {
          "values" : {
            "type" : "array",
            "description" : "List of custom variable values",
            "items" : {
              "$ref" : "#/components/schemas/path_condition_CustomVariableValueResource"
            }
          }
        },
        "description" : "A Custom Variable condition."
      },
      "multiuser_WorkspaceInfoResource" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          }
        },
        "description" : "Workspace basic info"
      },
      "glass_ReportItemMappingResourceCollection" : {
        "required" : [ "availableSourceItems", "destinationItems", "mappings" ],
        "properties" : {
          "mappings" : {
            "type" : "array",
            "description" : "mappings",
            "items" : {
              "$ref" : "#/components/schemas/glass_ReportItemMappingResource"
            }
          },
          "availableSourceItems" : {
            "type" : "array",
            "description" : "All Source items that were not used in manual mapping",
            "items" : {
              "$ref" : "#/components/schemas/glass_ReportItemResource"
            }
          },
          "destinationItems" : {
            "type" : "array",
            "description" : "All destination items",
            "items" : {
              "$ref" : "#/components/schemas/glass_ReportItemResource"
            }
          }
        },
        "description" : "Report items manual mapping collection",
        "example" : {
          "mappings" : [ {
            "srcItem" : {
              "id" : "ts-campaign-123",
              "name" : "Summer Campaign"
            },
            "dstItem" : {
              "id" : "f4d70b8d-09c3-43d5-8fc0-45e0ecbfe943",
              "name" : "Summer Sale"
            },
            "type" : "MANUAL"
          } ],
          "availableSourceItems" : [ {
            "id" : "ts-campaign-789",
            "name" : "Winter Campaign"
          } ],
          "destinationItems" : [ {
            "id" : "vlm-campaign-012",
            "name" : "Winter Sale"
          } ]
        }
      },
      "core_setup_DomainSetupResource" : {
        "required" : [ "dedicatedDomains" ],
        "properties" : {
          "customDomains" : {
            "type" : "array",
            "description" : "Custom domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_CustomDomainResource"
            }
          },
          "dedicatedDomains" : {
            "type" : "array",
            "description" : "Dedicated domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainResource"
            }
          },
          "defaultRedirectDomain" : {
            "type" : "string",
            "description" : "Default redirect domain address"
          },
          "internalDomains" : {
            "type" : "array",
            "description" : "Internal domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainResource"
            }
          },
          "redirectDomain" : {
            "type" : "string",
            "description" : "Redirect domain address"
          }
        },
        "description" : "A Domain Setup."
      },
      "domain_CnameValidationResultCollectionResource" : {
        "required" : [ "validationResults" ],
        "properties" : {
          "validationResults" : {
            "type" : "array",
            "description" : "Domain validation results",
            "items" : {
              "$ref" : "#/components/schemas/domain_CnameValidationResultResource"
            }
          }
        },
        "description" : "List of DNS settings validation results."
      },
      "path_condition_LanguageConditionResource" : {
        "required" : [ "languages", "predicate" ],
        "properties" : {
          "languages" : {
            "type" : "array",
            "description" : "List of language codes",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_language_LanguageCodeResource"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Language condition."
      },
      "com_codewise_voluum_push_api_model_DevicePayload" : {
        "required" : [ "deviceInfo", "deviceType", "token" ],
        "properties" : {
          "token" : {
            "type" : "string",
            "description" : "Device push notification token"
          },
          "deviceType" : {
            "type" : "string",
            "description" : "Device type (IOS, ANDROID, WEB)",
            "enum" : [ "IOS", "ANDROID", "WEB" ]
          },
          "deviceInfo" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_DeviceInfo"
          }
        },
        "description" : "Device registration payload",
        "example" : {
          "token" : "fMp7bE2xRk:APA91bH...",
          "deviceType" : "ANDROID",
          "deviceInfo" : {
            "osName" : "Android",
            "osVersion" : "14",
            "browserName" : "Chrome",
            "browserVersion" : "120"
          }
        }
      },
      "glass_ValueWithState<String>" : {
        "required" : [ "state", "value" ],
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The value"
          },
          "state" : {
            "type" : "string",
            "description" : "State (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          }
        },
        "description" : "Value with enabled/disabled state",
        "example" : {
          "state" : "ENABLED"
        }
      },
      "offer_payout_GeoPayoutResource" : {
        "required" : [ "country", "currencyCode", "payout" ],
        "properties" : {
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryResource"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "payout" : {
            "type" : "number",
            "description" : "Payout value"
          }
        },
        "description" : "GeoPayout"
      },
      "glass_IntegrationUpdateResource" : {
        "required" : [ "accountName", "authentication", "autoMappingEnabled", "estimateCost", "transferStatus", "workspaceIds" ],
        "properties" : {
          "transferStatus" : {
            "type" : "string",
            "description" : "Transfer status",
            "enum" : [ "ACTIVE", "PAUSED" ]
          },
          "authentication" : {
            "$ref" : "#/components/schemas/glass_AuthenticationResource"
          },
          "accountName" : {
            "type" : "string",
            "description" : "Account name"
          },
          "estimateCost" : {
            "type" : "boolean",
            "description" : "Estimate cost"
          },
          "autoMappingEnabled" : {
            "type" : "boolean",
            "description" : "Should campaigns be automatically mapped"
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Data source integration update resource",
        "example" : {
          "transferStatus" : "ACTIVE",
          "accountName" : "Updated Account Name",
          "estimateCost" : true,
          "autoMappingEnabled" : false,
          "workspaceIds" : [ "d9fb072e-119d-4033-8614-b7963fbf5bb9" ]
        }
      },
      "campaign_CostModelUpdateResource" : {
        "required" : [ "type" ],
        "properties" : {
          "customConversionCostConfiguration" : {
            "$ref" : "#/components/schemas/customconversion_cost_CustomConversionCostConfigurationUpdateResource"
          },
          "trafficLossEnabled" : {
            "type" : "boolean",
            "description" : "Traffic loss toggle"
          },
          "trafficLossRatio" : {
            "type" : "number",
            "description" : "Traffic loss value %"
          },
          "type" : {
            "type" : "string",
            "description" : "Cost model type: NOT_TRACKED, CPC, CPA, CPA_REVSHARE, AUTO or CPM. NOT_TRACKED disables cost tracking. CPC allows you to enter your cost per click. CPA allows you to enter your cost per conversion. CPA_REVSHARE allows you to enter fraction of traffic source commission per conversion. Allowed values are 0.0 to 1.0 inclusive. AUTO is used when you have defined the cost parameter in your traffic source. CPM allows you to enter your cost per mileage (cost for 1000 impressions)",
            "enum" : [ "CPC", "CPA", "CPA_REVSHARE", "NOT_TRACKED", "AUTO", "AUTO_CPI", "CPM" ]
          },
          "value" : {
            "type" : "number",
            "description" : "Cost value"
          }
        },
        "description" : "A Cost model."
      },
      "listicle_ListicleDestinationResource" : {
        "required" : [ "lander", "offers", "sublanders" ],
        "properties" : {
          "lander" : {
            "$ref" : "#/components/schemas/lander_LanderIdResource"
          },
          "offers" : {
            "type" : "array",
            "description" : "Offers",
            "items" : {
              "$ref" : "#/components/schemas/offer_OfferIdResource"
            }
          },
          "sublanders" : {
            "type" : "array",
            "description" : "Sublanders",
            "items" : {
              "$ref" : "#/components/schemas/listicle_ListicleDestinationResource"
            }
          }
        },
        "description" : "Listicle destination."
      },
      "reports_ReportLiveResource" : {
        "required" : [ "messages", "rows", "totalRows" ],
        "properties" : {
          "rows" : {
            "type" : "array",
            "description" : "List of real-time event rows, ordered most recent first.",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            }
          },
          "totalRows" : {
            "type" : "integer",
            "description" : "Total number of live events available.",
            "format" : "int32"
          },
          "messages" : {
            "type" : "array",
            "description" : "Informational or error messages about the live report.",
            "items" : {
              "$ref" : "#/components/schemas/reports_ReportMessageResource"
            }
          }
        },
        "description" : "Real-time event data for a specific campaign. Contains the most recent visit or click events as they occur.",
        "example" : {
          "rows" : [ {
            "visitTimestamp" : "2026-03-05T14:32:01Z",
            "campaignId" : "7f4e2c8a-9b1d-4e3f-a5c7-1234567890ab",
            "countryCode" : "US",
            "device" : "mobile",
            "os" : "Android",
            "isp" : "T-Mobile"
          } ],
          "totalRows" : 59,
          "messages" : [ {
            "level" : "WARN",
            "code" : "ERROR",
            "message" : "Unable to fetch campaigns."
          } ]
        }
      },
      "plan_PlanFeaturesResource" : {
        "required" : [ "groupedFeatures" ],
        "properties" : {
          "groupedFeatures" : {
            "type" : "array",
            "description" : "Grouped features",
            "items" : {
              "$ref" : "#/components/schemas/plan_PlanFeatureGroupResource"
            }
          }
        },
        "description" : "Plan features"
      },
      "core_setup_DomainUpdateResource" : {
        "required" : [ "address" ],
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Domain address"
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "A Domain."
      },
      "campaign_RedirectTargetResource" : {
        "properties" : {
          "flow" : {
            "$ref" : "#/components/schemas/flow_FlowIdResource"
          },
          "inlineFlow" : {
            "$ref" : "#/components/schemas/flow_FlowResource"
          },
          "listicle" : {
            "$ref" : "#/components/schemas/listicle_ListicleResource"
          },
          "redirectUrl" : {
            "$ref" : "#/components/schemas/campaign_RedirectUrlResource"
          }
        },
        "description" : "A redirect target (destination)."
      },
      "campaign_CampaignResource" : {
        "required" : [ "clientId", "costModel", "createdTime", "id", "impressionUrl", "name", "namePostfix", "note", "redirectTarget", "trafficSource", "updatedTime", "url" ],
        "properties" : {
          "banned" : {
            "type" : "boolean",
            "description" : "Is campaign banned? (true/false)"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client identifier",
            "format" : "uuid"
          },
          "costModel" : {
            "$ref" : "#/components/schemas/campaign_CostModelResource"
          },
          "country" : {
            "$ref" : "#/components/schemas/dictionary_country_CountryResource"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is campaign deleted? (true/false)"
          },
          "directTracking" : {
            "type" : "boolean",
            "description" : "Campaign marked with this flag accepts direct tracking."
          },
          "directTrackingLanderId" : {
            "type" : "string",
            "description" : "Lander URL for direct tracking.",
            "format" : "uuid"
          },
          "directTrackingOfferId" : {
            "type" : "string",
            "description" : "Offer URL for direct tracking.",
            "format" : "uuid"
          },
          "id" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "impressionUrl" : {
            "type" : "string",
            "description" : "Campaign impression URL"
          },
          "name" : {
            "type" : "string",
            "description" : "Full campaign name. The first part of the name is automatically generated based on the country and traffic source"
          },
          "namePostfix" : {
            "type" : "string",
            "description" : "Campaign name without first automatically generated part based on the country and traffic source"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "pixelRedirectUrl" : {
            "type" : "string",
            "description" : "Pixel URL. Use this option if you need to fire client side conversions back to your traffic source. Note: this solution is cookie based, therefore a browser needs to be cookie enabled for this functionality to work. Also, the Voluum URL tokens may not be used for these pixels"
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "Postback URL. This field is prepopulated if you defined a postback URL in your traffic source"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "redirectTarget" : {
            "$ref" : "#/components/schemas/campaign_RedirectTargetResource"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags associated with a given campaign",
            "items" : {
              "type" : "string"
            }
          },
          "trafficSource" : {
            "$ref" : "#/components/schemas/trafficsource_TrafficSourceIdResource"
          },
          "trafficType" : {
            "type" : "string",
            "description" : "Traffic type",
            "enum" : [ "POP", "NATIVE", "SEARCH", "PUSH", "BANNER", "MAIL", "SMS", "VIDEO", "SOCIAL" ]
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "url" : {
            "type" : "string",
            "description" : "This is the URL that you will send your visitors to. The parameters are generated based on the traffic source configuration"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Campaign."
      },
      "affiliatenetwork_AffiliateNetworkResource" : {
        "required" : [ "createdTime", "id", "name", "note", "updatedTime" ],
        "properties" : {
          "appendClickIdToOfferUrl" : {
            "type" : "boolean",
            "description" : "Append click ID to offer URLs (true or false)"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is Affiliate network deleted?"
          },
          "duplicatedPostbackIsUpsell" : {
            "type" : "boolean",
            "description" : "Accept duplicate postbacks (true or false)"
          },
          "id" : {
            "type" : "string",
            "description" : "Affiliate network id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Affiliate network name"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "Postback URL"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "templateId" : {
            "type" : "string",
            "description" : "Id of template used to create this Affiliate Network"
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "whitelistConfiguration" : {
            "$ref" : "#/components/schemas/affiliatenetwork_WhitelistConfigurationResource"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "An Affiliate Network."
      },
      "billing_notification_NotificationResource" : {
        "required" : [ "balance", "losingCustomDomains", "losingUserAccounts", "notification", "owningPaymentProfile", "paymentDeadLine", "trialDaysLeft" ],
        "properties" : {
          "notification" : {
            "type" : "string",
            "description" : "Notification status code",
            "enum" : [ "TRAFFIC_CANCELLED", "TRAFFIC_SUSPENDED", "PAYMENT_REQUIRED", "PAYMENT_FAILED", "APPROACHING_HARD_LIMIT", "PAYMENT_DUE_AUTO", "PAYMENT_DUE_WT", "DOWNGRADE", "TRIAL" ]
          },
          "owningPaymentProfile" : {
            "type" : "boolean",
            "description" : "Whether payment profile is set up"
          },
          "paymentDeadLine" : {
            "type" : "string",
            "description" : "Outstanding payment deadline - if any",
            "format" : "local-date-time"
          },
          "losingCustomDomains" : {
            "type" : "boolean",
            "description" : "Indicates whether user loses custom domains in case of downgrade"
          },
          "losingUserAccounts" : {
            "type" : "boolean",
            "description" : "Indicates whether user loses user accounts in case of downgrade"
          },
          "trialDaysLeft" : {
            "type" : "integer",
            "description" : "Indicates how many days left on trial period",
            "format" : "int32"
          },
          "balance" : {
            "type" : "number",
            "description" : "Balance of the account"
          }
        },
        "description" : "Billing notification."
      },
      "path_condition_WeekdayConditionResource" : {
        "required" : [ "predicate", "timeZone", "weekdays" ],
        "properties" : {
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          },
          "timeZone" : {
            "$ref" : "#/components/schemas/dictionary_time_TimezoneCodeResource"
          },
          "weekdays" : {
            "type" : "array",
            "description" : "List of weekdays",
            "items" : {
              "type" : "string",
              "enum" : [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
            }
          }
        },
        "description" : "A Weekday condition."
      },
      "dictionary_time_TimezoneCollectionResource" : {
        "required" : [ "timezones" ],
        "properties" : {
          "timezones" : {
            "type" : "array",
            "description" : "Timezones",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_time_TimezoneResource"
            }
          }
        },
        "description" : "List of timezones."
      },
      "glass_ValueWithState<glass_RuleActionResource>" : {
        "required" : [ "state", "value" ],
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The value",
            "enum" : [ "PAUSE", "RESUME", "CHANGE_BID", "ALERTS", "PAUSE_RESUME_DAY_PARTING", "LIST", "MARKERS" ]
          },
          "state" : {
            "type" : "string",
            "description" : "State (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          }
        },
        "description" : "Value with enabled/disabled state",
        "example" : {
          "state" : "ENABLED"
        }
      },
      "com_codewise_voluum_cruder_rest_model_common_IdWrapper" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID",
            "format" : "uuid"
          }
        },
        "description" : "Wrapper for ID"
      },
      "customconversion_CustomConversionCollectionResource" : {
        "required" : [ "customConversions" ],
        "properties" : {
          "customConversions" : {
            "type" : "array",
            "description" : "List of custom conversions",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_CustomConversionResource"
            }
          }
        },
        "description" : "Custom conversions configuration"
      },
      "usermanagement_membership_MembershipAcceptResource" : {
        "required" : [ "invitationId" ],
        "properties" : {
          "invitationId" : {
            "type" : "string",
            "description" : "Invitation id",
            "format" : "uuid"
          }
        },
        "description" : "Membership creation request"
      },
      "usermanagement_invitation_InviteeCollectionResource" : {
        "required" : [ "invitees" ],
        "properties" : {
          "invitees" : {
            "type" : "array",
            "description" : "Invitees",
            "items" : {
              "$ref" : "#/components/schemas/usermanagement_invitation_InviteeResource"
            }
          }
        },
        "description" : "List of invitees"
      },
      "security_GrantedAccessCollectionResource" : {
        "required" : [ "grantedAccesses" ],
        "properties" : {
          "grantedAccesses" : {
            "type" : "array",
            "description" : "Granted accesses",
            "items" : {
              "$ref" : "#/components/schemas/security_GrantedAccessResource"
            }
          }
        },
        "description" : "List of granted accesses"
      },
      "path_condition_CustomVariableValueResource" : {
        "required" : [ "predicate", "valueMatcher", "variableIndex", "variableValues" ],
        "properties" : {
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          },
          "valueMatcher" : {
            "type" : "string",
            "description" : "Value matcher type",
            "enum" : [ "EQUALS", "CONTAINS" ]
          },
          "variableIndex" : {
            "type" : "integer",
            "description" : "Variable index",
            "format" : "int32"
          },
          "variableValues" : {
            "type" : "array",
            "description" : "Variable values",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "A Custom Variable Value."
      },
      "usermanagement_captcha_CaptchaResource" : {
        "required" : [ "captchaImageUrl", "id" ],
        "properties" : {
          "captchaImageUrl" : {
            "type" : "string",
            "description" : "Captcha image url"
          },
          "id" : {
            "type" : "string",
            "description" : "Captcha id"
          }
        },
        "description" : "Captcha details"
      },
      "payment_coupon_CouponValidationResultResource" : {
        "required" : [ "amount", "code", "percentOff", "type" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Coupon code"
          },
          "type" : {
            "type" : "string",
            "description" : "Coupon type",
            "enum" : [ "AMOUNT", "PERCENT_OFF", "PRIVATE_PLAN" ]
          },
          "amount" : {
            "type" : "number",
            "description" : "Amount in $"
          },
          "expirationInstant" : {
            "type" : "string",
            "description" : "Expiration date/time",
            "format" : "date-time"
          },
          "activationDeadline" : {
            "type" : "string",
            "description" : "Activation deadline",
            "format" : "date-time"
          },
          "validPeriod" : {
            "type" : "string",
            "description" : "Valid period"
          },
          "percentOff" : {
            "type" : "integer",
            "description" : "Percent off",
            "format" : "int32"
          },
          "overrides" : {
            "type" : "array",
            "description" : "Coupon overrides",
            "items" : {
              "$ref" : "#/components/schemas/payment_coupon_CouponOverrideResource"
            }
          }
        },
        "description" : "Coupon validation result."
      },
      "core_setup_WorkspaceDomainsUpdateResource" : {
        "required" : [ "domains" ],
        "properties" : {
          "domains" : {
            "type" : "array",
            "description" : "Domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainUpdateResource"
            }
          }
        },
        "description" : "Workspace domains update resource."
      },
      "billing_info_AddressResource" : {
        "required" : [ "addressLine", "city", "country", "state", "zipCode" ],
        "properties" : {
          "addressLine" : {
            "type" : "string",
            "description" : "Address (street, number...)"
          },
          "city" : {
            "type" : "string",
            "description" : "City name"
          },
          "country" : {
            "type" : "string",
            "description" : "Country code"
          },
          "state" : {
            "type" : "string",
            "description" : "State name"
          },
          "zipCode" : {
            "type" : "string",
            "description" : "Zip code"
          }
        },
        "description" : "Address details."
      },
      "abninja_OfferOptimisationResource" : {
        "required" : [ "offerId", "weight" ],
        "properties" : {
          "offerId" : {
            "type" : "string",
            "description" : "Offer id",
            "format" : "uuid"
          },
          "weight" : {
            "type" : "integer",
            "description" : "Auto optimized weight",
            "format" : "int64"
          }
        },
        "description" : "An offer with auto optimized weight"
      },
      "com_codewise_voluum_monitor_model_AutoRuleQuota" : {
        "required" : [ "autoRulesLimit", "columnConditionsLimit", "filterValuesLimit", "trafficSourceCampaignsLimit" ],
        "properties" : {
          "autoRulesLimit" : {
            "type" : "integer",
            "description" : "Maximum number of auto rules",
            "format" : "int32"
          },
          "columnConditionsLimit" : {
            "type" : "integer",
            "description" : "Maximum number of column conditions per rule",
            "format" : "int32"
          },
          "filterValuesLimit" : {
            "type" : "integer",
            "description" : "Maximum number of filter values",
            "format" : "int32"
          },
          "trafficSourceCampaignsLimit" : {
            "type" : "integer",
            "description" : "Maximum number of traffic source campaigns",
            "format" : "int32"
          }
        },
        "description" : "Auto rule quota/limits",
        "example" : {
          "autoRulesLimit" : 50,
          "columnConditionsLimit" : 10,
          "filterValuesLimit" : 100,
          "trafficSourceCampaignsLimit" : 500
        }
      },
      "sharedreports_ReportQueryResource" : {
        "required" : [ "columns", "direction", "from", "groupBy", "include", "limit", "offset", "sort", "timeZone", "to", "type", "workspaces" ],
        "properties" : {
          "filters" : {
            "type" : "array",
            "description" : "Report filter",
            "items" : {
              "$ref" : "#/components/schemas/sharedreports_FilterResource"
            }
          },
          "groupBy" : {
            "type" : "array",
            "description" : "Columns to group by",
            "items" : {
              "type" : "string"
            }
          },
          "sort" : {
            "type" : "string",
            "description" : "Column to sort by"
          },
          "direction" : {
            "type" : "string",
            "description" : "Sorting direction",
            "enum" : [ "ASC", "DESC" ]
          },
          "offset" : {
            "type" : "integer",
            "description" : "Report rows page offset",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Report rows page limit",
            "format" : "int32"
          },
          "textFilter" : {
            "type" : "string",
            "description" : "Text Filter"
          },
          "tags" : {
            "type" : "array",
            "description" : "Tags to filter by",
            "items" : {
              "type" : "string"
            }
          },
          "columns" : {
            "type" : "array",
            "description" : "Requested columns",
            "items" : {
              "type" : "string"
            }
          },
          "conversionTimeMode" : {
            "type" : "string",
            "description" : "Specifies on which event time conversions should be aggregated",
            "enum" : [ "CONVERSION", "VISIT" ]
          },
          "from" : {
            "type" : "string",
            "description" : "Start time"
          },
          "to" : {
            "type" : "string",
            "description" : "End time"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Time Zone."
          },
          "include" : {
            "type" : "string",
            "description" : "Type of core entities to include",
            "enum" : [ "ALL", "ACTIVE", "ARCHIVED", "TRAFFIC" ]
          },
          "currency" : {
            "type" : "string",
            "description" : "Currency"
          },
          "type" : {
            "type" : "string",
            "description" : "Report type",
            "enum" : [ "REPORT", "CONVERSION_REPORT" ]
          },
          "workspaces" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Shared report query"
      },
      "com_codewise_voluum_monitor_model_CustomNotificationCollection" : {
        "required" : [ "notifications" ],
        "properties" : {
          "notifications" : {
            "type" : "array",
            "description" : "List of custom notifications",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_CustomNotification"
            }
          }
        },
        "description" : "Custom notification collection",
        "example" : {
          "notifications" : [ {
            "id" : "6f538b21-ffdd-4a7c-80a7-1b7fe43b88f2",
            "name" : "ROI below zero alert",
            "entityType" : "CAMPAIGN",
            "entities" : [ {
              "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
              "name" : "Summer Sale"
            } ],
            "timeRangeHours" : 24,
            "rules" : [ {
              "column" : "roi",
              "relation" : "LESS_THAN",
              "threshold" : 0.0
            } ],
            "state" : "ACTIVE"
          } ]
        }
      },
      "dictionary_time_TimezoneResource" : {
        "required" : [ "code", "name" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Timezone code"
          },
          "name" : {
            "type" : "string",
            "description" : "Timezone name"
          }
        },
        "description" : "A Timezone."
      },
      "com_codewise_voluum_monitor_model_AutoRuleTemplateCollection" : {
        "required" : [ "templates" ],
        "properties" : {
          "templates" : {
            "type" : "array",
            "description" : "List of auto rule templates",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRuleTemplate"
            }
          }
        },
        "description" : "Auto rule template collection",
        "example" : {
          "templates" : [ {
            "condition" : {
              "type" : "campaign",
              "entitySelectionType" : "BY_TRAFFIC_SOURCE",
              "timeRange" : {
                "type" : "hours",
                "hours" : 24
              },
              "columnConditions" : [ {
                "column" : "roi",
                "relation" : "LESS_THAN",
                "threshold" : {
                  "type" : "static",
                  "value" : 0.0
                }
              } ],
              "evaluationIntervalMinutes" : 60
            },
            "actions" : [ {
              "type" : "notification",
              "channels" : [ "FCM" ]
            } ],
            "topic" : "Low ROI alert"
          } ]
        }
      },
      "com_codewise_voluum_monitor_model_AvailableActionsCollection" : {
        "required" : [ "availableActions" ],
        "properties" : {
          "availableActions" : {
            "type" : "array",
            "description" : "List of available actions per entity",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AvailableActions"
            }
          }
        },
        "description" : "Available actions collection",
        "example" : {
          "availableActions" : [ {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "availableActions" : [ "pausing", "bidExact", "notification" ],
            "integrationStatus" : "INTEGRATED"
          } ]
        }
      },
      "payment_RetryPaymentResultResource" : {
        "required" : [ "success" ],
        "properties" : {
          "success" : {
            "type" : "boolean",
            "description" : "Indicates if payment operation finished with success"
          }
        },
        "description" : "Result of retry payment operation"
      },
      "agricall_NavigationRequestResource" : {
        "required" : [ "prompt" ],
        "properties" : {
          "prompt" : {
            "type" : "string",
            "description" : "Prompt"
          }
        },
        "description" : "Navigation request."
      },
      "eventlog_EventLogEntryResource" : {
        "required" : [ "actionType", "category", "changes", "clientId", "editTime", "entityId", "entityName", "id", "userId", "userName" ],
        "properties" : {
          "actionType" : {
            "type" : "string",
            "description" : "Type of action",
            "enum" : [ "CREATE", "ARCHIVE", "CHANGE", "RESTORE", "LOGIN", "REAUTHENTICATE", "PAUSE", "RESUME" ]
          },
          "category" : {
            "type" : "string",
            "description" : "Category. It says on which type of entity changes were made",
            "enum" : [ "CAMPAIGN", "TRAFFIC_SOURCE", "FLOW", "OFFER", "AFFILIATE_NETWORK", "LANDER", "WORKSPACE", "ACCOUNT", "TRAFFIC_FILTER", "INTEGRATION" ]
          },
          "changes" : {
            "$ref" : "#/components/schemas/eventlog_NestedEntityChangeResource"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client id which made changes",
            "format" : "uuid"
          },
          "editTime" : {
            "type" : "integer",
            "description" : "Edition time in UNIX time see: https://en.wikipedia.org/wiki/Unix_time",
            "format" : "int64"
          },
          "entityId" : {
            "type" : "string",
            "description" : "Entity id which was changed",
            "format" : "uuid"
          },
          "entityName" : {
            "type" : "string",
            "description" : "Name of changed entity"
          },
          "id" : {
            "type" : "string",
            "description" : "Event log entry id",
            "format" : "uuid"
          },
          "userId" : {
            "type" : "string",
            "description" : "User id which made changes",
            "format" : "uuid"
          },
          "userName" : {
            "type" : "string",
            "description" : "User name which made changes"
          }
        },
        "description" : "An Event Log Entry."
      },
      "path_condition_IpConditionResource" : {
        "required" : [ "ipV4Ranges", "predicate" ],
        "properties" : {
          "ipV4Ranges" : {
            "type" : "array",
            "description" : "List of ip ranges",
            "items" : {
              "$ref" : "#/components/schemas/path_condition_IpV4RangeResource"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "An Ip condition."
      },
      "common_UuidCollectionResource" : {
        "required" : [ "ids" ],
        "properties" : {
          "ids" : {
            "type" : "array",
            "description" : "IDs",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Collection of UUIDs."
      },
      "com_codewise_voluum_monitor_model_AutoRuleCollection" : {
        "required" : [ "rules" ],
        "properties" : {
          "rules" : {
            "type" : "array",
            "description" : "List of auto rules",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_AutoRule"
            }
          }
        },
        "description" : "Auto rule collection",
        "example" : {
          "rules" : [ {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "name" : "Pause low ROI campaigns",
            "condition" : {
              "type" : "campaign",
              "entitySelectionType" : "BY_TRAFFIC_SOURCE",
              "timeRange" : {
                "type" : "hours",
                "hours" : 24
              },
              "columnConditions" : [ {
                "column" : "roi",
                "relation" : "LESS_THAN",
                "threshold" : {
                  "type" : "static",
                  "value" : 0.5
                }
              } ],
              "evaluationIntervalMinutes" : 60
            },
            "actions" : [ {
              "type" : "pausing",
              "operation" : "PAUSE"
            } ],
            "status" : "ENABLED",
            "lastEvaluation" : "2026-03-15T10:00:00Z",
            "nextEvaluation" : "2026-03-15T11:00:00Z"
          } ]
        }
      },
      "core_setup_ivt_TimeToInstallConfigurationResource" : {
        "properties" : { },
        "description" : "Time To Install Configuration"
      },
      "campaign_CampaignSummaryResource" : {
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Full campaign name. The first part of the name is automatically generated based on the country and traffic source"
          }
        },
        "description" : "A Campaign."
      },
      "payment_AccountBalanceResource" : {
        "required" : [ "balance", "creditLimit", "effectiveBalance" ],
        "properties" : {
          "balance" : {
            "type" : "number",
            "description" : "Balance in $"
          },
          "effectiveBalance" : {
            "type" : "number",
            "description" : "Effective balance in $"
          },
          "creditLimit" : {
            "type" : "number",
            "description" : "Credit limit in $"
          }
        },
        "description" : "Account balance details."
      },
      "core_setup_RealtimeRoutingApiSetupResource" : {
        "required" : [ "enabled" ],
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Is realtime routing API enabled?"
          },
          "url" : {
            "type" : "string",
            "description" : "Realtime routing API URL"
          }
        },
        "description" : "A Realtime routing API."
      },
      "affiliatenetwork_WhitelistConfigurationResource" : {
        "required" : [ "onlyWhitelistedPostbackIps", "whiteListedIps" ],
        "properties" : {
          "onlyWhitelistedPostbackIps" : {
            "type" : "boolean",
            "description" : "Only accept postbacks from white-listed IPs or subnets (true or false). If true field whiteListedIps must be not empty"
          },
          "whiteListedIps" : {
            "type" : "array",
            "description" : "If onlyWhitelistedPostbackIps enabled Voluum will only count postbacks from this white-listed IPs or subnets",
            "items" : {
              "$ref" : "#/components/schemas/affiliatenetwork_WhitelistedIpResource"
            }
          }
        },
        "description" : "Whitelist postback ips or subnets configuration"
      },
      "dictionary_language_LanguageResource" : {
        "required" : [ "code", "name" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Language code"
          },
          "name" : {
            "type" : "string",
            "description" : "Language full name"
          }
        },
        "description" : "A Language."
      },
      "com_codewise_voluum_cruder_rest_model_onboarding_OnboardingCategoryResource" : {
        "required" : [ "cards" ],
        "properties" : {
          "cards" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_onboarding_OnboardingChecklistCardResource"
            },
            "description" : "Cards representing steps in current category."
          },
          "events" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_onboarding_OnboardingChecklistEventResource"
            },
            "description" : "Event tracked information in current category."
          }
        },
        "description" : "Onboarding account checklist category."
      },
      "core_setup_SetupResource" : {
        "required" : [ "antiFraudConfiguration", "domains", "landerProtectionKey", "quota", "realtimeRoutingApi", "timeToInstallConfiguration", "urls" ],
        "properties" : {
          "antiFraudConfiguration" : {
            "$ref" : "#/components/schemas/core_setup_ivt_AntiFraudConfigurationResource"
          },
          "domains" : {
            "$ref" : "#/components/schemas/core_setup_DomainSetupResource"
          },
          "impressionPixelForwardingWhitelistedDomains" : {
            "type" : "array",
            "description" : "Impression pixel forwarding whitelisted domains",
            "items" : {
              "type" : "string"
            }
          },
          "landerProtectionKey" : {
            "type" : "string",
            "description" : "Lander protection key"
          },
          "quota" : {
            "$ref" : "#/components/schemas/core_setup_QuotaResource"
          },
          "realtimeRoutingApi" : {
            "$ref" : "#/components/schemas/core_setup_RealtimeRoutingApiSetupResource"
          },
          "rootRedirect" : {
            "$ref" : "#/components/schemas/core_setup_RootRedirectSetupResource"
          },
          "timeToInstallConfiguration" : {
            "$ref" : "#/components/schemas/core_setup_ivt_TimeToInstallConfigurationResource"
          },
          "urls" : {
            "$ref" : "#/components/schemas/core_setup_UrlSetupResource"
          }
        },
        "description" : "Client setup."
      },
      "sharedreports_FilterResource" : {
        "required" : [ "column", "relation", "value" ],
        "properties" : {
          "column" : {
            "type" : "string",
            "description" : "Filter column"
          },
          "value" : {
            "type" : "string",
            "description" : "Filter value"
          },
          "relation" : {
            "type" : "string",
            "description" : "Value from column to value from filter relation",
            "enum" : [ "EQUAL", "GREATER", "LESS" ]
          }
        },
        "description" : "Report filter"
      },
      "usermanagement_ClientResource" : {
        "required" : [ "created", "features", "id", "initialPlan", "name", "phoneNumber", "referrerToken", "signUpPlan" ],
        "properties" : {
          "created" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "features" : {
            "type" : "array",
            "description" : "List of available features",
            "items" : {
              "type" : "string",
              "enum" : [ "AFFILIATE_TRACKING" ]
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "initialPlan" : {
            "type" : "string",
            "description" : "Plan chosen during registration process"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Phone number"
          },
          "referrerToken" : {
            "type" : "string",
            "description" : "Referrer token"
          },
          "signUpPlan" : {
            "type" : "string",
            "description" : "Plan chosen during registration process"
          }
        },
        "description" : "User's client details"
      },
      "path_PathLanderResource" : {
        "required" : [ "lander", "sublanders", "weight" ],
        "properties" : {
          "lander" : {
            "$ref" : "#/components/schemas/lander_LanderIdResource"
          },
          "sublanders" : {
            "type" : "array",
            "description" : "Sublanders",
            "items" : {
              "$ref" : "#/components/schemas/path_PathLanderResource"
            }
          },
          "weight" : {
            "type" : "number",
            "description" : "Path weight"
          }
        },
        "description" : "A Path Lander."
      },
      "billing_AdSpendResource" : {
        "required" : [ "adSpend", "adSpendPricing", "endTime", "startTime" ],
        "properties" : {
          "startTime" : {
            "type" : "string",
            "description" : "Start date/time",
            "format" : "local-date-time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "End date/time",
            "format" : "local-date-time"
          },
          "adSpend" : {
            "type" : "number",
            "description" : "Ad spend"
          },
          "adSpendPricing" : {
            "$ref" : "#/components/schemas/plan_AdSpendPricingResource"
          }
        },
        "description" : "Ad spend details."
      },
      "listicle_ListicleResource" : {
        "required" : [ "destination", "id", "name", "offerRedirectMode" ],
        "properties" : {
          "destination" : {
            "$ref" : "#/components/schemas/listicle_ListicleDestinationResource"
          },
          "id" : {
            "type" : "string",
            "description" : "Listicle id.",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Listicle name."
          },
          "offerRedirectMode" : {
            "type" : "string",
            "description" : "Redirect Mode. 302 is a 'REGULAR' http redirect. Double Meta Refresh ('DOUBLE_HTML') can be used if you want to avoid passing traffic or lander referrer URL to the advertiser end",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          }
        },
        "description" : "Listicle."
      },
      "plan_PlanUpdateResource" : {
        "required" : [ "code" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Subscription plan code"
          }
        },
        "description" : "Plan update request."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ChartPreferencePatchResource" : {
        "properties" : {
          "selectedColumns" : {
            "type" : "array",
            "description" : "Columns visible on chart",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ChartColumnResource"
            }
          },
          "showsPreviousTimeRange" : {
            "type" : "boolean",
            "description" : "Whether previous time range should be shown on chart"
          }
        },
        "description" : "Charts preferences"
      },
      "affiliatenetwork_AffiliateNetworkUpdateResource" : {
        "required" : [ "appendClickIdToOfferUrl", "duplicatedPostbackIsUpsell", "name" ],
        "properties" : {
          "appendClickIdToOfferUrl" : {
            "type" : "boolean",
            "description" : "Append click ID to offer URLs (true or false)"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "duplicatedPostbackIsUpsell" : {
            "type" : "boolean",
            "description" : "Accept duplicate postbacks (true or false)"
          },
          "name" : {
            "type" : "string",
            "description" : "Affiliate network name"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "preferredTrackingDomain" : {
            "type" : "string",
            "description" : "Preferred tracking domain"
          },
          "templateId" : {
            "type" : "string",
            "description" : "Id of template used to create this Affiliate Network"
          },
          "whitelistConfiguration" : {
            "$ref" : "#/components/schemas/affiliatenetwork_WhitelistConfigurationResource"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "An Affiliate Network."
      },
      "reports_ManualCostConstraintsResource" : {
        "required" : [ "dataRetentionInDays", "maxDateTime", "maxPeriodInDays", "minDateTime" ],
        "properties" : {
          "dataRetentionInDays" : {
            "type" : "integer",
            "description" : "Number of days for which report data are retained",
            "format" : "int32"
          },
          "maxPeriodInDays" : {
            "type" : "integer",
            "description" : "Maximum number of days to override costs",
            "format" : "int32"
          },
          "minDateTime" : {
            "type" : "string",
            "description" : "Earliest date/time allowed to override costs",
            "format" : "local-date-time"
          },
          "maxDateTime" : {
            "type" : "string",
            "description" : "Latest date/time allowed to override costs",
            "format" : "local-date-time"
          }
        },
        "description" : "Manual cost update constraints."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ReportTabOrderResource" : {
        "required" : [ "reportName", "tabOrder" ],
        "properties" : {
          "reportName" : {
            "type" : "string",
            "description" : "Report name"
          },
          "tabOrder" : {
            "type" : "array",
            "description" : "Tab order",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Report tab order"
      },
      "billing_invoice_InvoiceResource" : {
        "required" : [ "dateOfIssue", "grossAmount", "id", "netAmount" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Invoice id",
            "format" : "uuid"
          },
          "dateOfIssue" : {
            "type" : "string",
            "description" : "Date of issue",
            "format" : "local-date"
          },
          "netAmount" : {
            "type" : "number",
            "description" : "Net amount in $"
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "Gross amount in $"
          }
        },
        "description" : "Invoice details."
      },
      "com_codewise_voluum_push_api_model_DeviceListResponse" : {
        "required" : [ "devices" ],
        "properties" : {
          "devices" : {
            "type" : "array",
            "description" : "List of device tokens",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of registered devices",
        "example" : {
          "devices" : [ "fMp7bE2xRk:APA91bH..." ]
        }
      },
      "billing_promos_PromoDescriptionResource" : {
        "required" : [ "ctaParams", "type" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Type of promo",
            "enum" : [ "CHANGE_PLAN", "CONTACT_SALES", "PRIVATE_PLAN", "EXTERNAL_LINK_PROMO", "INFO" ]
          },
          "ctaParams" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "CTA params"
          }
        },
        "description" : "Promo generic description"
      },
      "core_setup_ivt_AntiFraudConfigurationResource" : {
        "properties" : { },
        "description" : "Anti Fraud Configuration"
      },
      "plan_RequestFeatures" : {
        "properties" : { },
        "description" : "Requested feature collection resource"
      },
      "billing_invoice_InvoiceCollectionResource" : {
        "required" : [ "invoices", "totalCount" ],
        "properties" : {
          "invoices" : {
            "type" : "array",
            "description" : "Invoices",
            "items" : {
              "$ref" : "#/components/schemas/billing_invoice_InvoiceResource"
            }
          },
          "totalCount" : {
            "type" : "integer",
            "description" : "A number of invoices that an unpaged collection would contain",
            "format" : "int64"
          }
        },
        "description" : "List of invoices."
      },
      "com_codewise_voluum_push_api_model_DeviceInfo" : {
        "required" : [ "browserName", "browserVersion", "osName", "osVersion" ],
        "properties" : {
          "osName" : {
            "type" : "string",
            "description" : "Operating system name"
          },
          "osVersion" : {
            "type" : "string",
            "description" : "Operating system version"
          },
          "browserName" : {
            "type" : "string",
            "description" : "Browser name"
          },
          "browserVersion" : {
            "type" : "string",
            "description" : "Browser version"
          }
        },
        "description" : "Device information",
        "example" : {
          "osName" : "Android",
          "osVersion" : "14",
          "browserName" : "Chrome",
          "browserVersion" : "120"
        }
      },
      "abninja_PathOptimisationResource" : {
        "required" : [ "mode", "offers", "pathId" ],
        "properties" : {
          "pathId" : {
            "type" : "string",
            "description" : "Path id",
            "format" : "uuid"
          },
          "offers" : {
            "type" : "array",
            "description" : "Auto optimized offers",
            "items" : {
              "$ref" : "#/components/schemas/abninja_OfferOptimisationResource"
            }
          },
          "mode" : {
            "type" : "string",
            "description" : "Auto optimisation method f.e. ROI",
            "enum" : [ "CVR", "EPV", "ROI" ]
          }
        },
        "description" : "A path with auto optimized offer weights"
      },
      "customconversion_custompostback_CustomConversionPostbackCollectionResource" : {
        "required" : [ "customConversionPostbacks" ],
        "properties" : {
          "customConversionPostbacks" : {
            "type" : "array",
            "description" : "List of custom conversions with custom postbacks",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_custompostback_CustomConversionPostbackResource"
            }
          }
        },
        "description" : "Custom conversions custom postback configuration"
      },
      "campaign_RedirectUrlResource" : {
        "required" : [ "redirectMode", "url" ],
        "properties" : {
          "redirectMode" : {
            "type" : "string",
            "description" : "Redirect mode. 302 is a REGULAR http redirect. Double Meta Refresh (DOUBLE_HTML) can be used if you want to avoid passing traffic or lander referrer URL to the advertiser end.",
            "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
          },
          "url" : {
            "type" : "string",
            "description" : "Url destination for campaign. Address where campaign redirects traffic."
          }
        },
        "description" : "A Redirect URL."
      },
      "customconversion_custompostback_CustomConversionPostbackUpdateCollectionResource" : {
        "required" : [ "customConversionPostbacks" ],
        "properties" : {
          "customConversionPostbacks" : {
            "type" : "array",
            "description" : "List of custom conversions with custom postbacks",
            "items" : {
              "$ref" : "#/components/schemas/customconversion_custompostback_CustomConversionPostbackUpdateResource"
            }
          }
        },
        "description" : "Custom conversions custom postback configuration"
      },
      "dictionary_brand_BrandCollectionResource" : {
        "required" : [ "brands" ],
        "properties" : {
          "brands" : {
            "type" : "array",
            "description" : "Brands",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_brand_BrandResource"
            }
          }
        },
        "description" : "List of brands."
      },
      "referral_ReferralResource" : {
        "required" : [ "created", "id", "lastLogin", "lastMonthCommissions", "lifeTimeCommissions", "state" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Referral id"
          },
          "created" : {
            "type" : "string",
            "description" : "Referral creation date/time",
            "format" : "local-date-time"
          },
          "state" : {
            "type" : "string",
            "description" : "Referral account status"
          },
          "lastLogin" : {
            "type" : "string",
            "description" : "Referral last login date/time",
            "format" : "local-date-time"
          },
          "lastMonthCommissions" : {
            "type" : "number",
            "description" : "Last month commission amount"
          },
          "lifeTimeCommissions" : {
            "type" : "number",
            "description" : "Lifetime commission amount"
          }
        },
        "description" : "Referral details."
      },
      "path_condition_RegionConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "List of region names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Region condition."
      },
      "path_condition_UniqueVisitConditionResource" : {
        "required" : [ "predicate" ],
        "properties" : {
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A unique visit condition."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ReportPreferenceResource" : {
        "required" : [ "filter", "limit" ],
        "properties" : {
          "columns" : {
            "type" : "array",
            "description" : "Report columns",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportColumnResource"
            }
          },
          "limit" : {
            "type" : "integer",
            "description" : "Results limit",
            "format" : "int32"
          },
          "filter" : {
            "type" : "string",
            "description" : "Report type filter",
            "enum" : [ "ACTIVE", "ARCHIVED", "TRAFFIC", "ALL" ]
          },
          "sort" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportSortPreferenceResource"
          },
          "mainScreen" : {
            "type" : "string",
            "description" : "Report default main screen",
            "enum" : [ "DASHBOARD", "TRACKER" ]
          },
          "reportOpeningWay" : {
            "type" : "string",
            "description" : "Report default opening way",
            "enum" : [ "GO_TO_THE_REPORT", "OPEN_IN_THE_BACKGROUND", "EXPLICIT_CHOICE" ]
          },
          "conversionRegistrationTime" : {
            "type" : "string",
            "description" : "Report conversion registration time",
            "enum" : [ "VISIT", "CONVERSION" ]
          },
          "orderedColumnsConfiguration" : {
            "type" : "array",
            "description" : "Columns order configuration",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_OrderedColumnsConfigurationResource"
            }
          },
          "reportTabOrderConfiguration" : {
            "type" : "array",
            "description" : "Report tab order configuration",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportTabOrderResource"
            }
          }
        },
        "description" : "A report preferences."
      },
      "reports_ColumnMappingResource" : {
        "required" : [ "canBeRestricted", "canGroupBy", "key", "label", "type" ],
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "Human-readable display name for the column, suitable for table headers."
          },
          "type" : {
            "type" : "string",
            "description" : "Data type indicating how the value should be formatted.\nCommon types: string, number (integer), decimal, monetary (currency value), percentage (e.g. CTR, CR, ROI),\n date_time, boolean (displayed as yes/no), seconds (duration, convert to HH:MM:SS)."
          },
          "key" : {
            "type" : "string",
            "description" : "Column key — the value to use in request parameters (*column*, *groupBy*, *sort*, *filterN*)\nand the key under which this column appears in each response row."
          },
          "canBeRestricted" : {
            "type" : "boolean",
            "description" : "If true, this column can be restricted per user in user management settings\n(controlling which columns a user is allowed to see in reports)."
          },
          "canGroupBy" : {
            "type" : "boolean",
            "description" : "If true, this column can be used in the *groupBy* parameter of GET /report."
          }
        },
        "description" : "Column metadata describing a single available report column.\nUse GET /column/info to retrieve the full list of available columns.",
        "example" : {
          "label" : "Campaign ID",
          "type" : "string",
          "key" : "campaignId",
          "canBeRestricted" : false,
          "canGroupBy" : true
        }
      },
      "glass_ReportItemMappingUpdateResource" : {
        "required" : [ "dstItemId", "srcItemId", "type" ],
        "properties" : {
          "srcItemId" : {
            "type" : "string",
            "description" : "Source item id"
          },
          "dstItemId" : {
            "type" : "string",
            "description" : "Destination item id"
          },
          "type" : {
            "type" : "string",
            "description" : "Mapping type",
            "enum" : [ "AUTO", "MANUAL" ]
          }
        },
        "description" : "Report items manual mapping",
        "example" : {
          "srcItemId" : "ts-campaign-123",
          "dstItemId" : "053f3229-a451-4306-a8f1-33c235fe4f7b",
          "type" : "MANUAL"
        }
      },
      "usermanagement_survey_SurveyQuestionResource" : {
        "required" : [ "answers", "id", "question" ],
        "properties" : {
          "answers" : {
            "type" : "array",
            "description" : "Answers",
            "items" : {
              "$ref" : "#/components/schemas/usermanagement_survey_SurveyAnswerResource"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "ID"
          },
          "question" : {
            "type" : "string",
            "description" : "Question"
          }
        },
        "description" : "First view survey question"
      },
      "core_archive_ArchiveResultResource" : {
        "required" : [ "items", "status" ],
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "List of items to be archived",
            "items" : {
              "$ref" : "#/components/schemas/core_archive_ArchiveItemResource"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Archive operation status. SUCCESSFUL - all entities successfully archived. FAILURE - all entities failed to archive. PARTIALLY_APPLIED - some of entities were successfully archived but some of them not",
            "enum" : [ "SUCCESSFUL", "FAILED", "PARTIALLY_APPLIED" ]
          }
        },
        "description" : "A result of archive operation."
      },
      "security_PasswordResource" : {
        "required" : [ "password" ],
        "properties" : {
          "password" : {
            "type" : "string",
            "description" : "Password"
          }
        },
        "description" : "Password"
      },
      "usermanagement_invitation_InvitationResultResource" : {
        "required" : [ "status" ],
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status",
            "enum" : [ "INVITATION_RATE_LIMIT_EXCEEDED", "PENDING_INVITED_USER_LIMIT_EXCEEDED", "USER_ALREADY_JOINED", "WORKER_LIMIT_EXCEEDED", "EMAIL_ALREADY_INVITED", "INVALID_WORKSPACES", "INVALID_MEMBERSHIP_PERMISSIONS_CONFIGURATION" ]
          }
        },
        "description" : "Invitation response"
      },
      "plan_PlanCollectionResource" : {
        "required" : [ "plans" ],
        "properties" : {
          "plans" : {
            "type" : "array",
            "description" : "Plans",
            "items" : {
              "$ref" : "#/components/schemas/plan_PlanResource"
            }
          }
        },
        "description" : "List of plans."
      },
      "eventlog_EventLogResource" : {
        "required" : [ "eventLogEntries" ],
        "properties" : {
          "eventLogEntries" : {
            "type" : "array",
            "description" : "List of event log entries",
            "items" : {
              "$ref" : "#/components/schemas/eventlog_EventLogEntryResource"
            }
          }
        },
        "description" : "An Event Log."
      },
      "glass_AuditConversionsCollectionResource" : {
        "required" : [ "conversions", "offset", "size", "total" ],
        "properties" : {
          "conversions" : {
            "type" : "array",
            "description" : "List of conversions",
            "items" : {
              "$ref" : "#/components/schemas/glass_AuditConversionResource"
            }
          },
          "total" : {
            "type" : "integer",
            "description" : "Total number of conversions",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "description" : "Page offset",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "description" : "Page size",
            "format" : "int32"
          }
        },
        "description" : "Conversions audit collection",
        "example" : {
          "conversions" : [ {
            "id" : "c1d2e3f4-a5b6-7890-cdef-1234567890ab",
            "clickId" : "EAIaIQobChMI9Oy50qqakwMVLEZHAR3tRi7AEAAYASAAEgKunfD_BwE",
            "conversionId" : "LEAD",
            "eventTime" : "2026-03-15T10:30:00+01:00",
            "payout" : 2.5,
            "payoutCurrency" : "USD",
            "transactionId" : "txn-abc-123",
            "voluumClickId" : "w3i7j85bnce02hqgj98pju1r",
            "extraParams" : {
              "clickIdType" : "gclid"
            },
            "status" : "SENT",
            "createdAt" : "2026-03-15T10:31:00"
          } ],
          "total" : 1,
          "offset" : 0,
          "size" : 1
        }
      },
      "tag_TagCollectionResource" : {
        "required" : [ "tags" ],
        "properties" : {
          "tags" : {
            "type" : "array",
            "description" : "Tags",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Tags collection."
      },
      "payment_coupon_CouponResource" : {
        "required" : [ "activated", "activationDeadline", "applicableForPlanCodes", "code", "scope", "tag", "trialEligible", "type" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Coupon code"
          },
          "originalAmount" : {
            "type" : "number",
            "description" : "Amount in $"
          },
          "amountLeft" : {
            "type" : "number",
            "description" : "Non milked amount"
          },
          "expirationInstant" : {
            "type" : "string",
            "description" : "Expiration date/time",
            "format" : "date-time"
          },
          "percentOff" : {
            "type" : "integer",
            "description" : "Discount percentage",
            "format" : "int32"
          },
          "overrides" : {
            "type" : "array",
            "description" : "Coupon overrides",
            "items" : {
              "$ref" : "#/components/schemas/payment_coupon_CouponOverrideResource"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Coupon type",
            "enum" : [ "AMOUNT", "PERCENT_OFF", "PRIVATE_PLAN" ]
          },
          "scope" : {
            "type" : "string",
            "description" : "Coupon scope (plan or plan and overages)",
            "enum" : [ "BASE", "BASE_AND_OVERAGES" ]
          },
          "applicableForPlanCodes" : {
            "type" : "array",
            "description" : "Plans that coupon can be used to pay for or empty for all plans",
            "items" : {
              "type" : "string"
            }
          },
          "activationDeadline" : {
            "type" : "string",
            "description" : "Activation deadline (coupon is expired if not activated before deadline)",
            "format" : "date-time"
          },
          "activated" : {
            "type" : "boolean",
            "description" : "Was coupon activated (used only if activationDeadline is not empty)"
          },
          "tag" : {
            "type" : "string",
            "description" : "Coupon tag - any text that can be used to group coupons together."
          },
          "trialEligible" : {
            "type" : "boolean",
            "description" : "Is coupon eligible for trial or not"
          },
          "validPeriod" : {
            "type" : "string",
            "description" : "Valid period"
          }
        },
        "description" : "Coupon details."
      },
      "glass_KeywordCollectionResource" : {
        "required" : [ "keywords" ],
        "properties" : {
          "keywords" : {
            "type" : "array",
            "description" : "Set of keywords to perform action",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Keyword collection action model",
        "example" : {
          "keywords" : [ "site_123", "zone_A" ]
        }
      },
      "path_condition_IpV4RangeResource" : {
        "required" : [ "ipRangeEnd", "ipRangeStart" ],
        "properties" : {
          "ipRangeEnd" : {
            "type" : "string",
            "description" : "Ip range end"
          },
          "ipRangeStart" : {
            "type" : "string",
            "description" : "Ip range start"
          }
        },
        "description" : "An Ip condition."
      },
      "core_setup_DomainResource" : {
        "required" : [ "address", "mainDomain", "sslStatus" ],
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Domain address"
          },
          "mainDomain" : {
            "type" : "boolean",
            "description" : "Is it main domain?"
          },
          "sslStatus" : {
            "type" : "string",
            "description" : "SSL status for domain",
            "enum" : [ "ENABLED", "PENDING", "DISABLED" ]
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "A domain."
      },
      "dictionary_brand_BrandResource" : {
        "required" : [ "models", "name" ],
        "properties" : {
          "models" : {
            "type" : "array",
            "description" : "Models",
            "items" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Brand name"
          }
        },
        "description" : "A Brand with Models."
      },
      "path_condition_BrowserAndVersionResource" : {
        "required" : [ "browser", "version" ],
        "properties" : {
          "browser" : {
            "type" : "string",
            "description" : "Browser name"
          },
          "version" : {
            "type" : "string",
            "description" : "Browser version"
          }
        },
        "description" : "A Browser And Version."
      },
      "path_condition_ProxyConditionResource" : {
        "required" : [ "predicate", "proxyTypes" ],
        "properties" : {
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          },
          "proxyTypes" : {
            "type" : "array",
            "description" : "List of proxy types",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "A Proxy condition."
      },
      "plan_PlanResource" : {
        "required" : [ "adSpendPricing", "afterTrialPlanCode", "apiAccessRestricted", "availableConditionTypes", "availableRedirectModes", "billingCycle", "billingType", "code", "costPerEvent", "customDomains", "dataRetentionDays", "entityQuota", "id", "includedEvents", "longTermAmount", "longTermBillingCycles", "longTermContract", "maximumDrillDownLevel", "maximumUserAccounts", "name", "price", "supportLevel" ],
        "properties" : {
          "adSpendPricing" : {
            "$ref" : "#/components/schemas/plan_AdSpendPricingResource"
          },
          "afterTrialPlanCode" : {
            "type" : "string",
            "description" : "After trial plan code"
          },
          "apiAccessRestricted" : {
            "type" : "boolean",
            "description" : "API access restricted"
          },
          "availableConditionTypes" : {
            "type" : "array",
            "description" : "Available conditions",
            "items" : {
              "type" : "string",
              "enum" : [ "COUNTRY", "REGION", "CITY", "LANGUAGE", "DAY_OF_WEEK", "TIME_OF_DAY", "DEVICE_TYPE", "BRAND", "BRAND_AND_MODEL", "OPERATING_SYSTEM", "OPERATING_SYSTEM_VERSION", "BROWSER", "BROWSER_VERSION", "CONNECTION_TYPE", "MOBILE_CARRIER", "ISP", "CUSTOM_VARIABLES", "REFERRER", "REFERRER_DOMAIN", "UNIQUE_VISIT", "IP", "PROXY" ]
            }
          },
          "availableRedirectModes" : {
            "type" : "array",
            "description" : "Available redirect modes",
            "items" : {
              "type" : "string",
              "enum" : [ "REGULAR", "HTML", "DOUBLE_HTML", "REDIRECTLESS" ]
            }
          },
          "billingCycle" : {
            "type" : "string",
            "description" : "Billing cycle"
          },
          "billingType" : {
            "type" : "string",
            "description" : "Plan billing type",
            "enum" : [ "STANDARD", "NO_PLAN", "FREE", "TRIAL", "PARTNER_TRYOUT" ]
          },
          "code" : {
            "type" : "string",
            "description" : "Plan code"
          },
          "costPerEvent" : {
            "type" : "number",
            "description" : "Cost per event (visit, click, conversion etc.)"
          },
          "customDomains" : {
            "type" : "integer",
            "description" : "Number of custom domains",
            "format" : "int32"
          },
          "dataRetentionDays" : {
            "type" : "integer",
            "description" : "Data retention days",
            "format" : "int32"
          },
          "entityQuota" : {
            "$ref" : "#/components/schemas/plan_EntityQuotaResource"
          },
          "id" : {
            "type" : "string",
            "description" : "Plan id",
            "format" : "uuid"
          },
          "includedAddonPrices" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "number"
            },
            "description" : "Included addon prices"
          },
          "includedEvents" : {
            "type" : "integer",
            "description" : "Included events",
            "format" : "int64"
          },
          "longTermAmount" : {
            "type" : "number",
            "description" : "Long term amount"
          },
          "longTermBillingCycles" : {
            "type" : "integer",
            "description" : "Number of bought billing cycles",
            "format" : "int32"
          },
          "longTermContract" : {
            "type" : "boolean",
            "description" : "Long term plan"
          },
          "maximumDrillDownLevel" : {
            "type" : "integer",
            "description" : "Maximum drill down level",
            "format" : "int32"
          },
          "maximumUserAccounts" : {
            "type" : "integer",
            "description" : "Maximum user accounts",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Plan name"
          },
          "price" : {
            "type" : "number",
            "description" : "Price in $"
          },
          "supportLevel" : {
            "type" : "string",
            "description" : "Support level"
          }
        },
        "description" : "Plan details."
      },
      "core_workspace_WorkspaceChangeItemErrorResource" : {
        "required" : [ "crossReferenceDetails", "totalNumberOfCrossReferences" ],
        "properties" : {
          "crossReferenceDetails" : {
            "type" : "array",
            "description" : "Cross reference details",
            "items" : {
              "$ref" : "#/components/schemas/core_workspace_WorkspaceCrossReferenceResource"
            }
          },
          "totalNumberOfCrossReferences" : {
            "type" : "integer",
            "description" : "Total number of cross references",
            "format" : "int32"
          }
        },
        "description" : "A resource representing workspace change error"
      },
      "billing_info_BillingInfoResource" : {
        "required" : [ "address", "name", "paymentEnabledStatus", "taxId" ],
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/billing_info_AddressResource"
          },
          "name" : {
            "type" : "string",
            "description" : "(Company) name"
          },
          "paymentEnabledStatus" : {
            "type" : "string",
            "description" : "Describes if payment is enabled for given client",
            "enum" : [ "ENABLED", "DISABLED_VERIFICATION_PENDING", "DISABLED_VERIFICATION_FAILED", "DISABLED_UNKNOWN" ]
          },
          "taxId" : {
            "type" : "string",
            "description" : "Tax id - if applicable (required for EU tax payers)"
          }
        },
        "description" : "Billing details."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_ReportPreferencePatchResource" : {
        "properties" : {
          "columns" : {
            "type" : "array",
            "description" : "Report columns",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportColumnResource"
            }
          },
          "limit" : {
            "type" : "integer",
            "description" : "Results limit",
            "format" : "int32"
          },
          "filter" : {
            "type" : "string",
            "description" : "Report type filter",
            "enum" : [ "ACTIVE", "ARCHIVED", "TRAFFIC", "ALL" ]
          },
          "sort" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportSortPreferenceResource"
          },
          "mainScreen" : {
            "type" : "string",
            "description" : "Report default main screen",
            "enum" : [ "DASHBOARD", "TRACKER" ]
          },
          "reportOpeningWay" : {
            "type" : "string",
            "description" : "Report default opening way",
            "enum" : [ "GO_TO_THE_REPORT", "OPEN_IN_THE_BACKGROUND", "EXPLICIT_CHOICE" ]
          },
          "conversionRegistrationTime" : {
            "type" : "string",
            "description" : "Report conversion registration time",
            "enum" : [ "VISIT", "CONVERSION" ]
          },
          "orderedColumnsConfiguration" : {
            "type" : "array",
            "description" : "Columns order per report",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_OrderedColumnsConfigurationResource"
            }
          },
          "reportTabOrderConfiguration" : {
            "type" : "array",
            "description" : "Report tab order configuration",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_preferences_ReportTabOrderResource"
            }
          }
        },
        "description" : "A report preferences."
      },
      "com_codewise_voluum_cruder_rest_model_preferences_OrderedColumnsConfigurationResource" : {
        "required" : [ "active", "columnOrderTemplateId", "key", "value" ],
        "properties" : {
          "key" : {
            "type" : "array",
            "description" : "Columns grouping",
            "items" : {
              "type" : "string"
            }
          },
          "value" : {
            "type" : "array",
            "description" : "Columns order list",
            "items" : {
              "type" : "string"
            }
          },
          "frozen" : {
            "type" : "array",
            "description" : "Frozen columns",
            "items" : {
              "type" : "string"
            }
          },
          "active" : {
            "type" : "boolean",
            "description" : "Is order active?"
          },
          "columnOrderTemplateId" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_common_IdWrapper"
          }
        },
        "description" : "Columns order list configuration"
      },
      "entity_EntityWithDependenciesResource" : {
        "required" : [ "dependencies", "entity", "type" ],
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "description" : "Entity dependent resources",
            "items" : {
              "$ref" : "#/components/schemas/entity_EntityDependencyResource"
            }
          },
          "entity" : {
            "$ref" : "#/components/schemas/entity_EntityResource"
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type",
            "enum" : [ "CAMPAIGN", "FLOW", "OFFER", "LANDER", "AFFILIATE_NETWORK", "TRAFFIC_SOURCE" ]
          }
        },
        "description" : "Entity with dependent resources."
      },
      "billing_SubscriptionResource" : {
        "required" : [ "adSpendStatistics", "discount", "discountedCostPerEvent", "discountedIncludedAddonPrices", "discountedPrice", "endTime", "plan", "startTime", "statistics", "usageStatisticsResource" ],
        "properties" : {
          "startTime" : {
            "type" : "string",
            "description" : "Start date/time",
            "format" : "local-date-time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "End date/time",
            "format" : "local-date-time"
          },
          "plan" : {
            "$ref" : "#/components/schemas/plan_PlanResource"
          },
          "discountedPrice" : {
            "type" : "number",
            "description" : "Discounted base (plan) price"
          },
          "discountedCostPerEvent" : {
            "type" : "number",
            "description" : "Discounted cost for event"
          },
          "discount" : {
            "$ref" : "#/components/schemas/billing_SubscriptionDiscountResource"
          },
          "statistics" : {
            "$ref" : "#/components/schemas/billing_StatisticsResource"
          },
          "adSpendStatistics" : {
            "$ref" : "#/components/schemas/billing_AdSpendStatisticsResource"
          },
          "usageStatisticsResource" : {
            "$ref" : "#/components/schemas/billing_UsageStatisticsResource"
          },
          "discountedIncludedAddonPrices" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "number"
            },
            "description" : "Included addon prices with discount"
          }
        },
        "description" : "Subscription details."
      },
      "entity_EntityCollectionResource" : {
        "properties" : { },
        "description" : "Entity collection resource"
      },
      "path_condition_CityConditionResource" : {
        "required" : [ "names", "predicate" ],
        "properties" : {
          "names" : {
            "type" : "array",
            "description" : "City names",
            "items" : {
              "type" : "string"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A City condition."
      },
      "usermanagement_register_RegisterEmailResource" : {
        "required" : [ "commercialInformationConsent", "directMarketingConsent", "email", "firstName", "lastName", "password", "signUpPlan" ],
        "properties" : {
          "commercialInformationConsent" : {
            "type" : "boolean",
            "description" : "User consent for sending him commercial information"
          },
          "directMarketingConsent" : {
            "type" : "boolean",
            "description" : "User consent for direct marketing"
          },
          "email" : {
            "type" : "string",
            "description" : "Email address"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "initialCoupon" : {
            "type" : "string",
            "description" : "Initial coupon code"
          },
          "invitationId" : {
            "type" : "string",
            "description" : "Invitation id - if any",
            "format" : "uuid"
          },
          "language" : {
            "type" : "string",
            "description" : "Language"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "password" : {
            "type" : "string",
            "description" : "Password"
          },
          "referrer" : {
            "type" : "string",
            "description" : "Referrer"
          },
          "signUpPlan" : {
            "type" : "string",
            "description" : "Plan chosen during registration process"
          }
        },
        "description" : "User registration request"
      },
      "domain_DnsRecordResource" : {
        "required" : [ "name", "type", "value" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Dns record name"
          },
          "type" : {
            "type" : "string",
            "description" : "Dns record type. See more: https://en.wikipedia.org/wiki/List_of_DNS_record_types"
          },
          "value" : {
            "type" : "string",
            "description" : "Dns record value"
          }
        },
        "description" : "A Dns Record."
      },
      "security_MobileAccessCreateResource" : {
        "required" : [ "accessName", "appId", "email", "password" ],
        "properties" : {
          "accessName" : {
            "type" : "string",
            "description" : "Access name"
          },
          "appId" : {
            "type" : "string",
            "description" : "Application ID indicating usage purpose (supported: api, mobile)",
            "enum" : [ "mobile", "api" ]
          },
          "email" : {
            "type" : "string",
            "description" : "Email"
          },
          "mfaCode" : {
            "type" : "string",
            "description" : "MFA code"
          },
          "password" : {
            "type" : "string",
            "description" : "Password"
          }
        },
        "description" : "Mobile access creation request"
      },
      "com_codewise_voluum_monitor_model_Action" : {
        "properties" : { },
        "description" : "Rule action. Type determines the action variant: notification, pausing, bid, campaignDailyBudget, marker, dayParting, dimensionList"
      },
      "usermanagement_survey_SurveyAnswerResource" : {
        "required" : [ "answer", "id", "type" ],
        "properties" : {
          "answer" : {
            "type" : "string",
            "description" : "Answer"
          },
          "id" : {
            "type" : "string",
            "description" : "ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Answer type",
            "enum" : [ "PREDEFINED", "CUSTOM" ]
          }
        },
        "description" : "First view survey answer"
      },
      "com_codewise_voluum_push_api_model_CategoryPreferences" : {
        "required" : [ "category", "details", "value" ],
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Notification category",
            "enum" : [ "UNKNOWN", "CAMPAIGN_FIRST_CONVERSION", "OFFER_CAP_NEARLY_REACHED", "OFFER_CAP_REACHED", "OVERAGES_STARTED", "OVERAGES_HUGE", "PAYMENT_FAILED", "PAYMENT_SUCCEEDED", "NOTIFICATION_SEEN", "OFFER_STOPPED_CONVERTING", "CAMPAIGN_ROI_BELOW_ZERO", "AUTO_RULE", "CUSTOM_NOTIFICATION", "ANNUAL_PLAN_PROMO", "INTEGRATION_STOPPED_WORKING", "INTEGRATION_IS_WORKING_AGAIN", "AD_SPEND_LIMIT_REACHED", "AD_SPEND_LIMIT_NEARLY_REACHED", "DIMENSION_LIST_LIMIT_REACHED", "DOMAIN_CERTIFICATION", "DOMAIN_FLAGGED" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Preference value (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          },
          "details" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_CategoryPreferencesDetails"
          }
        },
        "description" : "Category preferences with details",
        "example" : {
          "category" : "CAMPAIGN_FIRST_CONVERSION",
          "value" : "ENABLED",
          "details" : {
            "title" : "First conversion",
            "subtitle" : "Get notified on first conversion"
          }
        }
      },
      "plan_AdSpendPricingResource" : {
        "required" : [ "adSpendOveragesEnabled", "adSpendOveragesRate", "includedAdSpend" ],
        "properties" : {
          "adSpendOveragesEnabled" : {
            "type" : "boolean",
            "description" : "Indicates if included ad spend is soft or hard limit"
          },
          "adSpendOveragesRate" : {
            "type" : "number",
            "description" : "Rate for ad spend overages ie. 0.01"
          },
          "includedAdSpend" : {
            "type" : "number",
            "description" : "Amount of included ad spend"
          }
        },
        "description" : "Ad Spend cost pricing"
      },
      "core_setup_DomainSetupUpdateResource" : {
        "properties" : {
          "customDomains" : {
            "type" : "array",
            "description" : "Custom domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainUpdateResource"
            }
          },
          "dedicatedDomains" : {
            "type" : "array",
            "description" : "Dedicated domains",
            "items" : {
              "$ref" : "#/components/schemas/core_setup_DomainUpdateResource"
            }
          },
          "mainDomain" : {
            "type" : "string",
            "description" : "Main domain address"
          },
          "redirectDomain" : {
            "type" : "string",
            "description" : "Redirect domain address"
          }
        },
        "description" : "A Domain setup."
      },
      "path_condition_CountryConditionResource" : {
        "required" : [ "countries", "predicate" ],
        "properties" : {
          "countries" : {
            "type" : "array",
            "description" : "List of country codes",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_country_CountryCodeResource"
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Country condition."
      },
      "glass_IntegrationsLimitsResource" : {
        "required" : [ "integrationsCount", "integrationsLeft", "integrationsLimits" ],
        "properties" : {
          "integrationsCount" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Count of integrations created by user"
          },
          "integrationsLimits" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Config of limited integrations per integration type. Contains only limited integrations, not listed here are unlimited"
          },
          "integrationsLeft" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "format" : "int32"
            },
            "description" : "Config of available integrations to add. Contains only limited integrations, not listed here are unlimited"
          }
        },
        "description" : "Current limits of available new integrations to add",
        "example" : {
          "integrationsCount" : {
            "TABOOLA" : 1,
            "GOOGLE_ADS" : 2
          },
          "integrationsLimits" : {
            "TABOOLA" : 5,
            "GOOGLE_ADS" : 5
          },
          "integrationsLeft" : {
            "TABOOLA" : 4,
            "GOOGLE_ADS" : 3
          }
        }
      },
      "multiuser_MultiUserMembershipUpdateResource" : {
        "required" : [ "permissions", "restrictedColumns", "role", "workspaces" ],
        "properties" : {
          "permissions" : {
            "type" : "array",
            "description" : "Membership permissions",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "restrictedColumns" : {
            "type" : "array",
            "description" : "List of columns to restrict",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_RestrictedColumnResource"
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role",
            "enum" : [ "ADMIN", "WORKER", "MEMBER" ]
          },
          "workspaces" : {
            "type" : "array",
            "description" : "List of workspaces that should be assigned to the user if worker role is chosen",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_WorkspaceInfoResource"
            }
          }
        },
        "description" : "A multi-user membership"
      },
      "customcolumn_ExpressionResource" : {
        "properties" : { },
        "description" : "Operand."
      },
      "usermanagement_invitation_InvitingUserResource" : {
        "required" : [ "firstName", "id", "lastName" ],
        "properties" : {
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "id" : {
            "type" : "string",
            "description" : "Id",
            "format" : "uuid"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          }
        },
        "description" : "Inviting user details"
      },
      "globalfilter_IpBlacklistRuleResource" : {
        "required" : [ "ipRangeEnd", "ipRangeStart" ],
        "properties" : {
          "ipRangeEnd" : {
            "type" : "string",
            "description" : "Ip range end (x.x.x.x)"
          },
          "ipRangeStart" : {
            "type" : "string",
            "description" : "Ip range start (x.x.x.x)"
          }
        },
        "description" : "An Ip Blacklist Rule."
      },
      "com_codewise_voluum_monitor_model_AttachCampaignRequest" : {
        "required" : [ "campaign", "rules" ],
        "properties" : {
          "campaign" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_EntityId"
          },
          "rules" : {
            "type" : "array",
            "description" : "Rules to attach/detach",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_RuleAttachOperation"
            }
          }
        },
        "description" : "Attach campaign to auto rules request",
        "example" : {
          "campaign" : {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "rules" : [ {
            "id" : "6c6818ea-932d-4ec9-be8f-51f67b327403",
            "operation" : "ATTACH"
          } ]
        }
      },
      "trafficsource_TrafficSourceResource" : {
        "required" : [ "createdTime", "customPostbacksConfiguration", "id", "name", "note", "skipSendingPostback", "type", "updatedTime" ],
        "properties" : {
          "clickIdVariable" : {
            "$ref" : "#/components/schemas/trafficsource_VariableResource"
          },
          "costVariable" : {
            "$ref" : "#/components/schemas/trafficsource_VariableResource"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation date/time",
            "format" : "date-time"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "customPostbacksConfiguration" : {
            "$ref" : "#/components/schemas/customconversion_custompostback_CustomConversionPostbackCollectionResource"
          },
          "customVariables" : {
            "type" : "array",
            "description" : "List of custom variables",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_CustomVariableResource"
            }
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Is traffic source deleted?"
          },
          "externalIds" : {
            "type" : "array",
            "description" : "External ids. Use this parameter to track external unique IDs. This is typically used when you need to return an ID to the traffic source",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_VariableResource"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Traffic source id",
            "format" : "uuid"
          },
          "impressionSpecific" : {
            "type" : "boolean",
            "description" : "Traffic source marked with this flag can be use to track impressions"
          },
          "limitedGeoTracking" : {
            "type" : "boolean",
            "description" : "Limited geo tracking"
          },
          "name" : {
            "type" : "string",
            "description" : "Traffic source name"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteResource"
          },
          "pixelRedirectUrl" : {
            "type" : "string",
            "description" : "Pixel redirect url. Use this option if you need to fire client side conversions back to your traffic source. Note: this solution is cookie based, therefore a browser needs to be cookie enabled for this functionality to work. Also, the Voluum URL tokens may not be used for these pixels"
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "Postback URL. Use this option if you need to fire conversions back to your traffic source"
          },
          "predefinedType" : {
            "type" : "string",
            "description" : "Traffic source predefined type",
            "enum" : [ "ZERO_PARK" ]
          },
          "skipSendingPostback" : {
            "type" : "boolean",
            "description" : "Should we send postback to traffic source?"
          },
          "templateId" : {
            "type" : "string",
            "description" : "Id of template used to create this Traffic Source"
          },
          "type" : {
            "type" : "string",
            "description" : "Traffic source type",
            "enum" : [ "CUSTOM", "PREDEFINED" ]
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last update date/time",
            "format" : "date-time"
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Traffic Source."
      },
      "usermanagement_register_RegisterResultResource" : {
        "required" : [ "clientId", "email", "firstName", "lastName", "userId" ],
        "properties" : {
          "clientId" : {
            "type" : "string",
            "description" : "Client id",
            "format" : "uuid"
          },
          "email" : {
            "type" : "string",
            "description" : "Email"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "redirectUrl" : {
            "type" : "string",
            "description" : "Redirect url"
          },
          "userId" : {
            "type" : "string",
            "description" : "User id",
            "format" : "uuid"
          }
        },
        "description" : "User registration response"
      },
      "com_codewise_voluum_monitor_model_CustomNotification" : {
        "required" : [ "entities", "entityType", "id", "name", "rules", "state", "timeRangeHours" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Notification id",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Notification name"
          },
          "entityType" : {
            "type" : "string",
            "description" : "Entity type (CAMPAIGN, OFFER)",
            "enum" : [ "CAMPAIGN", "OFFER" ]
          },
          "entities" : {
            "type" : "array",
            "description" : "Monitored entities",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Entity"
            }
          },
          "timeRangeHours" : {
            "type" : "integer",
            "description" : "Time range in hours",
            "format" : "int64"
          },
          "rules" : {
            "type" : "array",
            "description" : "Notification rules",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_monitor_model_Rule"
            }
          },
          "state" : {
            "type" : "string",
            "description" : "Notification state (PAUSED, ACTIVE)",
            "enum" : [ "PAUSED", "ACTIVE" ]
          }
        },
        "description" : "Custom notification",
        "example" : {
          "id" : "6f538b21-ffdd-4a7c-80a7-1b7fe43b88f2",
          "name" : "ROI below zero alert",
          "entityType" : "CAMPAIGN",
          "entities" : [ {
            "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "name" : "Summer Sale"
          } ],
          "timeRangeHours" : 24,
          "rules" : [ {
            "column" : "roi",
            "relation" : "LESS_THAN",
            "threshold" : 0.0
          } ],
          "state" : "ACTIVE"
        }
      },
      "trafficsource_TrafficSourceUpdateResource" : {
        "required" : [ "impressionSpecific", "name", "skipSendingPostback" ],
        "properties" : {
          "clickIdVariable" : {
            "$ref" : "#/components/schemas/trafficsource_VariableResource"
          },
          "costVariable" : {
            "$ref" : "#/components/schemas/trafficsource_VariableResource"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code"
          },
          "customPostbacksConfiguration" : {
            "$ref" : "#/components/schemas/customconversion_custompostback_CustomConversionPostbackUpdateCollectionResource"
          },
          "customVariables" : {
            "type" : "array",
            "description" : "List of custom variables",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_CustomVariableResource"
            }
          },
          "externalIds" : {
            "type" : "array",
            "description" : "External ids. Use this parameter to track external unique IDs. This is typically used when you need to return an ID to the traffic source",
            "items" : {
              "$ref" : "#/components/schemas/trafficsource_VariableResource"
            }
          },
          "impressionSpecific" : {
            "type" : "boolean",
            "description" : "Traffic source marked with this flag can be use to track impressions"
          },
          "limitedGeoTracking" : {
            "type" : "boolean",
            "description" : "Limited geo tracking"
          },
          "name" : {
            "type" : "string",
            "description" : "Traffic source name"
          },
          "note" : {
            "$ref" : "#/components/schemas/note_NoteUpdateResource"
          },
          "pixelRedirectUrl" : {
            "type" : "string",
            "description" : "Pixel redirect url. Use this option if you need to fire client side conversions back to your traffic source. Note: this solution is cookie based, therefore a browser needs to be cookie enabled for this functionality to work. Also, the Voluum URL tokens may not be used for these pixels"
          },
          "postbackUrl" : {
            "type" : "string",
            "description" : "Postback URL. Use this option if you need to fire conversions back to your traffic source"
          },
          "predefinedType" : {
            "type" : "string",
            "description" : "Traffic source predefined type",
            "enum" : [ "ZERO_PARK" ]
          },
          "skipSendingPostback" : {
            "type" : "boolean",
            "description" : "Should we send postback to traffic source?"
          },
          "templateId" : {
            "type" : "string",
            "description" : "Id of template used to create this Traffic Source"
          },
          "type" : {
            "type" : "string",
            "description" : "Traffic source type",
            "enum" : [ "CUSTOM", "PREDEFINED" ]
          },
          "workspace" : {
            "$ref" : "#/components/schemas/workspace_WorkspaceIdResource"
          }
        },
        "description" : "A Traffic Source update."
      },
      "core_workspace_WorkspaceChangeItemResultResource" : {
        "required" : [ "entityId", "entityName", "error", "status" ],
        "properties" : {
          "entityId" : {
            "type" : "string",
            "description" : "Entity id",
            "format" : "uuid"
          },
          "entityName" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "error" : {
            "$ref" : "#/components/schemas/core_workspace_WorkspaceChangeItemErrorResource"
          },
          "status" : {
            "type" : "string",
            "description" : "Workspace change status",
            "enum" : [ "SUCCESSFUL", "FAILED", "PARTIALLY_APPLIED" ]
          }
        },
        "description" : "An workspace update item"
      },
      "usermanagement_password_PasswordResetExecuteResource" : {
        "required" : [ "code", "newPassword" ],
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Authorization code",
            "format" : "uuid"
          },
          "newPassword" : {
            "type" : "string",
            "description" : "New password"
          }
        },
        "description" : "Password reset execution request"
      },
      "payment_coupon_CouponOverrideResource" : {
        "required" : [ "plan", "value" ],
        "properties" : {
          "plan" : {
            "type" : "string",
            "description" : "Plan Code for which this override apply"
          },
          "value" : {
            "type" : "integer",
            "description" : "Value of coupon override (percentage value, e.g.: 50)",
            "format" : "int32"
          }
        },
        "description" : "Coupon Overrides for Percentage Coupons."
      },
      "plan_PlanFeatureResource" : {
        "required" : [ "feature", "price", "requirement", "upgradePricing", "value" ],
        "properties" : {
          "feature" : {
            "type" : "string",
            "description" : "Feature id"
          },
          "price" : {
            "type" : "number",
            "description" : "Price"
          },
          "requirement" : {
            "type" : "string",
            "description" : "Required (parent) feature"
          },
          "upgradePricing" : {
            "type" : "array",
            "description" : "Price",
            "items" : {
              "$ref" : "#/components/schemas/plan_feature_FeatureUpgradeResource"
            }
          },
          "value" : {
            "type" : "string",
            "description" : "Current value"
          }
        },
        "description" : "Plan feature"
      },
      "globalfilter_UserAgentBlacklistRuleResource" : {
        "required" : [ "userAgent" ],
        "properties" : {
          "userAgent" : {
            "type" : "string",
            "description" : "User agent string eg. \"Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0\")"
          }
        },
        "description" : "An User Agent Black List Rule."
      },
      "path_condition_DeviceTypeConditionResource" : {
        "required" : [ "deviceTypes", "predicate" ],
        "properties" : {
          "deviceTypes" : {
            "type" : "array",
            "description" : "List of device types",
            "items" : {
              "type" : "string",
              "enum" : [ "DESKTOP", "TABLET", "SMART_TV", "MOBILE" ]
            }
          },
          "predicate" : {
            "type" : "string",
            "description" : "Logical predicate",
            "enum" : [ "MUST_BE", "MUST_NOT_BE" ]
          }
        },
        "description" : "A Device Type condition."
      },
      "billing_vat_VatIdRequirementsResultResource" : {
        "required" : [ "countryCode", "requiredStatus" ],
        "properties" : {
          "countryCode" : {
            "type" : "string",
            "description" : "Country code"
          },
          "requiredStatus" : {
            "type" : "string",
            "description" : "Is required",
            "enum" : [ "REQUIRED", "NOT_REQUIRED", "UNKNOWN" ]
          }
        },
        "description" : "VAT Id requirement validation result."
      },
      "com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableValueResource" : {
        "required" : [ "customVariableIndex", "customVariableValue" ],
        "properties" : {
          "customVariableIndex" : {
            "type" : "integer",
            "description" : "Custom variable index",
            "format" : "int32"
          },
          "customVariableValue" : {
            "type" : "string",
            "description" : "Custom variable value"
          }
        },
        "description" : "Custom variable value"
      },
      "dictionary_browser_BrowserCollectionResource" : {
        "required" : [ "browsers" ],
        "properties" : {
          "browsers" : {
            "type" : "array",
            "description" : "Browsers",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_browser_BrowserResource"
            }
          }
        },
        "description" : "List of browsers."
      },
      "workspace_WorkspaceIdResource" : {
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Workspace id",
            "format" : "uuid"
          }
        },
        "description" : "A Workspace id."
      },
      "glass_IntegrationResource" : {
        "required" : [ "accountName", "authentication", "autoMappingEnabled", "estimateCost", "id", "lastTransferTime", "transferStatus", "type", "workspaceIds" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier",
            "format" : "uuid"
          },
          "type" : {
            "type" : "string",
            "description" : "Integration type",
            "enum" : [ "TABOOLA", "REVCONTENT", "GOOGLE_ADS", "EXOCLICK", "FACEBOOK", "PROPELLER_ADS", "MGID", "CLICKBANK", "ZEROPARK", "OUTBRAIN", "ADSTERRA", "TRAFFIC_JUNKY", "PUSHGROUND", "VOLUUM", "CLICKDEALER", "BING", "VERIZON", "AD_OPERATOR", "TIKTOK", "TONIC", "TRAFFIC_NOMADS", "ADCASH", "MONDIAD", "EVA_DAV", "TRAFFIC_STARS", "KELKOOGROUP", "MEDIA_GO", "YIELD_KIT", "CLICKADILLA", "CLICKADU", "NEWS_BREAK", "AFFILKA" ]
          },
          "transferStatus" : {
            "type" : "string",
            "description" : "Data transfer status",
            "enum" : [ "ACTIVE", "PAUSED" ]
          },
          "lastTransferTime" : {
            "type" : "string",
            "description" : "Last data transfer time",
            "format" : "date-time"
          },
          "authentication" : {
            "$ref" : "#/components/schemas/glass_AuthenticationResource"
          },
          "accountName" : {
            "type" : "string",
            "description" : "Account name"
          },
          "estimateCost" : {
            "type" : "boolean",
            "description" : "Estimate cost"
          },
          "autoMappingEnabled" : {
            "type" : "boolean",
            "description" : "Campaigns are automatically mapped"
          },
          "workspaceIds" : {
            "type" : "array",
            "description" : "Workspace ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Base data source integration resource",
        "example" : {
          "id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "type" : "GOOGLE_ADS",
          "transferStatus" : "ACTIVE",
          "lastTransferTime" : "2026-03-15T10:30:00Z",
          "accountName" : "My Google Ads Account",
          "estimateCost" : true,
          "autoMappingEnabled" : true,
          "workspaceIds" : [ "7c3f52a1-b0a4-4455-b69f-163f22a4e645" ]
        }
      },
      "com_codewise_voluum_push_api_model_CategoryPreferencesDetails" : {
        "required" : [ "subtitle", "title" ],
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Display title"
          },
          "subtitle" : {
            "type" : "string",
            "description" : "Display subtitle"
          }
        },
        "description" : "Category preferences display details",
        "example" : {
          "title" : "First conversion",
          "subtitle" : "Get notified on first conversion"
        }
      },
      "dictionary_country_CountryCollectionResource" : {
        "required" : [ "countries" ],
        "properties" : {
          "countries" : {
            "type" : "array",
            "description" : "Countries",
            "items" : {
              "$ref" : "#/components/schemas/dictionary_country_CountryResource"
            }
          }
        },
        "description" : "List of countries."
      },
      "glass_StateActionResultResponse" : {
        "required" : [ "state" ],
        "properties" : {
          "state" : {
            "type" : "string",
            "description" : "External state",
            "enum" : [ "PENDING", "ACTIVE", "PAUSED", "PAUSED_ON_HIGHER_LEVEL", "PAUSED_BY_CAMPAIGN_SETTINGS", "ERROR", "REJECTED", "DELETED", "AMBIGUOUS", "OUT_OF_BUDGET", "EXPIRED", "ACCOUNT_ISSUE", "DISABLED_AUTOMIZER_SPEND_REACHED", "UNKNOWN", "NOT_APPLICABLE" ]
          }
        },
        "description" : "State action result",
        "example" : {
          "state" : "ACTIVE"
        }
      },
      "core_archive_RestoreItemResource" : {
        "required" : [ "id", "name", "status" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of entity to be restored",
            "format" : "uuid"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of entity to be restored"
          },
          "status" : {
            "type" : "string",
            "description" : "Restore operation status (successful or failed)",
            "enum" : [ "SUCCESSFUL", "FAILED" ]
          }
        },
        "description" : "A Restore item."
      },
      "com_codewise_voluum_push_api_model_Preference" : {
        "required" : [ "key", "value" ],
        "properties" : {
          "key" : {
            "$ref" : "#/components/schemas/com_codewise_voluum_push_api_model_PreferenceKey"
          },
          "value" : {
            "type" : "string",
            "description" : "Preference value (ENABLED, DISABLED)",
            "enum" : [ "ENABLED", "DISABLED" ]
          }
        },
        "description" : "Preference update request",
        "example" : {
          "key" : {
            "type" : "CATEGORY",
            "name" : "CAMPAIGN_FIRST_CONVERSION"
          },
          "value" : "ENABLED"
        }
      },
      "reports_ManualCostUpdateResultResource" : {
        "required" : [ "campaignId", "cost", "currency", "from", "timeZone", "to" ],
        "properties" : {
          "from" : {
            "type" : "string",
            "description" : "Datetime from which override costs (inclusive)",
            "format" : "local-date-time"
          },
          "to" : {
            "type" : "string",
            "description" : "Date to which override cost (exclusive)",
            "format" : "local-date-time"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Time zone id",
            "format" : "time-zone"
          },
          "campaignId" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "cost" : {
            "type" : "number",
            "description" : "Cost for the selected time range",
            "format" : "double"
          },
          "currency" : {
            "type" : "string",
            "description" : "Currency"
          }
        },
        "description" : "Manual cost update request."
      },
      "com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableMarkersResource" : {
        "required" : [ "campaignId", "customVariableMarkers" ],
        "properties" : {
          "campaignId" : {
            "type" : "string",
            "description" : "Campaign id",
            "format" : "uuid"
          },
          "customVariableMarkers" : {
            "type" : "array",
            "description" : "Custom variables markers",
            "items" : {
              "$ref" : "#/components/schemas/com_codewise_voluum_cruder_rest_model_markers_customvariable_CustomVariableMarkerResource"
            }
          }
        },
        "description" : "Custom variable markers resource"
      },
      "dictionary_browser_BrowserResource" : {
        "required" : [ "name", "versions" ],
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of browser"
          },
          "versions" : {
            "type" : "array",
            "description" : "Versions",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Internet Browser."
      },
      "payment_coupon_CouponCollectionResource" : {
        "required" : [ "coupons" ],
        "properties" : {
          "coupons" : {
            "type" : "array",
            "description" : "Coupons",
            "items" : {
              "$ref" : "#/components/schemas/payment_coupon_CouponResource"
            }
          }
        },
        "description" : "List of coupons."
      },
      "campaign_CampaignCollectionResource" : {
        "required" : [ "campaigns" ],
        "properties" : {
          "campaigns" : {
            "type" : "array",
            "description" : "Campaigns",
            "items" : {
              "$ref" : "#/components/schemas/campaign_CampaignResource"
            }
          }
        },
        "description" : "List of Campaigns."
      },
      "bulk_BulkResultResource" : {
        "properties" : { },
        "description" : "Result of bulk operation."
      },
      "com_codewise_voluum_cruder_rest_model_markers_EntityMarkersDeleteResource" : {
        "required" : [ "entities" ],
        "properties" : {
          "entities" : {
            "type" : "array",
            "description" : "Entity ids",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "description" : "Markers delete resource"
      },
      "usermanagement_invitation_InvitationCreateResource" : {
        "required" : [ "invitedEmailAddress", "permissions", "restrictedColumns", "role", "workspaces" ],
        "properties" : {
          "invitedEmailAddress" : {
            "type" : "string",
            "description" : "Email address of user to invite"
          },
          "permissions" : {
            "type" : "array",
            "description" : "Membership permissions",
            "items" : {
              "type" : "string",
              "enum" : [ "invitationManagement", "membershipManagement", "workspaceManagement", "autoRuleManagement", "customNotificationManagement", "asyncReportAccess", "manualCostAccess", "markerManagement", "sharedReportManagement", "integrationAccess", "integrationEdit", "integrationMatching", "integrationGeneratePostback", "integrationConversionStatus", "integrationCostAndUsage", "integrationAuditAccess", "integrationWorkspaceEdit", "externalActionManagement", "domainCertificateManagement", "entityManagement", "customConfigurationManagement", "trafficFilteringManagement", "setupManagement", "conversionUploadAccess" ]
            }
          },
          "restrictedColumns" : {
            "type" : "array",
            "description" : "Restricted columns",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_RestrictedColumnResource"
            }
          },
          "role" : {
            "type" : "string",
            "description" : "Role for invited user",
            "enum" : [ "ADMIN", "WORKER", "MEMBER" ]
          },
          "workspaces" : {
            "type" : "array",
            "description" : "List of workspaces that should be assigned to invited user if worker role is chosen",
            "items" : {
              "$ref" : "#/components/schemas/multiuser_WorkspaceInfoResource"
            }
          }
        },
        "description" : "Invitation request"
      }
    }
  }
}