{"openapi":"3.1.0","info":{"title":"API Fenix","summary":"RS-API (Fenix) for Sklik and sGarant","description":"\n## Versioning\n\nThe API is versioned using the [Semantic Versioning](https://semver.org/) scheme. The version number is in the format of\n`v<major>.<minor>.<patch>` where:\n  - `<major>` - major version of the API. When major version is changed, backward compatibility is not guaranteed.\n  - `<minor>` - minor version of the API within the given major version. There is guaranteed backward compatibility of\n    minor versions of the API within one major version. Minor version is incremented when new features are added.\n  - `<patch>` - patch version is increased when there are only bugfixes in new release.\n\nYou can access individual API versions using `/v<major>` prefix, but you cannot access different minor versions.\nThere is also a `/latest` prefix which will always point to the latest version of the API.\n\n### Deprecation policy\n\nThe current major version is the supported one. It is supported until the next major version is released. After next major\nversion is released, the previous major version is then supported for **one additional year**. After that, the previous\nmajor version is dropped and removed and the applications must be updated to use current version of the API. After releasing\nnew major version, there generally won't be any additional new features added to previous major version. However, bugfixes will\nbe backported to the previous version too.\n\n## Authentication & Authorization\nTo access the API, you need an API Access Token. To obtain the token, use the `/user/token` endpoint. That endpoint expects\nrefresh token, which may be generated after logging into your Sklik.cz account and creating the token in the Tools section.\n\nWhen you have the access token, each call then requires `Authorization` HTTP header with `Bearer` scheme containing the obtained\naccess token.\n\nThe access token validity is 1 hour. The refresh token has validity you specify when creating it.\n\n**Note:** Do not call `/user/token` endpoint prior to each API call, the endpoint is rate-limited. The intended use is to call\nit once before all the processing you need to do, then reuse the token until it expires.\n\n### Access to linked account\n\nEach access token specifies which account it is valid for. By default, when not specifying otherwise, the token is valid for\nthe account that was used to create the token. However, you can specify the `user_id` parameter in the `/user/token` endpoint\nto create the token for different account. Note that you need to have access to this account prior to trying to create access\ntoken for it.\n\n### Scopes\n\nAccess token contains authorized scopes for the user. The scopes are used to limit the access to the API. Each endpoint\ndefines scopes it requires to access that endpoint. You can limit scopes by scope groups when creating the refresh token.\n\n- `r` - provides only read access\n- `rw` - provides read and write access\n- `rwa` - provides read and write access and also authorizes application to perform additional administrative actions\n  such as linking accounts.\n\n**Note:** On top of refresh token access level, the access level negotiated between linked accounts is considered too. So\nfor link with only `r` access level, `rw` refresh token will not gain you any additional authorization that would exceed the\n`r` access level for that account. So generally speaking, refresh token can only narrow the scope of the token, not widen it.\n\nYou can narrow a single access token further by passing the `scope` parameter to the `/user/token` endpoint with the\naccess levels you want, separated by spaces. The requested access levels must be a subset of the access levels of the\nrefresh token you are exchanging, so the parameter can only narrow the token, never widen it; asking for more results\nin `422 Unprocessable Entity`. When you leave `scope` out, the token carries all access levels of that refresh token.\nThe exception is the OAuth2 client-credentials grant, which has no refresh token to inherit from and therefore\ndefaults to read access only.\n\n## Rate limiting\n\nThe API is rate-limited. There is a global rate limit for the API, which is shared across all endpoints. Additional rate limit\nmay be in place for specific endpoints, which is defined in the endpoint documentation.\n\nDefault rate limit is 5 requests per second for the API as a whole. This means that you can make up to 5 requests\nper second across all endpoints. If you exceed this limit, you will receive a `429 Too Many Requests` response with\n`Retry-After` header indicating how long you should wait before making another request.\n\nEach response from the API contains the `RateLimit-Policy` and `RateLimit` header, which you can use to check the current\nrate limit policy and your current usage of the rate limit. The headers are following current IETF RateLimit draft version 9,\nyou can find more information at the [draft](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-ratelimit-headers-09)\nspecification.\n","contact":{"name":"API Support","url":"https://napoveda.sklik.cz/","email":"sklik@firma.seznam.cz"},"version":"1.32.0"},"paths":{"/user/linked-accounts":{"get":{"tags":["User"],"summary":"List accessible accounts","description":"List all accounts (own and managed) that the authorized user/token can access.","operationId":"get_user_linked_accounts_user_linked_accounts_get","security":[{"API Access Token":[]}],"parameters":[{"name":"a","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/AccountAttribute"},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ResponseAccount_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Access denied error.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Forbidden","title":"Msg","type":"string"},"type":{"default":"forbidden","title":"Type","type":"string"}},"title":"Forbidden","type":"object"}]}}}}}}}}}},"/user/me/credit":{"get":{"tags":["User"],"summary":"Get information about user credit","description":"Retrieve information about user credit.","operationId":"get_user_me_credit_user_me_credit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"oneOf":[{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location."},"msg":{"type":"string","title":"Descriptive human readable error message"},"type":{"type":"string","enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ctx","description":"An optional object which contains values required to render the error message."},"input":{"title":"Input","description":"The input provided for validation."}},"additionalProperties":false,"type":"object","required":["msg","type","input"],"title":"ModelValidationError","description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint."}]},"type":"array"}},"type":"object"}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"oneOf":[{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location"},"msg":{"type":"string","title":"Msg","default":"Entity not found"},"type":{"type":"string","title":"Type","default":"entity_not_found"},"entity_type":{"type":"string","title":"Entity Type","description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc."}},"additionalProperties":true,"type":"object","required":["entity_type"],"title":"EntityNotFound","description":"Error returned when entity not found"}]},"type":"array"}},"type":"object"}}}}},"security":[{"API Access Token":[]}]}},"/user/me":{"get":{"tags":["User"],"summary":"Get authorized user","description":"Retrieve information about currently authorized user.","operationId":"user_me_user_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrentUserResponse"}}}}},"security":[{"API Access Token":[]}]}},"/user/token":{"post":{"tags":["User"],"summary":"Get Access Token","description":"Obtain access token for accessing API resources.\n\nSupports three grant types:\n\n- **client_credentials**: two modes share this grant type:\n  - Provide an existing refresh token as a Bearer `Authorization` header to exchange\n    it for an access token (use `user_id` to access a foreign account that granted\n    you access). To obtain a refresh token, log in at https://www.sklik.cz/.\n  - Or authenticate as an OAuth2 client (RFC 6749 §4.4) with `client_id`/`client_secret`\n    supplied either via HTTP `Basic` auth or the `client_id`/`client_secret` form\n    fields, to obtain a client-only access token (no refresh token). A client that is\n    allowed to access any account may pass `user_id` to obtain a token acting on that\n    account instead; the token's scope still comes only from the client's own roles.\n\n- **authorization_code** (RFC 6749 §4.1.3, RFC 7636): exchange a single-use authorization\n  code for an access + refresh token pair. Requires `code` and `redirect_uri`. `code_verifier`\n  is required when PKCE was used during authorization.\n\n- **refresh_token** (RFC 6749 §6): obtain a new access token from a previously issued\n  refresh token passed as the `refresh_token` form field.\n\nPass `scope` to obtain a token narrower than the refresh token you are exchanging.\n\nUse the access token in the `Authorization` header as a `Bearer` token.\nFor example: `Authorization: Bearer {access_token}`.","operationId":"get_access_token_user_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_get_access_token_user_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"oneOf":[{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location."},"msg":{"type":"string","title":"Descriptive human readable error message"},"type":{"type":"string","enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ctx","description":"An optional object which contains values required to render the error message."},"input":{"title":"Input","description":"The input provided for validation."}},"additionalProperties":false,"type":"object","required":["msg","type","input"],"title":"ModelValidationError","description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint."},{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location"},"msg":{"type":"string","title":"Msg","default":"Invalid field value"},"type":{"type":"string","title":"Type","default":"invalid_value"},"expected":{"title":"Expected"},"real":{"title":"Real"}},"additionalProperties":true,"type":"object","title":"InvalidValue","description":"Value of attribute is not valid according to validation rules."}]},"type":"array"}},"type":"object"}}}},"401":{"description":"Diagnostic response for HTTP status 401.","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"oneOf":[{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location"},"msg":{"type":"string","title":"Msg","default":"Unauthorized."},"type":{"type":"string","title":"Type","default":"unauthorized"}},"additionalProperties":true,"type":"object","title":"Unauthorized","description":"Error returned when the provided access token is not valid for given operation."}]},"type":"array"}},"type":"object"}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"oneOf":[{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Error location"},"msg":{"type":"string","title":"Msg","default":"Logged user has no access to account user"},"type":{"type":"string","title":"Type","default":"foreign_user_access_denied"},"loggedUserId":{"type":"integer","title":"Loggeduserid"},"accountUserId":{"type":"integer","title":"Accountuserid"}},"additionalProperties":true,"type":"object","required":["loggedUserId","accountUserId"],"title":"ForeignUserAccessDenied","description":"Error for processing access server's user_access_denied error."}]},"type":"array"}},"type":"object"}}}}},"security":[{"API Refresh Token":[]},{"API Client Credentials":[]}]}},"/sklik/campaigns/{campaignId}/groups/{groupId}/ads/":{"get":{"tags":["Sklik|Campaigns|Groups|Ads"],"summary":"List ads","description":"List ads for the authenticated user.","operationId":"list_ads_sklik_campaigns__campaignId__groups__groupId__ads__get","security":[{"API Access Token":["group","ad_list","campaign"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"statisticsDateFrom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date From","description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticsDateTo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date To","description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticConditions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StatisticCondition"},"minItems":1},{"type":"null"}],"title":"Statistic Conditions","description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},"description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},{"name":"showEntityWithZeroStatistic","in":"query","required":false,"schema":{"type":"boolean","title":"Show Entity with Zero Statistic","description":"Whether to include entities with zero statistic values.","default":true},"description":"Whether to include entities with zero statistic values."},{"name":"statisticsGranularity","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StatisticGranularity","title":"Statistics Granularity","description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities.","examples":["total","daily","weekly"],"default":"total"},"description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities."},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"},"minItems":1},{"type":"null"}],"title":"IDs","description":"Filter ads by IDs."},"description":"Filter ads by IDs."},{"name":"isDeleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Deleted","description":"Filter by deleted state. True returns only deleted ads, False only non-deleted."},"description":"Filter by deleted state. True returns only deleted ads, False only non-deleted."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Status"},"minItems":1},{"type":"null"}],"title":"Status","description":"Filter by ad status."},"description":"Filter by ad status."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__ad_type__AdType"},"minItems":1},{"type":"null"}],"title":"Type","description":"Filter by ad type.","default":["eta","smart","banner","combined","branding","dynamic_banner"]},"description":"Filter by ad type."},{"name":"a","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"anyOf":[{"$ref":"#/components/schemas/AdAttribute"},{"$ref":"#/components/schemas/EtaAdAttribute"},{"$ref":"#/components/schemas/SmartAdAttribute"},{"$ref":"#/components/schemas/SmartTextCreativeAttribute"},{"$ref":"#/components/schemas/SmartImageAttribute"},{"$ref":"#/components/schemas/BannerAdAttribute"},{"$ref":"#/components/schemas/BannerImageAttribute"},{"$ref":"#/components/schemas/BrandingAdAttribute"},{"$ref":"#/components/schemas/BrandingImageAttribute"},{"$ref":"#/components/schemas/CombinedAdAttribute"},{"$ref":"#/components/schemas/CombinedImageAttribute"},{"$ref":"#/components/schemas/CombinedImageSquareAttribute"},{"$ref":"#/components/schemas/CombinedImageLogoAttribute"},{"$ref":"#/components/schemas/CombinedImageLandscapeLogoAttribute"},{"$ref":"#/components/schemas/DynamicBannerTemplateAttribute"},{"$ref":"#/components/schemas/SchedulersAttribute"},{"$ref":"#/components/schemas/AdStatisticAttribute"},{"$ref":"#/components/schemas/AdVideoStatisticAttribute"},{"$ref":"#/components/schemas/AdContextStatisticAttribute"},{"$ref":"#/components/schemas/AdFulltextStatisticAttribute"}]},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."},{"name":"order","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__order_attribute__OrderAttribute"},"description":"Ordering of the result.","title":"Order"},"description":"Ordering of the result."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_Annotated_Union_EtaAdResponse__SmartAdResponse__BannerAdResponse__CombinedAdResponse__BrandingAdResponse__AdDynamicBannerResponse___FieldInfo_annotation_NoneType__required_True__discriminator__ad_type____"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Requested period is incompatible with the chosen statistics granularity (would exceed 60 buckets).","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Requested statistics granularity is not supported for the requested period.","title":"Msg","type":"string"},"type":{"default":"invalid_statistic_granularity","title":"Type","type":"string"}},"title":"InvalidStatisticGranularity","type":"object"}]}}}}}}}}},"post":{"tags":["Sklik|Campaigns|Groups|Ads"],"summary":"Create ad","description":"Create a new ad inside the given campaign/group.\n\nSupports ETA, Smart, banner, combined, branding and dynamic banner ad types —\nselected via the `type` discriminator in the request body. With `dryRun=true`\nonly validates the request without creating the ad.","operationId":"create_ad_sklik_campaigns__campaignId__groups__groupId__ads__post","security":[{"API Access Token":["group","campaign","ad_add"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the ad attributes without persisting any changes.","default":false},"description":"When true, only validates the ad attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EtaAd"},{"$ref":"#/components/schemas/SmartAd"},{"$ref":"#/components/schemas/BannerAd"},{"$ref":"#/components/schemas/CombinedAd"},{"$ref":"#/components/schemas/BrandingAd"},{"$ref":"#/components/schemas/AdDynamicBanner"}],"discriminator":{"propertyName":"type","mapping":{"eta":"#/components/schemas/EtaAd","smart":"#/components/schemas/SmartAd","banner":"#/components/schemas/BannerAd","combined":"#/components/schemas/CombinedAd","branding":"#/components/schemas/BrandingAd","dynamic_banner":"#/components/schemas/AdDynamicBanner"}},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_AdCreateItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/campaigns/{campaignId}/groups/{groupId}/ads/{adId}/":{"patch":{"tags":["Sklik|Campaigns|Groups|Ads"],"summary":"Update ad","description":"Update an existing ad inside the given campaign/group. With\n`dryRun=true` only validates the request without persisting any changes.\n\nSome creative fields are immutable: updating them deletes the current ad\nand creates a successor. In that case the response is `200` with the new\n`id`. In-place updates, dry-run, delete and restore still return `204`.","operationId":"update_ad_sklik_campaigns__campaignId__groups__groupId__ads__adId___patch","security":[{"API Access Token":["group","campaign","ad_edit"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the parent campaign."},"description":"ID of the parent campaign."},{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the parent group."},"description":"ID of the parent group."},{"name":"adId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Ad ID","description":"ID of the ad."},"description":"ID of the ad."},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the ad attributes without persisting any changes.","default":false},"description":"When true, only validates the ad attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__update_request__deletion_update_request__DeletionUpdate"},{"$ref":"#/components/schemas/UpdateEtaAd"},{"$ref":"#/components/schemas/UpdateSmartAd"},{"$ref":"#/components/schemas/UpdateBannerAd"},{"$ref":"#/components/schemas/UpdateCombinedAd"},{"$ref":"#/components/schemas/UpdateBrandingAd"},{"$ref":"#/components/schemas/UpdateAdDynamicBanner"}],"title":"Body"}}}},"responses":{"204":{"description":"Successful Response"},"200":{"description":"The update replaced the ad with a new version. The body contains the new ad id; the id in the path is no longer the live ad.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdUpdateItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/campaigns/{campaignId}/groups/{groupId}/negative-keywords/delete":{"post":{"tags":["Sklik|Campaigns|Groups|Negative keywords"],"summary":"Delete group negative keywords","description":"Permanently delete specific negative keywords from the given group.","operationId":"delete_group_negative_keywords_sklik_campaigns__campaignId__groups__groupId__negative_keywords_delete_post","security":[{"API Access Token":["group","campaign","keyword_edit"]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteNegativeKeywords"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}}}},"/sklik/campaigns/{campaignId}/groups/{groupId}/negative-keywords/":{"get":{"tags":["Sklik|Campaigns|Groups|Negative keywords"],"summary":"List group negative keywords","description":"List negative keywords of given group.","operationId":"list_group_negative_keywords_sklik_campaigns__campaignId__groups__groupId__negative_keywords__get","security":[{"API Access Token":["group","campaign","keyword"]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."},{"name":"a","in":"query","required":true,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/NegativeKeywordAttribute"},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ResponseNegativeKeyword_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}}},"post":{"tags":["Sklik|Campaigns|Groups|Negative keywords"],"summary":"Add group negative keywords","description":"Add negative keywords to the given group.","operationId":"add_group_negative_keywords_sklik_campaigns__campaignId__groups__groupId__negative_keywords__post","security":[{"API Access Token":["group","campaign","keyword_edit"]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddNegativeKeywords"}}}},"responses":{"201":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when negative keywords are set on a floating campaign, which is not allowed.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords cannot be set to a floating campaign.","title":"Msg","type":"string"},"type":{"default":"floating_campaign_not_allowed","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"FloatingCampaignNotAllowed","type":"object"},{"additionalProperties":true,"description":"Error returned when the campaign type does not allow negative keyword targeting.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords are not allowed for this campaign type.","title":"Msg","type":"string"},"type":{"default":"not_allowed_for_campaign_type","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"NegativeKeywordsNotAllowedForCampaignType","type":"object"}]}}}}}}}}},"put":{"tags":["Sklik|Campaigns|Groups|Negative keywords"],"summary":"Replace group negative keywords","description":"Replace whole set of negative keywords of given group.","operationId":"replace_group_negative_keywords_sklik_campaigns__campaignId__groups__groupId__negative_keywords__put","security":[{"API Access Token":["group","campaign","keyword_edit"]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceNegativeKeywords"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when negative keywords are set on a floating campaign, which is not allowed.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords cannot be set to a floating campaign.","title":"Msg","type":"string"},"type":{"default":"floating_campaign_not_allowed","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"FloatingCampaignNotAllowed","type":"object"},{"additionalProperties":true,"description":"Error returned when the campaign type does not allow negative keyword targeting.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords are not allowed for this campaign type.","title":"Msg","type":"string"},"type":{"default":"not_allowed_for_campaign_type","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"NegativeKeywordsNotAllowedForCampaignType","type":"object"}]}}}}}}}}}},"/sklik/campaigns/{campaignId}/groups/":{"get":{"tags":["Sklik|Campaigns|Groups"],"summary":"List groups","description":"List groups under the given campaign for the authenticated user.","operationId":"list_groups_sklik_campaigns__campaignId__groups__get","security":[{"API Access Token":["group","campaign"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"statisticsDateFrom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date From","description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticsDateTo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date To","description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticConditions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StatisticCondition"},"minItems":1},{"type":"null"}],"title":"Statistic Conditions","description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},"description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},{"name":"showEntityWithZeroStatistic","in":"query","required":false,"schema":{"type":"boolean","title":"Show Entity with Zero Statistic","description":"Whether to include entities with zero statistic values.","default":true},"description":"Whether to include entities with zero statistic values."},{"name":"statisticsGranularity","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StatisticGranularity","title":"Statistics Granularity","description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities.","examples":["total","daily","weekly"],"default":"total"},"description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities."},{"name":"id","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer"},"title":"IDs","description":"Filter groups by IDs."},"description":"Filter groups by IDs."},{"name":"isDeleted","in":"query","required":false,"schema":{"type":"boolean","title":"Is Deleted","description":"Filter by deleted state. True returns only deleted groups, False only non-deleted."},"description":"Filter by deleted state. True returns only deleted groups, False only non-deleted."},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/Status"},"minItems":1,"title":"Status","description":"Filter by group status."},"description":"Filter by group status."},{"name":"a","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"anyOf":[{"$ref":"#/components/schemas/GroupAttribute"},{"$ref":"#/components/schemas/StatisticAttribute"},{"$ref":"#/components/schemas/VideoStatisticAttribute"},{"$ref":"#/components/schemas/ContextStatisticAttribute"},{"$ref":"#/components/schemas/FulltextStatisticAttribute"},{"$ref":"#/components/schemas/ConversionIdsAttribute"},{"$ref":"#/components/schemas/ConversionTypesAttribute"}]},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."},{"name":"order","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__models__order_attribute__OrderAttribute"},"description":"Ordering of the result.","title":"Order"},"description":"Ordering of the result."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ResponseGroup_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Requested period is incompatible with the chosen statistics granularity (would exceed 60 buckets).","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Requested statistics granularity is not supported for the requested period.","title":"Msg","type":"string"},"type":{"default":"invalid_statistic_granularity","title":"Type","type":"string"}},"title":"InvalidStatisticGranularity","type":"object"}]}}}}}}}}},"post":{"tags":["Sklik|Campaigns|Groups"],"summary":"Create a group","description":"Create a new ad group under the given campaign.\nWith ``dryRun=true`` only validates the request without creating the group.","operationId":"create_group_sklik_campaigns__campaignId__groups__post","security":[{"API Access Token":["group","campaign","group_add"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the group attributes without persisting any changes.","default":false},"description":"When true, only validates the group attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroup"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_GroupCreateItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/campaigns/{campaignId}/groups/{groupId}/":{"patch":{"tags":["Sklik|Campaigns|Groups"],"summary":"Update a group","description":"Update an existing ad group under the given campaign.\nWith ``dryRun=true`` only validates the request without persisting changes.","operationId":"update_group_sklik_campaigns__campaignId__groups__groupId___patch","security":[{"API Access Token":["group","campaign","group_edit"]}],"parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Group ID","description":"ID of the group."},"description":"ID of the group."},{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the group attributes without persisting any changes.","default":false},"description":"When true, only validates the group attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__models__deletion_update_request__DeletionUpdate"},{"$ref":"#/components/schemas/UpdateGroupAttributes"}],"title":"Body"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/campaigns/{campaignId}/negative-keywords/delete":{"post":{"tags":["Sklik|Campaigns|Negative keywords"],"summary":"Delete campaign negative keywords","description":"Permanently delete specific negative keywords from the given campaign.","operationId":"delete_campaign_negative_keywords_sklik_campaigns__campaignId__negative_keywords_delete_post","security":[{"API Access Token":["campaign","keyword_edit"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteNegativeKeywords"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}}}},"/sklik/campaigns/{campaignId}/negative-keywords/":{"get":{"tags":["Sklik|Campaigns|Negative keywords"],"summary":"List campaign negative keywords","description":"List negative keywords of the given campaign.","operationId":"list_campaign_negative_keywords_sklik_campaigns__campaignId__negative_keywords__get","security":[{"API Access Token":["campaign","keyword"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."},{"name":"a","in":"query","required":true,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/NegativeKeywordAttribute"},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ResponseNegativeKeyword_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}}},"post":{"tags":["Sklik|Campaigns|Negative keywords"],"summary":"Add campaign negative keywords","description":"Add negative keywords to the given campaign.","operationId":"add_campaign_negative_keywords_sklik_campaigns__campaignId__negative_keywords__post","security":[{"API Access Token":["campaign","keyword_edit"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddNegativeKeywords"}}}},"responses":{"201":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when negative keywords are set on a floating campaign, which is not allowed.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords cannot be set to a floating campaign.","title":"Msg","type":"string"},"type":{"default":"floating_campaign_not_allowed","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"FloatingCampaignNotAllowed","type":"object"},{"additionalProperties":true,"description":"Error returned when the campaign type does not allow negative keyword targeting.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords are not allowed for this campaign type.","title":"Msg","type":"string"},"type":{"default":"not_allowed_for_campaign_type","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"NegativeKeywordsNotAllowedForCampaignType","type":"object"}]}}}}}}}}},"put":{"tags":["Sklik|Campaigns|Negative keywords"],"summary":"Replace campaign negative keywords","description":"Replace the whole set of negative keywords of the given campaign.","operationId":"replace_campaign_negative_keywords_sklik_campaigns__campaignId__negative_keywords__put","security":[{"API Access Token":["campaign","keyword_edit"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceNegativeKeywords"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Error returned when a negative keyword name is rejected by validation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keyword name is invalid.","title":"Msg","type":"string"},"type":{"default":"invalid_negative_keyword_name","title":"Type","type":"string"},"name":{"description":"The rejected negative keyword name.","title":"Name","type":"string"}},"required":["name"],"title":"InvalidNegativeKeywordName","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when negative keywords are set on a floating campaign, which is not allowed.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords cannot be set to a floating campaign.","title":"Msg","type":"string"},"type":{"default":"floating_campaign_not_allowed","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"FloatingCampaignNotAllowed","type":"object"},{"additionalProperties":true,"description":"Error returned when the campaign type does not allow negative keyword targeting.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Negative keywords are not allowed for this campaign type.","title":"Msg","type":"string"},"type":{"default":"not_allowed_for_campaign_type","title":"Type","type":"string"},"entity_id":{"description":"ID of the campaign the negative keywords were set on.","title":"Entity Id","type":"integer"}},"required":["entity_id"],"title":"NegativeKeywordsNotAllowedForCampaignType","type":"object"}]}}}}}}}}}},"/sklik/campaigns/":{"get":{"tags":["Sklik|Campaigns"],"summary":"List campaigns","description":"List campaigns for the authenticated user.","operationId":"list_campaigns_sklik_campaigns__get","security":[{"API Access Token":["campaign"]}],"parameters":[{"name":"statisticsDateFrom","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date From","description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"Start date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticsDateTo","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Statistics Date To","description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},"description":"End date for statistics (YYYY-MM-DD). Required when requesting statistic attributes."},{"name":"statisticConditions","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/StatisticCondition"},"minItems":1},{"type":"null"}],"title":"Statistic Conditions","description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},"description":"Statistic conditions in format 'attribute:operator:value' (e.g. 'clicks:gt:100'). Valid operators: gt, ge, lt, le."},{"name":"showEntityWithZeroStatistic","in":"query","required":false,"schema":{"type":"boolean","title":"Show Entity with Zero Statistic","description":"Whether to include entities with zero statistic values.","default":true},"description":"Whether to include entities with zero statistic values."},{"name":"statisticsGranularity","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StatisticGranularity","title":"Statistics Granularity","description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities.","examples":["total","daily","weekly"],"default":"total"},"description":"Time granularity of statistics. 'total' (default) returns a single aggregate over the whole period. Any other value returns a time series: the entity is repeated once per time bucket, each row carrying that bucket's statistics and its 'firstDate' (added automatically). Requires 'statisticsDateFrom'/'statisticsDateTo'. Max 60 buckets: daily up to 1 month, weekly up to 1 year, monthly/quarterly/yearly up to 60 calendar months/quarters/years. Because the response stays flat, 'limit' and 'offset' count bucket rows, not entities - a granular listing returns fewer entities per page than 'limit' suggests, and an entity can be split across two pages. Buckets of one entity are ordered chronologically, but 'order' is applied first, so ordering by a statistic value interleaves buckets of different entities."},{"name":"id","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer"},"title":"IDs","description":"Filter campaigns by IDs."},"description":"Filter campaigns by IDs."},{"name":"isDeleted","in":"query","required":false,"schema":{"type":"boolean","title":"Is Deleted","description":"Filter by deleted state. True returns only deleted campaigns, False only non-deleted."},"description":"Filter by deleted state. True returns only deleted campaigns, False only non-deleted."},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/Status"},"minItems":1,"title":"Status","description":"Filter by campaign status."},"description":"Filter by campaign status."},{"name":"type","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignType"},"minItems":1,"title":"Type","description":"Filter by campaign type."},"description":"Filter by campaign type."},{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/DateCondition"},"minItems":1},{"type":"null"}],"title":"Start Date","description":"Filter by campaign start date in format 'operator:value' (e.g. 'ge:2026-01-01T00:00:00+02:00'). Valid operators: eq, neq, gt, ge, lt, le."},"description":"Filter by campaign start date in format 'operator:value' (e.g. 'ge:2026-01-01T00:00:00+02:00'). Valid operators: eq, neq, gt, ge, lt, le."},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/DateCondition"},"minItems":1},{"type":"null"}],"title":"End Date","description":"Filter by campaign end date in format 'operator:value' (e.g. 'le:2026-12-31T23:59:59+01:00'). Valid operators: eq, neq, gt, ge, lt, le."},"description":"Filter by campaign end date in format 'operator:value' (e.g. 'le:2026-12-31T23:59:59+01:00'). Valid operators: eq, neq, gt, ge, lt, le."},{"name":"regionNutsCode","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/RegionNuts"},"minItems":1},{"type":"null"}],"title":"Region NUTS Code","description":"Filter by region NUTS codes."},"description":"Filter by region NUTS codes."},{"name":"a","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"anyOf":[{"$ref":"#/components/schemas/CampaignAttribute"},{"$ref":"#/components/schemas/BudgetAttribute"},{"$ref":"#/components/schemas/DeviceAttribute"},{"$ref":"#/components/schemas/PhoneAttribute"},{"$ref":"#/components/schemas/RegionsAttribute"},{"$ref":"#/components/schemas/SchedulersAttribute"},{"$ref":"#/components/schemas/ExcludedSearchServicesAttribute"},{"$ref":"#/components/schemas/StatisticAttribute"},{"$ref":"#/components/schemas/VideoStatisticAttribute"},{"$ref":"#/components/schemas/ContextStatisticAttribute"},{"$ref":"#/components/schemas/FulltextStatisticAttribute"},{"$ref":"#/components/schemas/ConversionIdsAttribute"},{"$ref":"#/components/schemas/ConversionTypesAttribute"},{"$ref":"#/components/schemas/ConversionIdsVideoAttribute"},{"$ref":"#/components/schemas/ConversionIdsContextAttribute"},{"$ref":"#/components/schemas/ConversionIdsFulltextAttribute"}]},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."},{"name":"order","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__order_attribute__OrderAttribute"},"description":"Ordering of the result.","title":"Order"},"description":"Ordering of the result."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignListResponseBody"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Requested period is incompatible with the chosen statistics granularity (would exceed 60 buckets).","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Requested statistics granularity is not supported for the requested period.","title":"Msg","type":"string"},"type":{"default":"invalid_statistic_granularity","title":"Type","type":"string"}},"title":"InvalidStatisticGranularity","type":"object"}]}}}}}}}}},"post":{"tags":["Sklik|Campaigns"],"summary":"Create campaign","description":"Create a new campaign. With ``dryRun=true`` only validates the request without creating the campaign.","operationId":"create_campaign_sklik_campaigns__post","security":[{"API Access Token":["campaign_new","campaign"]}],"parameters":[{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the campaign attributes without persisting any changes.","default":false},"description":"When true, only validates the campaign attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/VideoCampaign"},{"$ref":"#/components/schemas/ContextCampaign"},{"$ref":"#/components/schemas/FulltextCampaign"},{"$ref":"#/components/schemas/ProductCampaign"},{"$ref":"#/components/schemas/ZboziCampaign"},{"$ref":"#/components/schemas/SocialCampaign"},{"$ref":"#/components/schemas/SimpleCampaign"},{"$ref":"#/components/schemas/AudioCampaign"},{"$ref":"#/components/schemas/SmartCampaign"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignCreateResponseBody"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/campaigns/{campaignId}/":{"patch":{"tags":["Sklik|Campaigns"],"summary":"Update campaign","description":"Update an existing campaign. With ``dryRun=true`` only validates the request without persisting changes.","operationId":"update_campaign_sklik_campaigns__campaignId___patch","security":[{"API Access Token":["campaign_edit","campaign"]}],"parameters":[{"name":"campaignId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Campaign ID","description":"ID of the campaign."},"description":"ID of the campaign."},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the campaign attributes without persisting any changes.","default":false},"description":"When true, only validates the campaign attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__update_request__deletion_update_request__DeletionUpdate"},{"oneOf":[{"$ref":"#/components/schemas/UpdateVideoCampaign"},{"$ref":"#/components/schemas/UpdateContextCampaign"},{"$ref":"#/components/schemas/UpdateFulltextCampaign"},{"$ref":"#/components/schemas/UpdateProductCampaign"},{"$ref":"#/components/schemas/UpdateZboziCampaign"},{"$ref":"#/components/schemas/UpdateSocialCampaign"},{"$ref":"#/components/schemas/UpdateSimpleCampaign"},{"$ref":"#/components/schemas/UpdateAudioCampaign"},{"$ref":"#/components/schemas/UpdateSmartCampaign"}],"discriminator":{"propertyName":"type","mapping":{"video":"#/components/schemas/UpdateVideoCampaign","context":"#/components/schemas/UpdateContextCampaign","fulltext":"#/components/schemas/UpdateFulltextCampaign","product":"#/components/schemas/UpdateProductCampaign","zbozi":"#/components/schemas/UpdateZboziCampaign","social":"#/components/schemas/UpdateSocialCampaign","simple":"#/components/schemas/UpdateSimpleCampaign","audio":"#/components/schemas/UpdateAudioCampaign","smart":"#/components/schemas/UpdateSmartCampaign"}}}],"title":"Body"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/images/constraints":{"get":{"tags":["Sklik|Images"],"summary":"List image constraints.","description":"List image types with their constraints.","operationId":"constraints_sklik_images_constraints_get","security":[{"API Access Token":["ad_add"]}],"parameters":[{"name":"adType","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__images__models__ad_type__AdType"}},{"type":"null"}],"description":"Filter constraints by ad type. If omitted, constraints for all ad types are returned.","title":"Adtype"},"description":"Filter constraints by ad type. If omitted, constraints for all ad types are returned."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ImageConstraintItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/images/":{"get":{"tags":["Sklik|Images"],"summary":"List images.","description":"List user images. Images are sorted by id in descending order (newest first).","operationId":"list_images_sklik_images__get","security":[{"API Access Token":["ad_add"]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."},{"name":"imageIds","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"Filter only images with these IDs.","title":"Imageids"},"description":"Filter only images with these IDs."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_Image_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Sklik|Images"],"summary":"Upload image","description":"Upload a single image. The image is stored and can be used\nin campaigns.\n\n### Image limitations\n\n- **Supported formats:** JPG, GIF, PNG, SVG, WebP, AVIF\n- **MIME type:** must be an `image/*` type\n- **File count:** only one image file per request is allowed","operationId":"upload_image_sklik_images__post","security":[{"API Access Token":["ad_add"]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_image_sklik_images__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedImage"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"400":{"description":"Diagnostic response for HTTP status 400.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when one or more image uploads failed.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Image upload failed.","title":"Msg","type":"string"},"type":{"default":"image_upload_failed","title":"Type","type":"string"}},"title":"ImageUploadFailed","type":"object"},{"additionalProperties":true,"description":"Error returned when more than one file is uploaded.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Only one file can be uploaded at a time.","title":"Msg","type":"string"},"type":{"default":"too_many_files","title":"Type","type":"string"}},"title":"TooManyFiles","type":"object"}]}}}}}}}}}},"/sklik/reports/":{"get":{"tags":["Sklik|Reports"],"summary":"List all reports for user.","description":"List all reports for the authenticated user based on the provided filters and pagination parameters.","operationId":"list_reports_sklik_reports__get","security":[{"API Access Token":[]}],"parameters":[{"name":"order","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReportOrder"},"description":"Ordering of the result.","title":"Order"},"description":"Ordering of the result."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ReportType"}},{"type":"null"}],"description":"List of report types to filter by. If not provided, all types are returned.","title":"Type"},"description":"List of report types to filter by. If not provided, all types are returned."},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"description":"List of report IDs to filter by. If not provided, all reports are returned.","title":"Id"},"description":"List of report IDs to filter by. If not provided, all reports are returned."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ReportItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/reports/{reportId}":{"get":{"tags":["Sklik|Reports"],"summary":"Receive contents of statistical report in one of selected output formats.","description":"Receive contents of statistical report in one of the selected output formats.","operationId":"stream_report_sklik_reports__reportId__get","security":[{"API Access Token":[]}],"parameters":[{"name":"reportId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"description":"ID of the report to retrieve contents of.","examples":[1000],"title":"Reportid"},"description":"ID of the report to retrieve contents of."},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ReportFileFormat","description":"Output format of the report to be returned. Defaults to 'json'.","default":"json"},"description":"Output format of the report to be returned. Defaults to 'json'."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamedReportResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"401":{"description":"Diagnostic response for HTTP status 401.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when the provided access token is not valid for given operation.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Unauthorized.","title":"Msg","type":"string"},"type":{"default":"unauthorized","title":"Type","type":"string"}},"title":"Unauthorized","type":"object"}]}}}}}}},"400":{"description":"Diagnostic response for HTTP status 400.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when user requests invalid file format for report download","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Requested file format is invalid. Please generate report in one of supported formats.","title":"Msg","type":"string"},"type":{"default":"invalid_file_format","title":"Type","type":"string"}},"title":"InvalidFileFormat","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}}}},"/sklik/suggest/ad":{"post":{"tags":["Sklik|Suggest"],"summary":"Ad smart creatives","description":"Suggest ad smart creatives for the given URL.","operationId":"ad_smart_creatives_sklik_suggest_ad_post","security":[{"API Access Token":[]}],"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri","minLength":1,"maxLength":2083,"title":"URL","description":"The URL of the page to generate ad suggestions for."},"description":"The URL of the page to generate ad suggestions for."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_AdSuggestionItem_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sklik/event-measurement/activate/":{"get":{"tags":["Sklik|Event Measurement"],"summary":"Get SEM activation status","description":"Get SEM activation status for the authenticated user account.","operationId":"get_sem_activation_status_sklik_event_measurement_activate__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemActivationStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API Access Token":["sem"]}]},"post":{"tags":["Sklik|Event Measurement"],"summary":"Activate SEM","description":"Activate SEM for the authenticated user account.","operationId":"activate_sem_sklik_event_measurement_activate__post","responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API Access Token":["sem","sem_activate"]}]}},"/sklik/event-measurement/conversions/":{"get":{"tags":["Sklik|Event Measurement|Conversions"],"summary":"List conversions","description":"List conversions for the authenticated user.","operationId":"list_conversions_sklik_event_measurement_conversions__get","security":[{"API Access Token":["sem"]}],"parameters":[{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"title":"IDs","description":"Filter conversions by IDs."},"description":"Filter conversions by IDs."},{"name":"isDeleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Deleted","description":"Filter by deleted state. True returns only deleted conversions, False only non-deleted."},"description":"Filter by deleted state. True returns only deleted conversions, False only non-deleted."},{"name":"a","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/ConversionAttribute"},"minItems":1,"title":"Attributes","description":"Entity attributes to be included in the response."},"description":"Entity attributes to be included in the response."},{"name":"order","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__event_measurement__conversions__models__order_attribute__OrderAttribute"},"description":"Ordering of the result.","title":"Order"},"description":"Ordering of the result."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Pagination offset.","default":0,"title":"Offset"},"description":"Pagination offset."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Pagination limit.","default":1000,"title":"Limit"},"description":"Pagination limit."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ConversionResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Sklik|Event Measurement|Conversions"],"summary":"Create conversion","description":"Create a single conversion with given parameters. Its ID is returned in response.\n\nA conversion origin Retargeting list is created for the conversion and its ID is returned\nin a separate list. Creation of the Retargeting list can fail on its own, so that list can be empty\neven when the conversion was created.\n\nWith ``dryRun=true`` only validates the request without creating the conversion.","operationId":"create_conversion_sklik_event_measurement_conversions__post","security":[{"API Access Token":["sem","sem_edit"]}],"parameters":[{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","title":"Dry Run","description":"When true, only validates the conversion attributes without persisting any changes.","default":false},"description":"When true, only validates the conversion attributes without persisting any changes."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConversion"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionCreateResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"description":"Diagnostic for duplicate conversion name.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"problemMessage":{"title":"Problemmessage","type":"string"},"problemId":{"title":"Problemid","type":"string"},"conversionName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversionname"},"nameSuggestion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Namesuggestion"}},"required":["problemMessage","problemId"],"title":"ConversionNameAlreadyExists","type":"object"},{"description":"Diagnostic for duplicate conversion SEM event and conditions.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"problemMessage":{"title":"Problemmessage","type":"string"},"problemId":{"title":"Problemid","type":"string"}},"required":["problemMessage","problemId"],"title":"ConversionDuplicateSemConditions","type":"object"},{"description":"Diagnostic for a condition `type` not allowed for its `key`.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Invalid combination of key and type in condition.","title":"Msg","type":"string"},"type":{"default":"condition_invalid_combination_of_key_and_type","title":"Type","type":"string"},"conditionKey":{"title":"Conditionkey","type":"string"},"correctConditionTypes":{"items":{"type":"string"},"title":"Correctconditiontypes","type":"array"}},"required":["conditionKey","correctConditionTypes"],"title":"ConditionInvalidCombinationOfKeyAndType","type":"object"},{"description":"Diagnostic for a condition `value` not allowed for its `key`.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"problemMessage":{"title":"Problemmessage","type":"string"},"problemId":{"title":"Problemid","type":"string"},"conditionKey":{"title":"Conditionkey","type":"string"},"conditionValue":{"title":"Conditionvalue","type":"string"},"correctConditionValues":{"items":{"type":"string"},"title":"Correctconditionvalues","type":"array"}},"required":["problemMessage","problemId","conditionKey","conditionValue","correctConditionValues"],"title":"ConditionInvalidCombinationOfKeyAndValue","type":"object"}]}}}}}}}}}},"/sklik/event-measurement/sem-id/":{"get":{"tags":["Sklik|Event Measurement"],"summary":"List SEM IDs","description":"List SEM IDs for the authenticated user retargeting ID and premise sub-IDs.","operationId":"list_sem_ids_sklik_event_measurement_sem_id__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_SemIdResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"API Access Token":["sem_id","sem"]}]}},"/nakupy/campaigns/":{"get":{"tags":["Nakupy|Campaigns"],"summary":"List campaigns","description":"Get all campaigns, with attributes for authorized shop","operationId":"get_campaigns_nakupy_campaigns__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_CampaignResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nakupy/categories/":{"get":{"tags":["Nakupy|Categories"],"summary":"List categories details","description":"Returns detailed information about categories specified by their categories IDs.\n\nThis endpoint is designed to be used for querying categories details in bulk.\n\nIt accepts up to 10 category IDs and returns matching category data.","operationId":"get_categories_nakupy_categories__get","security":[{"API Access Token":[]}],"parameters":[{"name":"categoryId","in":"query","required":true,"schema":{"type":"array","items":{"type":"integer","minimum":1},"title":"Category ID","description":"List of up to 10 unique category IDs to retrieve information for","max_items":10},"description":"List of up to 10 unique category IDs to retrieve information for"},{"name":"showParameters","in":"query","required":false,"schema":{"type":"boolean","title":"Show Parameters","description":"When true, every returned category also contains the parameters field with parameters usable for offers in that category. The field is omitted from the response otherwise.","default":false},"description":"When true, every returned category also contains the parameters field with parameters usable for offers in that category. The field is omitted from the response otherwise."},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCategoriesResponse"}}}},"206":{"description":"Incomplete result. Not all requested ids were returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCategoriesResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/categories/tree":{"get":{"tags":["Nakupy|Categories"],"summary":"List categories tree","description":"Returns categories tree.","operationId":"get_categories_tree_nakupy_categories_tree_get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCategoriesTreeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":1,"seconds":2}}},"/nakupy/diagnostics/item":{"get":{"tags":["Nakupy|Diagnostics"],"summary":"Diagnostics data of shop offers","description":"Return diagnostics data of shop offers.","operationId":"get_diagnostics_item_nakupy_diagnostics_item_get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiagnosticsItemResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when the no offers found for shop","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Offers not found for shop. Please check if the shop is valid and has offers.","title":"Msg","type":"string"},"type":{"default":"offers_not_found","title":"Type","type":"string"}},"title":"NotFoundOffers","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":2,"minutes":1}}},"/nakupy/favourites/":{"get":{"tags":["Nakupy|Favourites"],"summary":"List shop favourites","description":"Get daily number of users who favourited your shop and still have it as favourite.","operationId":"get_favourites_nakupy_favourites__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."},{"name":"fromDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From date","description":"Date to collect favourites from. Must be earlier than toDate and no more than one year before toDate. Default value: one year before toDate.","examples":["2025-09-01"]},"description":"Date to collect favourites from. Must be earlier than toDate and no more than one year before toDate. Default value: one year before toDate."},{"name":"toDate","in":"query","required":false,"schema":{"type":"string","format":"date","title":"To date","description":"Date to collect favourites to. Must not be in the future. Default value: today.","examples":["2026-09-01"]},"description":"Date to collect favourites to. Must not be in the future. Default value: today."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListFavouritesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":5,"seconds":30}}},"/nakupy/feeds/":{"get":{"tags":["Nakupy|Feeds"],"summary":"List feeds","description":"Get all feeds, with attributes for authorized shop","operationId":"get_feeds_nakupy_feeds__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_FeedResponse_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when the no valid feed found for shop or shop is inactive","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Feed not found or shop is inactive.","title":"Msg","type":"string"},"type":{"default":"feed_not_found","title":"Type","type":"string"}},"title":"NotValidFeed","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":2,"minutes":1}}},"/nakupy/feeds/{feedId}":{"patch":{"tags":["Nakupy|Feeds"],"summary":"Update XML feed URL","description":"Set the XML feed URL of one of your shop's feeds.\n\nOnly the owner of the given premise may change its feed.","operationId":"patch_feed_nakupy_feeds__feedId__patch","security":[{"API Access Token":[]}],"parameters":[{"name":"feedId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Feed ID","description":"ID of the XML feed to update","examples":[123]},"description":"ID of the XML feed to update"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeedRequest","description":"Request body containing the new XML feed URL."}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"},{"additionalProperties":true,"description":"Value of attribute is not valid according to validation rules.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Invalid field value","title":"Msg","type":"string"},"type":{"default":"invalid_value","title":"Type","type":"string"},"expected":{"title":"Expected"},"real":{"title":"Real"}},"title":"InvalidValue","type":"object"}]}}}}}}},"403":{"description":"Diagnostic response for HTTP status 403.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Access denied error.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Forbidden","title":"Msg","type":"string"},"type":{"default":"forbidden","title":"Type","type":"string"}},"title":"Forbidden","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}},"409":{"description":"Diagnostic response for HTTP status 409.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Diagnostic error when requested entity is already present. This is usually thrown when trying to create duplicate.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity already exists.","title":"Msg","type":"string"},"type":{"default":"entity_already_exists","title":"Type","type":"string"},"entity":{"title":"Entity"}},"required":["entity"],"title":"EntityAlreadyExists","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/gdpr/revoke":{"post":{"tags":["Nakupy|Gdpr"],"summary":"Revocation of GDPR consent","description":"Remove given e-mail addresses from order data.\nNote: Conversions still count to the statistics same as if they were received without e-mail.","operationId":"revoke_gdpr_nakupy_gdpr_revoke_post","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeGdprConsent","description":"Request body for revoking GDPR consent. The body should contain the e-mail addresses"}}}},"responses":{"202":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":1,"minutes":1}}},"/nakupy/manufacturers/":{"get":{"tags":["Nakupy|Manufacturers"],"summary":"List manufacturers","description":"Get all valid manufacturers.","operationId":"get_manufacturers_nakupy_manufacturers__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiserver_fenix__api__models__response__ListResponse_ManufacturerResponse___1"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":2,"seconds":1}}},"/nakupy/manufacturers/by-ids":{"get":{"tags":["Nakupy|Manufacturers"],"summary":"List manufacturers by Ids","description":"Returns information about manufacturers specified by their manufacturer IDs.\n\nThis endpoint retrieves information about manufacturers based on the provided manufacturer IDs.\n\nIt accepts up to 100 manufacturer IDs and returns matching manufacturer data.","operationId":"get_manufacturers_by_ids_nakupy_manufacturers_by_ids_get","security":[{"API Access Token":[]}],"parameters":[{"name":"manufacturerId","in":"query","required":true,"schema":{"type":"array","items":{"type":"integer","maximum":18446744073709551615,"minimum":1},"description":"List of up to 100 unique manufacturer IDs to retrieve information for  \nId of manufacturer is 64-bit unsigned integers.  \n","max_items":100,"title":"Manufacturerid"},"description":"List of up to 100 unique manufacturer IDs to retrieve information for  \nId of manufacturer is 64-bit unsigned integers.  \n"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManufacturersByIdsResponse"}}}},"206":{"description":"Partial content: Some manufacturer details could not be retrieved. It is recommended to retry the request for the missing manufacturer IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManufacturersByIdsResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":2,"seconds":1}}},"/nakupy/manufacturers/search":{"get":{"tags":["Nakupy|Manufacturers"],"summary":"Search for manufacturers","description":"Returns detailed information about manufacturers search by name.\n\nThis endpoint retrieves information about manufacturers by part of the manufacturer name.\n\nIt accepts a name that is used to search for matching manufacturer data.","operationId":"search_manufacturers_by_name_nakupy_manufacturers_search_get","security":[{"API Access Token":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":50,"description":"Part of the manufacturer name to search for","title":"Name"},"description":"Part of the manufacturer name to search for"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiserver_fenix__api__models__response__ListResponse_ManufacturerResponse___2"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/products/":{"get":{"tags":["Nakupy|Products"],"summary":"List product details","description":"Returns detailed information about products specified by their product IDs.\n\nThis endpoint is designed to be used for querying product details in bulk.\n\nIt accepts up to 10 product IDs and returns matching product data along with metadata.","operationId":"get_products_nakupy_products__get","security":[{"API Access Token":[]}],"parameters":[{"name":"productId","in":"query","required":true,"schema":{"type":"array","items":{"type":"integer","minimum":1},"title":"Product ID","description":"List of up to 10 unique product IDs to retrieve details for","max_items":10},"description":"List of up to 10 unique product IDs to retrieve details for"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProductsResponse"}}}},"206":{"description":"Partial content: Some product details could not be retrieved. It is recommended to retry the request for the missing product IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListProductsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":5,"seconds":1}}},"/nakupy/shop-items/":{"get":{"tags":["Nakupy|Shop items"],"summary":"List shop items attributes","description":"List shop items attributes based on various filters and parameters.","operationId":"get_shop_items_nakupy_shop_items__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."},{"name":"paired","in":"query","required":false,"schema":{"type":"boolean","description":"Filter to select only shop items (not) paired to product. If not specified both paired and unpaired shop items are shown.","examples":[true],"title":"Paired"},"description":"Filter to select only shop items (not) paired to product. If not specified both paired and unpaired shop items are shown."},{"name":"productCategoryId","in":"query","required":false,"schema":{"type":"integer","title":"Product Category ID","description":"Filter to select shop items with paired product in specified category.  \n Conflicts with productSegmentId","examples":[123456]},"description":"Filter to select shop items with paired product in specified category.  \n Conflicts with productSegmentId"},{"name":"productSegmentId","in":"query","required":false,"schema":{"type":"integer","title":"Product Segment ID","description":"Filter to select shop items with paired product in specified category segment  \nConflicts with productCategoryId","examples":[7890]},"description":"Filter to select shop items with paired product in specified category segment  \nConflicts with productCategoryId"},{"name":"shopItemCategoryId","in":"query","required":false,"schema":{"type":"integer","title":"Shop Item Category ID","description":"Filter to select shop items in a specific category.  \n Conflicts with shopItemSegmentId","examples":[123]},"description":"Filter to select shop items in a specific category.  \n Conflicts with shopItemSegmentId"},{"name":"shopItemSegmentId","in":"query","required":false,"schema":{"type":"integer","title":"Shop Item Segment ID","description":"Filter to select shop items in specified category segment.  \n Conflicts with shopItemCategoryId","examples":[456]},"description":"Filter to select shop items in specified category segment.  \n Conflicts with shopItemCategoryId"},{"name":"shopItemManufacturerId","in":"query","required":false,"schema":{"type":"integer","title":"Shop Item Manufacturer ID","description":"Filter to select shop items with specified manufacturer. Manufacturer id is assigned by Seznam.","examples":[2545885419621716111]},"description":"Filter to select shop items with specified manufacturer. Manufacturer id is assigned by Seznam."},{"name":"productManufacturerId","in":"query","required":false,"schema":{"type":"integer","title":"Product Manufacturer ID","description":"Filter to select shop items with paired product with specified manufacturer.  \nManufacturer id is assigned by Seznam.","examples":[2545885419621716111]},"description":"Filter to select shop items with paired product with specified manufacturer.  \nManufacturer id is assigned by Seznam."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":3000,"minimum":1,"description":"Maximum number of returned shop items.  \nIf loadSearchInfo is true, limit must be <= 300.  \nIf loadProductDetail is true, limit must be <= 50.","examples":[100],"default":100,"title":"Limit"},"description":"Maximum number of returned shop items.  \nIf loadSearchInfo is true, limit must be <= 300.  \nIf loadProductDetail is true, limit must be <= 50."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Cursor for pagination. Use the value from the response's meta.offset field to retrieve the next batch. This is an opaque value and should not be modified or calculated by the client.   \nDo not provide on the initial request.","examples":[0],"title":"Offset"},"description":"Cursor for pagination. Use the value from the response's meta.offset field to retrieve the next batch. This is an opaque value and should not be modified or calculated by the client.   \nDo not provide on the initial request."},{"name":"itemId","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"maxItems":100,"title":"Item ID","description":"Filter to list only shop items with specified ITEM_ID.  \nIf loadProductDetail is true, max 50 itemId values are allowed.","examples":[["item1","item2"]]},"description":"Filter to list only shop items with specified ITEM_ID.  \nIf loadProductDetail is true, max 50 itemId values are allowed."},{"name":"loadProductDetail","in":"query","required":false,"schema":{"type":"boolean","title":"Load product detail?","description":"Filter to load additional information (max cpc, position in top shop items) about paired shop item.  \nRequest may be slow.","default":false},"description":"Filter to load additional information (max cpc, position in top shop items) about paired shop item.  \nRequest may be slow."},{"name":"loadSearchInfo","in":"query","required":false,"schema":{"type":"boolean","title":"Load search info?","description":"Flag to load additional information (max cpc for Zboží inzeráty) about shop item.  \n Request may be slow.","default":false},"description":"Flag to load additional information (max cpc for Zboží inzeráty) about shop item.  \n Request may be slow."},{"name":"includedCondition","in":"query","required":false,"schema":{"type":"array","items":{"enum":["new","used","open_box","refurbished"],"type":"string"},"maxItems":4,"title":"Included condition","description":"Filter items with specified conditions.  \n Conflicts with excludedCondition.","examples":[["new","used"]]},"description":"Filter items with specified conditions.  \n Conflicts with excludedCondition."},{"name":"excludedCondition","in":"query","required":false,"schema":{"type":"array","items":{"enum":["new","used","open_box","refurbished"],"type":"string"},"maxItems":4,"title":"Excluded condition","description":"Exclude items with specified conditions.  \n Conflicts with includedCondition.","examples":[["refurbished"]]},"description":"Exclude items with specified conditions.  \n Conflicts with includedCondition."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListShopItemsResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}},"patch":{"tags":["Nakupy|Shop items"],"summary":"Update shop items attributes","description":"Update shop items attributes.","operationId":"update_shop_items_nakupy_shop_items__patch","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemChangesPayload","description":"Request body for update shop items attributes. The body should contain at least one data attribute and itemID"}}}},"responses":{"202":{"description":"Successful Response"},"206":{"description":"Partial content response. Some items were not updated due to errors. The response contains the list of items that were not updated and their error messages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartialUpdateResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"400":{"description":"Diagnostic response for HTTP status 400.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when all items in the batch were invalid","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"All items had errors.","title":"Msg","type":"string"},"type":{"default":"all_items_invalid","title":"Type","type":"string"}},"title":"AllItemsInvalid","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/shops/":{"get":{"tags":["Nakupy|Shops"],"summary":"List shops details","description":"Returns detailed information about shops specified by their shop IDs.\n\nThis endpoint is designed to be used for querying shop details in bulk.\n\nIt accepts up to 100 unique shop IDs and returns matching shop data.","operationId":"get_shops_nakupy_shops__get","security":[{"API Access Token":[]}],"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"array","items":{"type":"integer","minimum":1},"title":"Premise ID","description":"List of up to 100 unique shop IDs to retrieve information for","max_items":100},"description":"List of up to 100 unique shop IDs to retrieve information for"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ShopsResponse_"}}}},"206":{"description":"Incomplete result. Not all requested ids were returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ShopsResponse_"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/statistics/item":{"post":{"tags":["Nakupy|Statistics"],"summary":"Create a new request for item statistics report.","description":"Create a new request for shopItem statistics report.\n\nReport can be downloaded using GET method for all reports on `/sklik/reports` endpoint.","operationId":"post_statistics_item_nakupy_statistics_item_post","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportParams"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":5,"seconds":30}}},"/nakupy/statistics/category":{"post":{"tags":["Nakupy|Statistics"],"summary":"Create a new request for item statistics report grouped by categories.","description":"Create a new request for shop item statistics report grouped by categories.\n\nCan be listed as `shopCategory` report type.\n\nReport can be downloaded using GET method for all reports on `/sklik/reports` endpoint.","operationId":"post_statistics_category_nakupy_statistics_category_post","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportParams"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":5,"seconds":30}}},"/nakupy/statistics/aggregated":{"post":{"tags":["Nakupy|Statistics"],"summary":"Create a new request for aggregated shop statistics report.","description":"Create a new request for aggregated shop statistics report.\n\nStatistics are aggregated across the entire premise.\n\nCan be listed as `shopAggregated` report type.\n\nReport can be downloaded using GET method for all reports on `/sklik/reports` endpoint.","operationId":"post_statistics_aggregated_nakupy_statistics_aggregated_post","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportParams"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":5,"seconds":30}}},"/nakupy/reviews/":{"get":{"tags":["Nakupy|Reviews"],"summary":"List shop reviews","description":"Get all shop reviews.","operationId":"get_reviews_nakupy_reviews__get","security":[{"API Access Token":[]}],"parameters":[{"name":"fromDatetime","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"From date and time","description":"Datetime to collect reviews from (default: 2 weeks ago)"},"description":"Datetime to collect reviews from (default: 2 weeks ago)"},{"name":"toDatetime","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"To date and time","description":"Datetime to collect reviews to (default: now)"},"description":"Datetime to collect reviews to (default: now)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Max number of reviews to return.","default":100,"title":"Limit"},"description":"Max number of reviews to return."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Parameter for paging.","default":0,"title":"Offset"},"description":"Parameter for paging."},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListReviewsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/reviews/{reviewId}":{"get":{"tags":["Nakupy|Reviews"],"summary":"Get one review by ID","description":"Get a specific shop review by its ID.","operationId":"get_review_by_id_nakupy_reviews__reviewId__get","security":[{"API Access Token":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Review ID","description":"ID of the review to retrieve","examples":[24]},"description":"ID of the review to retrieve"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__reviews__get_by_id__ReviewResponse"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/reviews/{reviewId}/reaction":{"put":{"tags":["Nakupy|Reviews"],"summary":"Insert reaction to a shop review","description":"Insert your reaction to a shop review.","operationId":"put_reaction_nakupy_reviews__reviewId__reaction_put","security":[{"API Access Token":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Review ID","description":"ID of the review to insert a reaction","examples":[24]},"description":"ID of the review to insert a reaction"},{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsertReactionRequest","description":"Request body for inserting a reaction to a shop review. The body should contain the reaction text."}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsertReactionRequest"}}}},"422":{"description":"Diagnostic response for HTTP status 422.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":false,"description":"Model validation error. Possible types are:\n\n- `missing`: This error is raised when a required value is missing.\n- `datetime_from_date_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `set_type`: This error is raised when the input value's type is not valid for a `set` field.\n- `date_from_datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a date field.\n- `date_past`: This error is raised when the value provided for a `PastDate` field is not in the past.\n- `complex_type`: This error is raised when the input value's type is not valid for a `complex` field.\n- `complex_str_parsing`: This error is raised when the input value is a string but cannot be parsed as a complex number.\n- `float_type`: This error is raised when the input value's type is not valid for a `float` field.\n- `iteration_error`: This error is raised when an error occurs while iterating over the input value.\n- `enum`: This error is raised when the input value is not a valid `enum` member.\n- `int_from_float`: This error is raised when you provide a `float` value for an `int` field.\n- `bytes_invalid_encoding`: This error is raised when a `bytes` value is invalid under the configured encoding.\n- `string_too_short`: This error is raised when the input value is a string whose length is less than the field's `min_length` constraint.\n- `uuid_parsing`: This error is raised when the input value's type is not valid for a UUID field.\n- `string_sub_type`: This error is raised when the value is an instance of a strict subtype of `str` when the field is strict.\n- `assertion_error`: This error is raised when a failing `assert` statement is encountered during validation.\n- `bytes_too_long`: This error is raised when a `bytes` value is longer than the configured maximum length.\n- `datetime_future`: This error is raised when the input value provided for a `FutureDatetime` field is not in the future.\n- `literal_error`: This error is raised when the input value is not one of the expected literals.\n- `datetime_past`: This error is raised when the value provided for a `PastDatetime` field is not in the past.\n- `date_parsing`: This error is raised when validating JSON where the input value is string that cannot be parsed for a date field.\n- `decimal_parsing`: This error is raised when the value provided for a `Decimal` could not be parsed as a decimal number.\n- `url_too_long`: This error is raised when the URL length is greater than 2083.\n- `timezone_aware`: This error is raised when the `datetime` value provided for a timezone-aware `datetime` field doesn't have timezone information.\n- `time_delta_type`: This error is raised when the input value's type is not valid for a `timedelta` field.\n- `url_parsing`: This error is raised when the input value is a string that cannot be parsed as a URL.\n- `frozen_instance`: This error is raised when trying to set a value of a field on a frozen instance or to delete such an field.\n- `tuple_type`: This error is raised when the input value's type is not valid for a `tuple` field.\n- `time_delta_parsing`: This error is raised when the input value is a string that cannot be parsed for a `timedelta` field.\n- `int_type`: This error is raised when the input value's type is not valid for an `int` field.\n- `date_type`: This error is raised when the input value's type is not valid for a `date` field.\n- `uuid_type`: This error is raised when the input value's type is not valid instance for a UUID field (str, bytes or UUID).\n- `decimal_type`: This error is raised when the input value's type is not valid for a `Decimal` field.\n- `float_parsing`: This error is raised when the input value is a string that cannot be parsed as a float.\n- `union_tag_invalid`: This error is raised when the input's discriminator is not one of the expected values.\n- `string_unicode`: This error is raised when the value cannot be parsed as a Unicode string.\n- `string_type`: This error is raised when the input value's type is not valid for a `str` field.\n- `uuid_version`: This error is raised when the input value's type is not match UUID version.\n- `time_parsing`: This error is raised when the input value is a string that cannot be parsed for a `time` field.\n- `date_from_datetime_inexact`: This error is raised when a `date` value is created from a `datetime` value that is not at midnight. For a timestamp to parse into a field of type `date`, the time components must all be zero.\n- `extra_forbidden`: This error is raised when the input value has extra fields that are not allowed.\n- `int_parsing`: This error is raised when the input value is a string that cannot be parsed as an integer.\n- `too_short`: This error is raised when the value is shorter than the field's `min_length` constraint.\n- `bytes_type`: This error is raised when the input value's type is not valid for a `bytes` field.\n- `timezone_naive`: This error is raised when the `datetime` value provided for a timezone-naive `datetime` field has timezone information.\n- `json_type`: This error is raised when the input value's type is not valid for a JSON field.\n- `frozen_field`: This error is raised when trying to set a value on a frozen field or to delete such a field.\n- `string_pattern_mismatch`: This error is raised when the input value doesn't match the field's `pattern` constraint.\n- `bool_parsing`: This error is raised when the input value is a string that is not valid for coercion to a boolean.\n- `union_tag_not_found`: This error is raised when it is not possible to extract a discriminator value from the input.\n- `greater_than`: This error is raised when the value is not greater than the field's `gt` constraint.\n- `finite_number`: This error is raised when the input value is not a finite number.\n- `multiple_of`: This error is raised when the value is not a multiple of the field's `multiple_of` constraint.\n- `less_than_equal`: This error is raised when the value is not less than or equal to the field's `le` constraint.\n- `decimal_max_places`: This error is raised when the value provided for a `Decimal` has too many digits after the decimal point.\n- `url_type`: This error is raised when the input value's type is not valid for a URL field.\n- `time_type`: This error is raised when the input value's type is not valid for a `time` field.\n- `url_syntax_violation`: This error is raised when the URL has a syntax violation.\n- `string_too_long`: This error is raised when the input value is a string whose length is greater than the field's `max_length` constraint.\n- `mapping_type`: This error is raised when the input value's type is not valid for a mapping field.\n- `url_scheme`: This error is raised when the URL scheme is not valid for the URL type of the field.\n- `none_required`: This error is raised when the input value is not `None` for a field that requires `None`.\n- `value_error`: This error is raised when the input value is not valid.\n- `too_long`: This error is raised when the value is longer than the field's `max_length` constraint.\n- `json_invalid`: This error is raised when the input value is not valid JSON.\n- `invalid_key`: This error is raised when attempting to validate a `dict` that has a key that is not an instance of `str`.\n- `bool_type`: This error is raised when the input value's type is not valid for a `bool` field.\n- `datetime_parsing`: This error is raised when the input value is a string that cannot be parsed for a `datetime` field.\n- `bytes_too_short`: This error is raised when a `bytes` value is shorter than the configured minimum length.\n- `decimal_whole_digits`: This error is raised when the value provided for a `Decimal` has more digits before the decimal point than `max_digits - decimal_places` (as long as both are specified).\n- `frozen_set_type`: This error is raised when the input value's type is not valid for a frozenset field.\n- `list_type`: This error is raised when the input value's type is not valid for a `list` field.\n- `dict_type`: This error is raised when the input value's type is not valid for a `dict` field.\n- `iterable_type`: This error is raised when the input value's type is not valid for an iterable field.\n- `date_future`: This error is raised when the input value provided for a `FutureDate` field is not in the future.\n- `datetime_type`: This error is raised when the input value's type is not valid for a `datetime` field.\n- `greater_than_equal`: This error is raised when the value is not greater than or equal to the field's `ge` constraint.\n- `decimal_max_digits`: This error is raised when a `Decimal` value has more digits than the configured maximum.\n- `int_parsing_size`: This error is raised when the input value is a string that cannot be parsed as an integer because it is too large.\n- `less_than`: This error is raised when the value is not less than the field's `lt` constraint.","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location.","type":"array"},"msg":{"title":"Descriptive human readable error message","type":"string"},"type":{"enum":["missing","datetime_from_date_parsing","set_type","date_from_datetime_parsing","date_past","complex_type","complex_str_parsing","float_type","iteration_error","enum","int_from_float","bytes_invalid_encoding","string_too_short","uuid_parsing","string_sub_type","assertion_error","bytes_too_long","datetime_future","literal_error","datetime_past","date_parsing","decimal_parsing","url_too_long","timezone_aware","time_delta_type","url_parsing","frozen_instance","tuple_type","time_delta_parsing","int_type","date_type","uuid_type","decimal_type","float_parsing","union_tag_invalid","string_unicode","string_type","uuid_version","time_parsing","date_from_datetime_inexact","extra_forbidden","int_parsing","too_short","bytes_type","timezone_naive","json_type","frozen_field","string_pattern_mismatch","bool_parsing","union_tag_not_found","greater_than","finite_number","multiple_of","less_than_equal","decimal_max_places","url_type","time_type","url_syntax_violation","string_too_long","mapping_type","url_scheme","none_required","value_error","too_long","json_invalid","invalid_key","bool_type","datetime_parsing","bytes_too_short","decimal_whole_digits","frozen_set_type","list_type","dict_type","iterable_type","date_future","datetime_type","greater_than_equal","decimal_max_digits","int_parsing_size","less_than"],"title":"ErrorTypes","type":"string"},"ctx":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"An optional object which contains values required to render the error message.","title":"Ctx"},"input":{"description":"The input provided for validation.","title":"Input"}},"required":["msg","type","input"],"title":"ModelValidationError","type":"object"}]}}}}}}},"404":{"description":"Diagnostic response for HTTP status 404.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"array","items":{"oneOf":[{"additionalProperties":true,"description":"Error returned when entity not found","properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Error location","type":"array"},"msg":{"default":"Entity not found","title":"Msg","type":"string"},"type":{"default":"entity_not_found","title":"Type","type":"string"},"entity_type":{"description":"Type of the entity that was not found, e.g. 'product', 'shop', 'campaign', etc.","title":"Entity Type","type":"string"}},"required":["entity_type"],"title":"EntityNotFound","type":"object"}]}}}}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/nakupy/product-reviews/":{"get":{"tags":["Nakupy|Product Reviews"],"summary":"List product reviews","description":"Get product reviews and ratings obtained through your shop orders.","operationId":"get_product_reviews_nakupy_product_reviews__get","security":[{"API Access Token":[]}],"parameters":[{"name":"premiseId","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Premise ID","description":"ID of the shop on whose behalf the request is made."},"description":"ID of the shop on whose behalf the request is made."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Max number of reviews to return.","examples":[100],"default":500,"title":"Limit"},"description":"Max number of reviews to return."},{"name":"fromDatetime","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"From date and time","description":"Maximum age of listed reviews. Default value: first second of the 180th preceding day in UTC. The interval between fromDatetime and toDatetime must not exceed 180 days.","examples":["2025-01-01T00:00:00Z"]},"description":"Maximum age of listed reviews. Default value: first second of the 180th preceding day in UTC. The interval between fromDatetime and toDatetime must not exceed 180 days."},{"name":"toDatetime","in":"query","required":false,"schema":{"type":"string","format":"date-time","title":"To date and time","description":"Minimum age of listed reviews. Default value: current time in UTC.","examples":["2025-06-01T00:00:00Z"]},"description":"Minimum age of listed reviews. Default value: current time in UTC."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListResponse_ProductReviewResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-rate-limit":{"limit":1,"seconds":1}}},"/":{"get":{"summary":"API Metadata","description":"Contains basic metadata about the API.","operationId":"api_home__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiMeta"}}}}}}}},"components":{"schemas":{"AccessTokenResponse":{"properties":{"access_token":{"type":"string","title":"Access token","description":"Generated access token for accessing the API resources. Keep it secure!"},"token_type":{"type":"string","const":"Bearer","title":"Token type","description":"Type of the token. This is always Bearer.","default":"Bearer"},"expires_in":{"type":"integer","title":"Expiration time","description":"Number of seconds until the token expires. Note that after the expiration, the token won't be usable again and you need to obtain a new one."},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh token","description":"Long-lived opaque refresh token. Store it securely and use it to obtain new access tokens."},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope","description":"Space-separated list of access levels granted by the resource owner."}},"type":"object","required":["access_token","expires_in"],"title":"AccessTokenResponse","description":"Response of the access-token endpoint."},"AccountAccess":{"type":"string","enum":["r","rw","rwa"],"title":"AccountAccess","description":"Access level the authorized user has to an account."},"AccountAgencyStatus":{"type":"string","enum":["no-agency","wallet-agency","bill-agency","client-agency"],"title":"AccountAgencyStatus","description":"Billing / agency relation of an account."},"AccountAttribute":{"type":"string","enum":["id","username","access","agencyStatus","relationStatus"],"title":"AccountAttribute","description":"Available attributes for account listing."},"AccountRelationStatus":{"type":"string","enum":["offer","live","request","agency"],"title":"AccountRelationStatus","description":"State of the relation between the authorized user and an account."},"ActorUser":{"properties":{"userId":{"type":"integer","title":"User ID","description":"ID of the acting user."},"userName":{"type":"string","title":"User name","description":"Username of the acting user."}},"type":"object","required":["userId","userName"],"title":"ActorUser","description":"User that is acting on behalf of another user."},"AdAttribute":{"type":"string","enum":["id","type","createDate","status","adStatus","isDeleted","deleteDate","sensitivity","startDate","endDate"],"title":"AdAttribute","description":"Available base ad attributes for ad listing."},"AdContextStatisticAttribute":{"type":"string","enum":["networks.context.ctr","networks.context.clicks","networks.context.impressions","networks.context.clickMoney","networks.context.impressionMoney","networks.context.totalMoney","networks.context.avgPosition","networks.context.conversions","networks.context.avgCpc","networks.context.avgCpt","networks.context.pno","networks.context.quality","networks.context.conversionPrice","networks.context.conversionRatio","networks.context.conversionValue","networks.context.skips","networks.context.views","networks.context.engagement","networks.context.watchTime","networks.context.viewershipFirstQuartile","networks.context.viewershipMidpoint","networks.context.viewershipThirdQuartile","networks.context.viewershipComplete","networks.context.viewershipRateFirstQuartile","networks.context.viewershipRateMidpoint","networks.context.viewershipRateThirdQuartile","networks.context.viewershipRateComplete","networks.context.viewRate","networks.context.skipRate","networks.context.avgWatchTime","networks.context.avgCostPerView","networks.context.firstDate","networks.context.lastDate"],"title":"AdContextStatisticAttribute"},"AdCreateItem":{"properties":{"id":{"type":"integer","title":"ID","description":"ID of the created ad."}},"type":"object","required":["id"],"title":"AdCreateItem","description":"Single item in the create-ad response."},"AdDynamicBanner":{"properties":{"type":{"type":"string","const":"dynamic_banner","title":"Ad Type","description":"Discriminator value identifying the ad as a dynamic banner."},"dynamicTemplateId":{"type":"integer","minimum":1.0,"title":"Dynamic Template ID","description":"Identifier of the dynamic template used as the ad creative (required)."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."}},"type":"object","required":["type","dynamicTemplateId"],"title":"AdDynamicBanner","description":"Create a new dynamic banner ad.\n\nDynamic banners do not carry a landing URL or image — creative content comes from the\nreferenced dynamic template. Allowed on `smart` and `product` campaigns."},"AdDynamicBannerResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"dynamic_banner","title":"Ad Type","description":"Ad type discriminator."},"dynamicTemplate":{"anyOf":[{"$ref":"#/components/schemas/DynamicTemplateResponse"},{"type":"null"}],"title":"Dynamic Template","description":"Dynamic template used as the ad creative."}},"type":"object","required":["type"],"title":"AdDynamicBannerResponse","description":"Ad of type: dynamic_banner."},"AdFulltextStatisticAttribute":{"type":"string","enum":["networks.fulltext.ctr","networks.fulltext.clicks","networks.fulltext.impressions","networks.fulltext.clickMoney","networks.fulltext.impressionMoney","networks.fulltext.totalMoney","networks.fulltext.avgPosition","networks.fulltext.conversions","networks.fulltext.avgCpc","networks.fulltext.avgCpt","networks.fulltext.pno","networks.fulltext.quality","networks.fulltext.conversionPrice","networks.fulltext.conversionRatio","networks.fulltext.conversionValue","networks.fulltext.skips","networks.fulltext.views","networks.fulltext.engagement","networks.fulltext.watchTime","networks.fulltext.viewershipFirstQuartile","networks.fulltext.viewershipMidpoint","networks.fulltext.viewershipThirdQuartile","networks.fulltext.viewershipComplete","networks.fulltext.viewershipRateFirstQuartile","networks.fulltext.viewershipRateMidpoint","networks.fulltext.viewershipRateThirdQuartile","networks.fulltext.viewershipRateComplete","networks.fulltext.viewRate","networks.fulltext.skipRate","networks.fulltext.avgWatchTime","networks.fulltext.avgCostPerView","networks.fulltext.firstDate","networks.fulltext.lastDate"],"title":"AdFulltextStatisticAttribute"},"AdSelection":{"type":"string","enum":["weighted","random","cpa","cos"],"title":"AdSelection","description":"Campaign ad selection.\nFrom: sklik_common.ad_selection"},"AdStatisticAttribute":{"type":"string","enum":["ctr","clicks","impressions","clickMoney","impressionMoney","totalMoney","avgPosition","conversions","avgCpc","avgCpt","pno","quality","conversionPrice","conversionRatio","conversionValue","skips","views","engagement","watchTime","viewershipFirstQuartile","viewershipMidpoint","viewershipThirdQuartile","viewershipComplete","viewershipRateFirstQuartile","viewershipRateMidpoint","viewershipRateThirdQuartile","viewershipRateComplete","viewRate","skipRate","avgWatchTime","avgCostPerView","firstDate","lastDate"],"title":"AdStatisticAttribute"},"AdSuggestionItem":{"properties":{"descriptions":{"items":{"type":"string"},"type":"array","title":"Descriptions","description":"Suggested smart ad descriptions."},"id":{"type":"string","title":"ID","description":"A unique ID for the smart ad suggestion."},"longTitles":{"items":{"type":"string"},"type":"array","title":"Long Titles","description":"Suggested smart ad titles (long version)."},"titles":{"items":{"type":"string"},"type":"array","title":"Titles","description":"Suggested smart ad titles (long version)."}},"type":"object","required":["descriptions","id","longTitles","titles"],"title":"AdSuggestionItem","description":"A single suggestion of smart ad creatives."},"AdType-Output":{"type":"string","enum":["banner","combined","branding","smart"],"title":"AdType","description":"Ad type for image constraints."},"AdUpdateItem":{"properties":{"id":{"type":"integer","title":"ID","description":"ID of the ad after the update. Differs from the path `adId` when the update replaced the ad with a new version."}},"type":"object","required":["id"],"title":"AdUpdateItem","description":"Body of PATCH ad when the update replaced the ad with a new version."},"AdVideoStatisticAttribute":{"type":"string","enum":["networks.video.ctr","networks.video.clicks","networks.video.impressions","networks.video.clickMoney","networks.video.impressionMoney","networks.video.totalMoney","networks.video.avgPosition","networks.video.conversions","networks.video.avgCpc","networks.video.avgCpt","networks.video.pno","networks.video.quality","networks.video.conversionPrice","networks.video.conversionRatio","networks.video.conversionValue","networks.video.skips","networks.video.views","networks.video.engagement","networks.video.watchTime","networks.video.viewershipFirstQuartile","networks.video.viewershipMidpoint","networks.video.viewershipThirdQuartile","networks.video.viewershipComplete","networks.video.viewershipRateFirstQuartile","networks.video.viewershipRateMidpoint","networks.video.viewershipRateThirdQuartile","networks.video.viewershipRateComplete","networks.video.viewRate","networks.video.skipRate","networks.video.avgWatchTime","networks.video.avgCostPerView","networks.video.firstDate","networks.video.lastDate"],"title":"AdVideoStatisticAttribute"},"AddNegativeKeywords":{"properties":{"negativeKeywords":{"items":{"$ref":"#/components/schemas/NegativeKeywordItem"},"type":"array","minItems":1,"title":"Negative Keywords","description":"Negative keywords (name + match type) the operation applies to."}},"type":"object","required":["negativeKeywords"],"title":"AddNegativeKeywords","description":"Negative keywords to add to the current set."},"ApiContact":{"properties":{"name":{"type":"string","title":"Contact Name"},"url":{"type":"string","minLength":1,"format":"uri","title":"Contact URL","description":"URL where you might find answers before contacting support."},"email":{"type":"string","format":"email","title":"Contact Email","description":"Email address for support or inquiries related to the API."}},"type":"object","required":["name","url","email"],"title":"ApiContact","description":"Contact information for the API."},"ApiMeta":{"properties":{"name":{"type":"string","title":"API Name"},"version":{"type":"string","title":"API Version"},"describedBy":{"type":"string","minLength":1,"format":"uri","title":"OpenAPI specification URL"},"documentation":{"type":"string","minLength":1,"format":"uri","title":"API Documentation URL"},"contact":{"$ref":"#/components/schemas/ApiContact","title":"Support contact information"}},"type":"object","required":["name","version","describedBy","documentation","contact"],"title":"ApiMeta","description":"API metadata model."},"ApprovalStatus":{"type":"string","enum":["new","waiting","allow","deny","noactive","deny_excess_punctuation","deny_bad_uppercase_usage","deny_exclamation_mark_in_title","deny_excess_words_duplication","deny_disallowed_language","deny_nonsensical_text","deny_superlative_in_text","deny_general_phrase","deny_unmatched_domain","deny_nonexistent_domain","deny_invalid_url","deny_url_under_construction","deny_unsuitable_url","deny_false_advertising","deny_mention_of_competition","deny_not_conjoint_with_target_page","deny_not_conjoint_with_keywords","deny_unverifiable_prices","deny_erotic_content","deny_disallowed_content","deny_trademark","deny_not_diacritical_text","deny_missing_space","deny_averment_of_uniqueness","deny_discount_with_reffered_value","deny_untypical_abbreviation","deny_typing_or_grammatical_error","deny_impenetrable_words_dividing","deny_problem_with_punctuation","noactive_unsupported_size"],"title":"ApprovalStatus","description":"Approving status values from mysql common table ad_status"},"AudioCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"audio","title":"Type","description":"Campaign type."}},"type":"object","required":["name","budget","type"],"title":"AudioCampaign","description":"Create an audio campaign."},"AudioCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"audio","title":"Type"}},"type":"object","required":["type"],"title":"AudioCampaignResponse","description":"Campaign of type: audio."},"BannerAd":{"properties":{"finalUrl":{"type":"string","maxLength":1024,"minLength":1,"title":"Final URL","description":"Landing page URL the banner points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"banner","title":"Ad Type","description":"Discriminator value identifying the ad as banner."},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Internal name of the banner ad (required)."},"imageId":{"type":"integer","minimum":1.0,"title":"Image ID","description":"Identifier of the uploaded image used as the banner creative (required). The image cannot be changed later — create a new ad instead."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."}},"type":"object","required":["finalUrl","type","name","imageId"],"title":"BannerAd","description":"Create a new banner ad."},"BannerAdAttribute":{"type":"string","enum":["name","finalUrl","mobileFinalUrl","trackingTemplate","impressionTrackingTemplate","impressionTrackingTemplate2"],"title":"BannerAdAttribute","description":"Available banner-ad specific attributes for ad listing."},"BannerAdResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"banner","title":"Ad Type","description":"Ad type discriminator."},"name":{"type":"string","title":"Name","description":"Internal name of the banner ad."},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final URL","description":"Landing page URL."},"mobileFinalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile Final URL","description":"Landing page URL for mobile devices."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Tracking URL template."},"impressionTrackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template","description":"Impression tracking URL template."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second impression tracking URL template."},"image":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Image","description":"Image creative of the banner ad."}},"type":"object","required":["type"],"title":"BannerAdResponse","description":"Ad of type: banner."},"BannerImageAttribute":{"type":"string","enum":["image.id","image.url","image.width","image.height","image.size"],"title":"BannerImageAttribute","description":"Banner-ad image attributes."},"Body_get_access_token_user_token_post":{"properties":{"grant_type":{"type":"string","enum":["client_credentials","authorization_code","refresh_token"],"title":"Grant type","description":"The type of grant being used: `client_credentials`, `authorization_code`, or `refresh_token`."},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foreign account user ID","description":"\nUser ID of the account to access.\n\nWhen authenticating as a user (a refresh token or an authorization code), leave this empty to get a token for\nyourself. To access a foreign account you must have been granted access to it beforehand; otherwise you will receive\na 403 Forbidden error.\n\nWhen authenticating as an OAuth2 client (`grant_type=client_credentials` with `client_id`/`client_secret`), leave\nthis empty to get a token representing the client itself, which no endpoint accepts yet. Set it to obtain a token\nthat accesses that account instead; this is available only to clients allowed to access any account, and the request\notherwise fails with 401 Unauthorized.\n"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested access levels","description":"\nSpace-separated list of access levels the issued access token should be limited to:\n\n- `r` - read access only\n- `rw` - read and write access\n- `rwa` - read and write access plus administrative actions such as linking accounts\n\nApplies to `grant_type=refresh_token`, to a refresh token passed as a Bearer header, and to the OAuth2\nclient-credentials grant. With `grant_type=authorization_code` the tokens always carry the access levels the\naccount owner approved on the authorization page, so the field has no effect there.\n\nThe scope can only be narrowed, never widened: it must be a subset of the access levels of the refresh token you\nare exchanging. Requesting a level you were not granted fails with `422 Unprocessable Entity`. The refresh token\nitself is never narrowed, so a later call can request its full scope again.\n\nWhen left empty, the token carries every access level of the refresh token. The one exception is authenticating as\nan OAuth2 client (`grant_type=client_credentials` with `client_id`/`client_secret`): there is no refresh token to\ninherit from, so an empty scope means read access only (`r`) and write or administrative access has to be\nrequested explicitly.\n"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization code","description":"Required when grant_type=authorization_code."},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect URI","description":"Required when grant_type=authorization_code. Must exactly match the URI used during authorization."},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh token","description":"Required when grant_type=refresh_token."},"client_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Client ID","description":"Provide your client_id, if you have any. Otherwise, leave empty."},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client secret","description":"If you were issued a client_secret, provide it. Otherwise, leave empty."},"code_verifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"PKCE code verifier"}},"type":"object","required":["grant_type"],"title":"Body_get_access_token_user_token_post"},"Body_upload_image_sklik_images__post":{"properties":{"image":{"type":"string","contentMediaType":"application/octet-stream","title":"Image File","description":"Image file to upload. Send as multipart/form-data."}},"type":"object","required":["image"],"title":"Body_upload_image_sklik_images__post"},"BrandingAd":{"properties":{"finalUrl":{"type":"string","maxLength":1024,"minLength":1,"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"branding","title":"Ad Type","description":"Discriminator value identifying the ad as branding."},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Internal name of the branding ad (required)."},"imageId":{"type":"integer","minimum":1.0,"title":"Image ID","description":"Identifier of the uploaded image used as the branding creative (required). The image cannot be changed later — create a new ad instead."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."}},"type":"object","required":["finalUrl","type","name","imageId"],"title":"BrandingAd","description":"Create a new branding ad."},"BrandingAdAttribute":{"type":"string","enum":["name","finalUrl","trackingTemplate","impressionTrackingTemplate","impressionTrackingTemplate2"],"title":"BrandingAdAttribute","description":"Available branding-ad specific attributes for ad listing."},"BrandingAdResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"branding","title":"Ad Type","description":"Ad type discriminator."},"name":{"type":"string","title":"Name","description":"Internal name of the branding ad."},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final URL","description":"Landing page URL."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Tracking URL template."},"impressionTrackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template","description":"Impression tracking URL template."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second impression tracking URL template."},"image":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Image","description":"Image creative of the branding ad."}},"type":"object","required":["type"],"title":"BrandingAdResponse","description":"Ad of type: branding."},"BrandingImageAttribute":{"type":"string","enum":["image.id","image.url","image.width","image.height","image.size"],"title":"BrandingImageAttribute","description":"Branding-ad image attributes."},"Budget-Input":{"properties":{"dayBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Budget","description":"Campaign daily budget in hellers (100 hellers = 1 CZK)."}},"type":"object","title":"Budget","description":"Campaign budget configuration (mirrors GET ``budget`` sub-object shape)."},"Budget-Output":{"properties":{"id":{"type":"integer","title":"Budget ID","description":"Budget ID of the campaigns.","examples":[789012]},"dayBudget":{"type":"integer","title":"Day Budget","description":"Daily budget for the campaigns in CZK.","examples":[5000]}},"type":"object","required":["id","dayBudget"],"title":"Budget","description":"Response model for a budget."},"BudgetAttribute":{"type":"string","enum":["budget.id","budget.name","budget.dayBudget","budget.deleted","budget.deleteDate","budget.colorCodeId"],"title":"BudgetAttribute"},"BudgetResponse":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"ID","description":"Budget identifier."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Budget name."},"dayBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Budget","description":"Daily budget limit in hellers."},"deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Deleted","description":"Whether the budget is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the budget was deleted."},"colorCodeId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Color Code ID","description":"Color code identifier for the budget."}},"type":"object","title":"BudgetResponse","description":"Budget sub-object returned within campaign listing response."},"CampaignAttribute":{"type":"string","enum":["id","name","totalBudget","exhaustedTotalBudget","totalBudgetFrom","totalClicks","actualClicks","totalClicksFrom","type","status","isDeleted","deleteDate","adSelection","paymentMethod","startDate","endDate","createDate","automaticLocation","excludedUrls","exhaustedDayBudget","scheduleEnabled","zboziPremiseId","zboziPremiseBidding","videoFormat","maxPno","defaultBudgetId"],"title":"CampaignAttribute","description":"Available attributes for campaign listing."},"CampaignCreateItem":{"properties":{"id":{"type":"integer","title":"ID","description":"ID of the created campaign."}},"type":"object","required":["id"],"title":"CampaignCreateItem","description":"Single item in the create campaign response."},"CampaignCreateResponseBody":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CampaignCreateItem"},"type":"array","title":"Items","description":"List of created campaign identifiers."}},"type":"object","required":["items"],"title":"CampaignCreateResponseBody","description":"Response body for POST /sklik/campaigns endpoint."},"CampaignListResponseBody":{"properties":{"items":{"items":{"oneOf":[{"$ref":"#/components/schemas/CombinedCampaignResponse"},{"$ref":"#/components/schemas/VideoCampaignResponse"},{"$ref":"#/components/schemas/ContextCampaignResponse"},{"$ref":"#/components/schemas/FulltextCampaignResponse"},{"$ref":"#/components/schemas/ProductCampaignResponse"},{"$ref":"#/components/schemas/ZboziCampaignResponse"},{"$ref":"#/components/schemas/SocialCampaignResponse"},{"$ref":"#/components/schemas/SimpleCampaignResponse"},{"$ref":"#/components/schemas/AudioCampaignResponse"},{"$ref":"#/components/schemas/SmartCampaignResponse"}],"discriminator":{"propertyName":"type","mapping":{"audio":"#/components/schemas/AudioCampaignResponse","combined":"#/components/schemas/CombinedCampaignResponse","context":"#/components/schemas/ContextCampaignResponse","fulltext":"#/components/schemas/FulltextCampaignResponse","product":"#/components/schemas/ProductCampaignResponse","simple":"#/components/schemas/SimpleCampaignResponse","smart":"#/components/schemas/SmartCampaignResponse","social":"#/components/schemas/SocialCampaignResponse","video":"#/components/schemas/VideoCampaignResponse","zbozi":"#/components/schemas/ZboziCampaignResponse"}}},"type":"array","title":"Items","description":"List of campaign entities. Included fields depend on requested attributes."}},"type":"object","title":"CampaignListResponseBody","description":"Response body for the campaign listing endpoint."},"CampaignResponse":{"properties":{"id":{"type":"integer","title":"Campaign ID","description":"Campaign ID.","examples":[45678]},"user":{"$ref":"#/components/schemas/User","description":"Data about the user who owns the campaigns."},"status":{"type":"string","enum":["active","active-exhausted_day_budget","active-expired_budget","active-expired_clicks","active-expired_time","active-low_budget","active-waiting","suspended","deleted"],"title":"Status","description":"Status of the campaigns.  \nValues meaning:\n- active: campaigns is active and running\n- active-exhausted_day_budget: campaigns is active but daily budget is exhausted\n- active-expired_budget: campaigns is active but budget is expired\n- active-expired_clicks: campaigns is active but clicks are expired\n- active-expired_time: campaigns is active but time is expired\n- active-low_budget: campaigns is active but budget is low\n- active-waiting: campaigns is waiting for approval\n- suspended: campaigns is suspended\n- deleted: campaigns is deleted\n","examples":["active"]},"deleted":{"type":"boolean","title":"Is Deleted","description":"Indicates whether the campaigns is deleted.","examples":[false]},"budget":{"$ref":"#/components/schemas/Budget-Output","description":"Data about the budget of the campaigns."},"exhaustedDayBudget":{"type":"integer","title":"Exhausted Day Budget","description":"If campaigns total budget is set, this value indicates how much of the daily budget is already spent.  \nValue is in hellers","examples":[1500]},"premiseId":{"type":"integer","title":"Premise ID","description":"Zbozi shop ID associated with the campaigns.","examples":[987654]},"zboziBiddingType":{"type":"string","enum":["zbozi","feed","sklik"],"title":"Bidding Type","description":"Source of CPC settings. \nValues meaning:\n- zbozi: CPC setting is taken from Centrum prodejce administration interface\n- feed: CPC settings is taken from XML feed tags\n- sklik: CPC setting is taken from Sklik advertising system","examples":["sklik"]},"websites":{"items":{"$ref":"#/components/schemas/Website"},"type":"array","title":"Website multipliers","description":"Websites for which CPC multipliers are set."},"devices":{"items":{"$ref":"#/components/schemas/Device-Output"},"type":"array","title":"Device multipliers","description":"Device for which CPC multipliers are set."},"products":{"items":{"$ref":"#/components/schemas/Product"},"type":"array","title":"Product multipliers","description":"Data about products for which CPC multipliers are set."}},"type":"object","required":["id","user","status","deleted","budget","exhaustedDayBudget","premiseId","zboziBiddingType","websites","devices","products"],"title":"CampaignResponse","description":"Response model for a campaigns."},"CampaignType":{"type":"string","enum":["combined","video","context","fulltext","product","zbozi","social","simple","smart","audio"],"title":"CampaignType","description":"Campaign type values"},"CampaignVideoFormat":{"type":"string","enum":["instream","outstream","both"],"title":"CampaignVideoFormat","description":"Campaign video format.\nFrom: sklik_common.campaign_video_format"},"CategoriesResponse":{"properties":{"categoryId":{"type":"integer","title":"Category ID","description":"Category ID assigned by Seznam.","examples":[123456]},"path":{"items":{"type":"string"},"type":"array","title":"Path","description":"Category path (list of category names in category tree). Sorted from root to leaf.","examples":[["Telefony","Navigace","Mobilní telefony"]]},"parameters":{"items":{"$ref":"#/components/schemas/CategoryParameterResponse"},"type":"array","title":"Parameters","description":"Parameters usable for offers in this category.  \nPresent only when showParameters is true, empty for categories with no parameters defined."}},"type":"object","required":["categoryId","path"],"title":"CategoriesResponse","description":"Response model for category details."},"Category":{"properties":{"categoryId":{"type":"integer","title":"Category ID","description":"Category ID assigned by Seznam"},"children":{"items":{"$ref":"#/components/schemas/Category"},"type":"array","title":"Child Categories","description":"List of child categories for current node"},"links":{"$ref":"#/components/schemas/Links","description":"Links to current and parent category API endpoints"},"name":{"type":"string","title":"Category Name","description":"Category name"},"parentId":{"type":"integer","title":"Parent Category ID","description":"Parent category ID. 0 for root."}},"type":"object","required":["categoryId","links","name","parentId"],"title":"Category","description":"Response model for a category in the categories tree."},"CategoryParameterImportance":{"type":"string","enum":["Kritický","Důležitý","Doplňkový"],"title":"CategoryParameterImportance","description":"Importance of a category parameter for filtering."},"CategoryParameterResponse":{"properties":{"defaultUnit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Unit","description":"Unit assumed when the offer does not state one. Null for parameters without units.","examples":["GHz"]},"enum":{"items":{"type":"string"},"type":"array","title":"Enum","description":"Allowed values for enum and bool parameters. Empty for the remaining parameter types.","examples":[["černá","stříbrná"]]},"importance":{"$ref":"#/components/schemas/CategoryParameterImportance","title":"Importance","description":"Importance of the parameter for filtering in this category.","examples":["Kritický"]},"maxValue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Value","description":"Highest accepted value, expressed in defaultUnit. Null for parameters without a numeric range.","examples":[5]},"minValue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Value","description":"Lowest accepted value, expressed in defaultUnit. Null for parameters without a numeric range.","examples":[0.1]},"name":{"type":"string","title":"Name","description":"Parameter name.","examples":["frekvence procesoru"]},"type":{"$ref":"#/components/schemas/CategoryParameterType","title":"Type","description":"Value type of the parameter.","examples":["float"]},"units":{"items":{"$ref":"#/components/schemas/CategoryParameterUnitResponse"},"type":"array","title":"Units","description":"Units accepted for the parameter value. Empty for parameters that are not measured in units."}},"type":"object","required":["defaultUnit","enum","importance","maxValue","minValue","name","type","units"],"title":"CategoryParameterResponse","description":"Parameter usable for offers in the given category.\n\nParameter definitions are shared between categories, but defaultUnit, importance, minValue and maxValue\nare specific to the category the parameter is listed under."},"CategoryParameterType":{"type":"string","enum":["bool","enum","float","integer"],"title":"CategoryParameterType","description":"Value type of a category parameter."},"CategoryParameterUnitResponse":{"properties":{"name":{"type":"string","title":"Name","description":"Full unit name.","examples":["gigahertz"]},"unit":{"type":"string","title":"Unit","description":"Unit symbol as it is expected in the offer data.","examples":["GHz"]}},"type":"object","required":["name","unit"],"title":"CategoryParameterUnitResponse","description":"Unit accepted for a parameter value."},"CombinedAd":{"properties":{"finalUrl":{"type":"string","maxLength":1024,"minLength":1,"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"combined","title":"Ad Type","description":"Discriminator value identifying the ad as combined."},"longLine":{"type":"string","maxLength":90,"minLength":1,"title":"Long Line","description":"Long headline of the combined ad (required)."},"shortLine":{"type":"string","maxLength":25,"minLength":1,"title":"Short Line","description":"Short headline of the combined ad (required)."},"description":{"type":"string","maxLength":90,"minLength":1,"title":"Description","description":"Description line of the combined ad (required)."},"companyName":{"type":"string","maxLength":25,"minLength":1,"title":"Company Name","description":"Company name displayed in the combined ad (required)."},"imageId":{"type":"integer","minimum":1.0,"title":"Image ID","description":"Identifier of the landscape image (required)."},"imageSquareId":{"type":"integer","minimum":1.0,"title":"Square Image ID","description":"Identifier of the square image (required)."},"imageLogoId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Logo Image ID","description":"Identifier of the square logo image (optional)."},"imageLandscapeLogoId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Landscape Logo Image ID","description":"Identifier of the landscape logo image (optional)."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."},"colorAccent":{"anyOf":[{"type":"string","pattern":"^[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Accent Color","description":"Accent color as six hexadecimal digits without a leading #."},"colorMain":{"anyOf":[{"type":"string","pattern":"^[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Main Color","description":"Main color as six hexadecimal digits without a leading #."}},"type":"object","required":["finalUrl","type","longLine","shortLine","description","companyName","imageId","imageSquareId"],"title":"CombinedAd","description":"Create a new combined ad."},"CombinedAdAttribute":{"type":"string","enum":["longLine","shortLine","description","companyName","finalUrl","mobileFinalUrl","trackingTemplate","impressionTrackingTemplate","impressionTrackingTemplate2","colorAccent","colorMain"],"title":"CombinedAdAttribute","description":"Available combined-ad specific attributes for ad listing."},"CombinedAdResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"combined","title":"Ad Type","description":"Ad type discriminator."},"longLine":{"type":"string","title":"Long Line","description":"Long headline of the combined ad."},"shortLine":{"type":"string","title":"Short Line","description":"Short headline of the combined ad."},"description":{"type":"string","title":"Description","description":"Description line of the combined ad."},"companyName":{"type":"string","title":"Company Name","description":"Company name displayed in the combined ad."},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final URL","description":"Landing page URL."},"mobileFinalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile Final URL","description":"Landing page URL for mobile devices."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Tracking URL template."},"impressionTrackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template","description":"Impression tracking URL template."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second impression tracking URL template."},"colorAccent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color","description":"Accent color as six hexadecimal digits without a leading #."},"colorMain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Main Color","description":"Main color as six hexadecimal digits without a leading #."},"image":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Image","description":"Landscape image of the combined ad."},"imageSquare":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Square Image","description":"Square image of the combined ad."},"imageLogo":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Logo Image","description":"Square logo of the combined ad."},"imageLandscapeLogo":{"anyOf":[{"$ref":"#/components/schemas/ImageResponse"},{"type":"null"}],"title":"Landscape Logo Image","description":"Landscape logo of the combined ad."}},"type":"object","required":["type"],"title":"CombinedAdResponse","description":"Ad of type: combined."},"CombinedCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"combined","title":"Type"}},"type":"object","required":["type"],"title":"CombinedCampaignResponse","description":"Campaign of type: combined."},"CombinedImageAttribute":{"type":"string","enum":["image.id","image.url","image.width","image.height","image.size"],"title":"CombinedImageAttribute","description":"Combined-ad landscape image attributes."},"CombinedImageLandscapeLogoAttribute":{"type":"string","enum":["imageLandscapeLogo.id","imageLandscapeLogo.url","imageLandscapeLogo.width","imageLandscapeLogo.height","imageLandscapeLogo.size"],"title":"CombinedImageLandscapeLogoAttribute","description":"Combined-ad landscape logo attributes."},"CombinedImageLogoAttribute":{"type":"string","enum":["imageLogo.id","imageLogo.url","imageLogo.width","imageLogo.height","imageLogo.size"],"title":"CombinedImageLogoAttribute","description":"Combined-ad square logo attributes."},"CombinedImageSquareAttribute":{"type":"string","enum":["imageSquare.id","imageSquare.url","imageSquare.width","imageSquare.height","imageSquare.size"],"title":"CombinedImageSquareAttribute","description":"Combined-ad square image attributes."},"CompareConditionOperator":{"type":"string","enum":["eq","neq","gt","ge","lt","le"],"title":"CompareConditionOperator","description":"Compare condition operator for statistic filtering."},"ConditionGroupResponse":{"properties":{"conditions":{"items":{"$ref":"#/components/schemas/ConditionResponse"},"type":"array","title":"Conditions","description":"Conditions within the group."}},"type":"object","title":"ConditionGroupResponse","description":"Group of conditions within a conversion."},"ConditionResponse":{"properties":{"key":{"$ref":"#/components/schemas/ConversionConditionKey","title":"Key"},"type":{"$ref":"#/components/schemas/ConversionConditionType","title":"Type"},"value":{"type":"string","title":"Value","description":"Matched value."}},"type":"object","required":["key","type","value"],"title":"ConditionResponse","description":"A single condition of a conversion condition group."},"ContextCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"context","title":"Type","description":"Campaign type."},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/emu__config__static__payment_method__PaymentMethod"},{"type":"null"}],"title":"Payment Method","description":"Payment method for ads."}},"type":"object","required":["name","budget","type"],"title":"ContextCampaign","description":"Create a context campaign."},"ContextCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"context","title":"Type"}},"type":"object","required":["type"],"title":"ContextCampaignResponse","description":"Campaign of type: context."},"ContextStatisticAttribute":{"type":"string","enum":["networks.context.ctr","networks.context.clicks","networks.context.impressions","networks.context.clickMoney","networks.context.impressionMoney","networks.context.totalMoney","networks.context.avgPosition","networks.context.conversions","networks.context.exhaustedBudgetCount","networks.context.stoppedByScheduleCount","networks.context.stoppedByScheduleShare","networks.context.underForestThresholdShare","networks.context.underForestThresholdCount","networks.context.exhaustedBudgetShare","networks.context.avgCpc","networks.context.avgCpt","networks.context.pno","networks.context.impressionShare","networks.context.missedPrice","networks.context.winRate","networks.context.quality","networks.context.conversionPrice","networks.context.conversionRatio","networks.context.conversionValue","networks.context.skips","networks.context.views","networks.context.engagement","networks.context.watchTime","networks.context.viewershipFirstQuartile","networks.context.viewershipMidpoint","networks.context.viewershipThirdQuartile","networks.context.viewershipComplete","networks.context.viewershipRateFirstQuartile","networks.context.viewershipRateMidpoint","networks.context.viewershipRateThirdQuartile","networks.context.viewershipRateComplete","networks.context.viewRate","networks.context.skipRate","networks.context.avgWatchTime","networks.context.avgCostPerView","networks.context.firstDate","networks.context.lastDate"],"title":"ContextStatisticAttribute"},"ConversionAttribute":{"type":"string","enum":["id","userId","name","description","value","semEventName","isDeleted","conditionGroups"],"title":"ConversionAttribute","description":"Available attributes for conversion listing."},"ConversionConditionKey":{"type":"string","enum":["url","user_ge","user_ct","event_source","value","content_type","content_name","content_category","item_id","user_region"],"title":"ConversionConditionKey","description":"Conversion condition key."},"ConversionConditionType":{"type":"string","enum":["contains","not_contains","equals","not_equals","starts","not_starts","ends","not_ends","less_than","greater_than"],"title":"ConversionConditionType","description":"Conversion condition comparison operator."},"ConversionCreateResponse":{"properties":{"conversionIds":{"items":{"type":"integer"},"type":"array","title":"Conversion IDs","description":"IDs of the created conversions."},"retargetingListIds":{"items":{"type":"integer"},"type":"array","title":"Retargeting List IDs","description":"IDs of the conversion origin retargeting lists that were created. A retargeting list is created for each conversion, but its creation can fail independently, so this list can be shorter than `conversionIds` and is not positionally aligned with it."}},"type":"object","title":"ConversionCreateResponse","description":"Create-conversion response with separately reported conversions and retargeting lists."},"ConversionIdsAttribute":{"type":"string","enum":["conversionIds.conversions","conversionIds.totalMoney","conversionIds.conversionValue","conversionIds.conversionPrice","conversionIds.conversionRatio","conversionIds.clickMoney","conversionIds.pno","conversionIds.campaignId","conversionIds.conversionId","conversionIds.groupId","conversionIds.name","conversionIds.semEventName"],"title":"ConversionIdsAttribute"},"ConversionIdsContextAttribute":{"type":"string","enum":["conversionIds.network.context.conversions","conversionIds.network.context.conversionValue","conversionIds.network.context.clickMoney"],"title":"ConversionIdsContextAttribute"},"ConversionIdsFulltextAttribute":{"type":"string","enum":["conversionIds.network.fulltext.conversions","conversionIds.network.fulltext.conversionValue","conversionIds.network.fulltext.clickMoney"],"title":"ConversionIdsFulltextAttribute"},"ConversionIdsVideoAttribute":{"type":"string","enum":["conversionIds.network.video.conversions","conversionIds.network.video.conversionValue","conversionIds.network.video.clickMoney"],"title":"ConversionIdsVideoAttribute"},"ConversionResponse":{"properties":{"id":{"type":"integer","title":"ID","description":"Conversion identifier."},"userId":{"type":"integer","title":"User ID","description":"Account user the conversion belongs to."},"name":{"type":"string","title":"Name","description":"Conversion name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Conversion description."},"value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value","description":"Conversion value in CZK. Null when not set."},"semEventName":{"$ref":"#/components/schemas/SemEventName","title":"SEM Event Name"},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the conversion is deleted."},"conditionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConditionGroupResponse"},"type":"array"},{"type":"null"}],"title":"Condition Groups","description":"Condition groups of the conversion."}},"type":"object","title":"ConversionResponse","description":"Single conversion entity in the listing response."},"ConversionSplitNetworkResponse":{"properties":{"video":{"anyOf":[{"$ref":"#/components/schemas/ConversionSplitNetworkStatisticResponse"},{"type":"null"}],"title":"Video","description":"Conversion split statistics for the video network."},"context":{"anyOf":[{"$ref":"#/components/schemas/ConversionSplitNetworkStatisticResponse"},{"type":"null"}],"title":"Context","description":"Conversion split statistics for the context network."},"fulltext":{"anyOf":[{"$ref":"#/components/schemas/ConversionSplitNetworkStatisticResponse"},{"type":"null"}],"title":"Fulltext","description":"Conversion split statistics for the fulltext network."}},"type":"object","title":"ConversionSplitNetworkResponse","description":"Conversion split statistics broken down by network."},"ConversionSplitNetworkStatisticResponse":{"properties":{"conversions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conversions","description":"Number of conversions for the split."},"conversionValue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Value","description":"Total conversion value in hellers."},"clickMoney":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Click Money","description":"Total click spend in hellers."}},"type":"object","title":"ConversionSplitNetworkStatisticResponse","description":"Conversion split statistics for one network."},"ConversionSplitResponse":{"properties":{"conversions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conversions","description":"Number of conversions for the split."},"totalMoney":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Money","description":"Total spend for the split in hellers."},"conversionValue":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Value","description":"Total conversion value for the split in hellers."},"conversionPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Price","description":"Average conversion price for the split in hellers."},"conversionRatio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Ratio","description":"Conversion ratio for the split."},"clickMoney":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Click Money","description":"Click spend for the split in hellers."},"pno":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"PNO","description":"Cost-to-revenue ratio for the split."},"campaignId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Campaign ID","description":"Campaign identifier for the split."},"conversionId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Conversion ID","description":"Conversion identifier for the split."},"groupId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Group ID","description":"Group identifier for the split."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Conversion name."},"semEventName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"SEM Event Name","description":"SEM event name for the conversion type."},"network":{"anyOf":[{"$ref":"#/components/schemas/ConversionSplitNetworkResponse"},{"type":"null"}],"title":"Network","description":"Conversion split statistics broken down by network."}},"type":"object","title":"ConversionSplitResponse","description":"Conversion split item returned within campaign and group listings."},"ConversionTypesAttribute":{"type":"string","enum":["conversionTypes.conversions","conversionTypes.totalMoney","conversionTypes.conversionValue","conversionTypes.conversionPrice","conversionTypes.conversionRatio","conversionTypes.clickMoney","conversionTypes.pno","conversionTypes.campaignId","conversionTypes.conversionId","conversionTypes.groupId","conversionTypes.name","conversionTypes.semEventName"],"title":"ConversionTypesAttribute"},"CreateCondition":{"properties":{"key":{"$ref":"#/components/schemas/ConversionConditionKey","title":"Key","description":"Condition key."},"type":{"$ref":"#/components/schemas/ConversionConditionType","title":"Type","description":"Condition comparison operator."},"value":{"type":"string","maxLength":1024,"minLength":1,"title":"Value","description":"Condition value."}},"type":"object","required":["key","type","value"],"title":"CreateCondition","description":"Single condition in a conversion condition group."},"CreateConditionGroup":{"properties":{"conditions":{"items":{"$ref":"#/components/schemas/CreateCondition"},"type":"array","minItems":1,"title":"Conditions","description":"Conditions combined within the group."}},"type":"object","required":["conditions"],"title":"CreateConditionGroup","description":"Condition group in a conversion create request."},"CreateConversion":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"Name","description":"Conversion name."},"semEventName":{"$ref":"#/components/schemas/SemEventName","title":"SEM Event Name"},"value":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Value","description":"Conversion value in CZK."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional conversion description."},"conditionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/CreateConditionGroup"},"type":"array"},{"type":"null"}],"title":"Condition Groups","description":"Optional conversion condition groups."}},"type":"object","required":["name","semEventName"],"title":"CreateConversion","description":"Single conversion to be created."},"CreateGroup":{"properties":{"name":{"type":"string","title":"Name","description":"Name of the group."},"cpc":{"type":"integer","title":"Cpc","description":"Max CPC in hellers."},"cpm":{"type":"integer","title":"Cpm","description":"Max CPM in hellers."},"status":{"$ref":"#/components/schemas/Status","description":"Group status. Default is 'active'."}},"type":"object","required":["name"],"title":"CreateGroup","description":"Single group to be created under a campaign."},"CreditForAgencyClient":{"properties":{"verifiedInWallet":{"type":"boolean","title":"Verified in Wallet","description":"Whether the user is verified in wallet","examples":[true]},"agencyStatus":{"type":"string","enum":["client-agency","bill-agency"],"title":"Agency Status","description":"User is client of an agency","examples":["client-agency"]},"agencyLimit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agency Limit","description":"Limit assigned by agency.","examples":[3000]}},"type":"object","required":["verifiedInWallet","agencyStatus","agencyLimit"],"title":"CreditForAgencyClient","description":"Response model for a user who is client of an agency."},"CreditForUser":{"properties":{"verifiedInWallet":{"type":"boolean","title":"Verified in Wallet","description":"Whether the user is verified in wallet","examples":[true]},"credit":{"type":"number","multipleOf":0.01,"title":"Available Credit","description":"User's credit in CZK","examples":[500000]},"creditWithVat":{"type":"number","multipleOf":0.01,"title":"Available Credit with VAT","description":"User's credit including VAT in CZK","examples":[605000]},"agencyStatus":{"type":"string","enum":["no-agency","wallet-agency"],"title":"Agency Status","description":"User agency status","examples":["no-agency"]}},"type":"object","required":["verifiedInWallet","credit","creditWithVat","agencyStatus"],"title":"CreditForUser","description":"Response model for a user who has own credit or is agency which provides credit."},"CreditResponse":{"oneOf":[{"$ref":"#/components/schemas/CreditForUser"},{"$ref":"#/components/schemas/CreditForAgencyClient"}],"title":"CreditResponse","description":"User credit information","discriminator":{"propertyName":"agencyStatus","mapping":{"bill-agency":"#/components/schemas/CreditForAgencyClient","client-agency":"#/components/schemas/CreditForAgencyClient","no-agency":"#/components/schemas/CreditForUser","wallet-agency":"#/components/schemas/CreditForUser"}}},"CurrentUserResponse":{"properties":{"userId":{"type":"integer","title":"User ID","description":"ID of the currently accessed user."},"userName":{"type":"string","title":"User name","description":"Username of the currently accessed user."},"actor":{"anyOf":[{"$ref":"#/components/schemas/ActorUser"},{"type":"null"}],"title":"Actor","description":"The user to which the authorization has been granted. If the actor is None, the user is acting on their own behalf."},"scope":{"items":{"$ref":"#/components/schemas/Scope"},"type":"array","title":"Scope","description":"List of scopes that are granted to the user."}},"type":"object","required":["userId","userName","actor","scope"],"title":"CurrentUserResponse","description":"Response model describing currently authorized user."},"DateCondition":{"properties":{"operator":{"$ref":"#/components/schemas/CompareConditionOperator","title":"Operator","description":"Comparison operator."},"value":{"type":"string","format":"date-time","title":"Value","description":"Date value for the comparison."}},"type":"object","required":["operator","value"],"title":"DateCondition","description":"API-facing date condition for filtering campaigns by start/end date.\n\nParsed from the query parameter format ``operator:value``\n(e.g. ``ge:2026-01-01T00:00:00+02:00``)."},"DeleteNegativeKeywords":{"properties":{"negativeKeywords":{"items":{"$ref":"#/components/schemas/NegativeKeywordItem"},"type":"array","minItems":1,"title":"Negative Keywords","description":"Negative keywords (name + match type) the operation applies to."}},"type":"object","required":["negativeKeywords"],"title":"DeleteNegativeKeywords","description":"Negative keywords to delete from the current set."},"DeletedStatus":{"type":"string","enum":["active","deleted","deleted_forever","draft"],"title":"DeletedStatus","description":"Deleted status.\nFrom: sklik_common.deleted_status and sklik_ogar.deleted_status"},"DescriptionCreative":{"properties":{"type":{"type":"string","const":"description","title":"Type","description":"Discriminator value identifying the item as a description line."},"text":{"type":"string","maxLength":90,"minLength":1,"title":"Text","description":"Description text."}},"type":"object","required":["type","text"],"title":"DescriptionCreative","description":"Smart ad description line."},"Device-Input":{"properties":{"deviceType":{"$ref":"#/components/schemas/DeviceType-Input","title":"Device Type","description":"Device type."},"maxCpcMultiplier":{"type":"number","title":"Max CPC Multiplier","description":"Max CPC multiplier in percentages."}},"type":"object","required":["deviceType","maxCpcMultiplier"],"title":"Device","description":"Targeted device with CPC multiplier."},"Device-Output":{"properties":{"deviceType":{"type":"string","enum":["desktop","phone","tablet","multimedia"],"title":"Device Type","description":"Type of the device.","examples":["desktop"]},"maxCpcMultiplier":{"type":"integer","title":"Max CPC Multiplier","description":"Maximum CPC multiplier for the device placements in percent.","examples":[150]}},"type":"object","required":["deviceType","maxCpcMultiplier"],"title":"Device","description":"Response model for a device multiplier."},"DeviceAttribute":{"type":"string","enum":["devices.deviceType","devices.maxCpcMultiplier"],"title":"DeviceAttribute"},"DeviceResponse":{"properties":{"deviceType":{"anyOf":[{"$ref":"#/components/schemas/DeviceType-Output"},{"type":"null"}],"title":"Device Type","description":"Type of the device (e.g. desktop, tablet, mobil, other)."},"maxCpcMultiplier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max CPC Multiplier","description":"Maximum CPC multiplier for the device in percent."}},"type":"object","title":"DeviceResponse","description":"Device sub-object returned within campaign listing response."},"DeviceType-Input":{"type":"string","enum":["desktop","phone","tablet","multimedia"],"title":"DeviceType","description":"Device type for campaign targeting."},"DeviceType-Output":{"type":"string","enum":["desktop","phone","tablet","multimedia"],"title":"DeviceType","description":"Device type enumeration.\n\nSee table `device_type` in database `sklik_common`."},"DiagnosticsItemResponse":{"properties":{"assignableToCategory":{"type":"integer","title":"Assignable To Category","description":"Total number of offers assignable to category.","examples":[10000]},"canBeImproved":{"type":"integer","title":"Can Be Improved","description":"Number of offers, that can be improved.","examples":[2500]},"canBeImprovedPercentage":{"type":"integer","title":"Can Be Improved Percentage","description":"Percentage of offers, that can be improved (Percentage is calculated from total of all offers).","examples":[10]},"error":{"type":"integer","title":"Error","description":"Number of offers with error.","examples":[2500]},"errorPercentage":{"type":"integer","title":"Error Percentage","description":"Percentage of offers with error (Percentage is calculated from total of all offers).","examples":[10]},"notVisible":{"type":"integer","title":"Not Visible","description":"Number of not visible offers.","examples":[10000]},"notVisiblePercentage":{"type":"integer","title":"Not Visible Percentage","description":"Percentage of not visible offers (Percentage is calculated from total of all offers).","examples":[40]},"ok":{"type":"integer","title":"OK","description":"Number of offers, that are completely OK.","examples":[20000]},"okPercentage":{"type":"integer","title":"OK Percentage","description":"Percentage of offers, that are completely OK (Percentage is calculated from total of all offers).","examples":[80]},"total":{"type":"integer","title":"Total","description":"Number of all offers.","examples":[25000]},"withoutCategory":{"type":"integer","title":"Without Category","description":"Number of offers, that are assignable to category, and don't have any category assigned.","examples":[5000]},"withoutCategoryPercentage":{"type":"integer","title":"Without Category Percentage","description":"Percentage of offers, that don't have any category assigned(Percentage is calculated from total of offers assignable to category).","examples":[50]}},"type":"object","required":["assignableToCategory","canBeImproved","canBeImprovedPercentage","error","errorPercentage","notVisible","notVisiblePercentage","ok","okPercentage","total","withoutCategory","withoutCategoryPercentage"],"title":"DiagnosticsItemResponse","description":"Response model for a diagnostics item."},"DynamicBannerTemplateAttribute":{"type":"string","enum":["dynamicTemplate.id","dynamicTemplate.name","dynamicTemplate.colorBackground","dynamicTemplate.colorTitle","dynamicTemplate.colorText","dynamicTemplate.colorUrl","dynamicTemplate.font","dynamicTemplate.deleted","dynamicTemplate.trackingTemplate","dynamicTemplate.impressionTrackingTemplate","dynamicTemplate.description","dynamicTemplate.impressionTrackingTemplate2"],"title":"DynamicBannerTemplateAttribute","description":"Dynamic-banner template attributes exposed on the nested `dynamicTemplate` object."},"DynamicTemplateResponse":{"properties":{"id":{"type":"integer","title":"Dynamic Template ID","description":"Template identifier."},"name":{"type":"string","title":"Name","description":"Template name."},"colorBackground":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Background Color","description":"Background color as a 6-character hex string."},"colorTitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Color","description":"Title color as a 6-character hex string."},"colorText":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text Color","description":"Body text color as a 6-character hex string."},"colorUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"URL Color","description":"Display URL color as a 6-character hex string."},"font":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Font","description":"Template font family."},"deleted":{"anyOf":[{"$ref":"#/components/schemas/DeletedStatus"},{"type":"null"}],"title":"Deleted","description":"Template deletion status."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Click tracking URL template defined on the dynamic template."},"impressionTrackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template","description":"Impression tracking URL template defined on the dynamic template."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Template description."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second impression tracking URL template defined on the dynamic template."}},"type":"object","title":"DynamicTemplateResponse","description":"Dynamic template metadata nested on a dynamic banner ad response."},"EtaAd":{"properties":{"finalUrl":{"type":"string","maxLength":1024,"minLength":1,"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"eta","title":"Ad Type","description":"Discriminator value identifying the ad as ETA."},"headline1":{"type":"string","maxLength":30,"minLength":1,"title":"Headline 1","description":"First headline of the ETA ad (required)."},"headline2":{"type":"string","maxLength":30,"minLength":1,"title":"Headline 2","description":"Second headline of the ETA ad (required)."},"headline3":{"anyOf":[{"type":"string","maxLength":30,"minLength":1},{"type":"null"}],"title":"Headline 3","description":"Third headline of the ETA ad (optional)."},"description":{"type":"string","maxLength":90,"minLength":1,"title":"Description","description":"First description line of the ETA ad (required)."},"description2":{"anyOf":[{"type":"string","maxLength":90,"minLength":1},{"type":"null"}],"title":"Description 2","description":"Second description line of the ETA ad (optional)."},"path1":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"Path 1","description":"First display URL path component."},"path2":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"Path 2","description":"Second display URL path component (requires path1)."},"premiseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Premise ID","description":"Premise identifier (required when premiseMode='one')."},"premiseMode":{"anyOf":[{"$ref":"#/components/schemas/PremiseMode"},{"type":"null"}],"title":"Premise Mode","description":"Premise rotation mode."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices."}},"type":"object","required":["finalUrl","type","headline1","headline2","description"],"title":"EtaAd","description":"Create a new ETA."},"EtaAdAttribute":{"type":"string","enum":["headline1","headline2","headline3","description","description2","path1","path2","finalUrl","mobileFinalUrl","trackingTemplate","premiseId","premiseMode"],"title":"EtaAdAttribute","description":"Available ETA-ad specific attributes for ad listing."},"EtaAdResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"eta","title":"Ad Type","description":"Ad type discriminator."},"headline1":{"type":"string","title":"Headline 1","description":"First headline of the ETA ad."},"headline2":{"type":"string","title":"Headline 2","description":"Second headline of the ETA ad."},"headline3":{"type":"string","title":"Headline 3","description":"Third headline of the ETA ad."},"description":{"type":"string","title":"Description","description":"First description line of the ETA ad."},"description2":{"type":"string","title":"Description 2","description":"Second description line of the ETA ad."},"path1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path 1","description":"First display URL path segment."},"path2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path 2","description":"Second display URL path segment."},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final URL","description":"Landing page URL."},"mobileFinalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile Final URL","description":"Landing page URL for mobile devices."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Tracking URL template."},"premiseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Premise ID","description":"Firmy.cz catalogue ID linked to the ad. The ID can be found in the URL of the business listing."},"premiseMode":{"anyOf":[{"$ref":"#/components/schemas/PremiseMode"},{"type":"null"}],"title":"Premise Mode","description":"Firmy.cz connection display mode: disabled — no branch is displayed, one — premise specified in premiseId is shown, nearest — client nearest premise is shown."}},"type":"object","required":["type"],"title":"EtaAdResponse","description":"Ad of type: ETA."},"ExcludedSearchService":{"properties":{"id":{"type":"integer","title":"ID","description":"Search service identifier."}},"type":"object","required":["id"],"title":"ExcludedSearchService","description":"Excluded search service."},"ExcludedSearchServiceResponse":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"ID","description":"Excluded search service identifier."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Excluded search service name."},"nameEn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name (English)","description":"Excluded search service name in English."}},"type":"object","title":"ExcludedSearchServiceResponse","description":"Excluded search service item within the excludedSearchServices list of a campaign listing response."},"ExcludedSearchServicesAttribute":{"type":"string","enum":["excludedSearchServices.id","excludedSearchServices.name","excludedSearchServices.nameEn"],"title":"ExcludedSearchServicesAttribute"},"FavouritesDayResponse":{"properties":{"currentFavourGain":{"type":"integer","title":"Current Favour Gain","description":"Number of users who favourited the shop on this day and still have it as favourite.","examples":[123]},"date":{"type":"string","format":"date","title":"Date","description":"Day this count belongs to.","examples":["2026-07-23"]}},"type":"object","required":["currentFavourGain","date"],"title":"FavouritesDayResponse","description":"Number of users who favourited the shop on a single day."},"FavouritesMetaResponse":{"properties":{"fromDate":{"type":"string","format":"date","title":"From Date","description":"Date from when favourites are collected.","examples":["2026-07-04"]},"toDate":{"type":"string","format":"date","title":"To Date","description":"Date to when favourites are collected.","examples":["2026-07-23"]},"totalCurrentFavourGain":{"type":"integer","title":"Total Current Favour Gain","description":"Total number of users who favourited the shop in the selected range and still have it favourited.","examples":[192831]}},"type":"object","required":["fromDate","toDate","totalCurrentFavourGain"],"title":"FavouritesMetaResponse","description":"Metadata about the collected favourites."},"FeedResponse":{"properties":{"id":{"type":"integer","title":"Feed ID","description":"ID of the XML feed on Zbozi.cz. Use it as the `feedId` path parameter when updating the feed.","examples":[123]},"feedUrl":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Feed URL","description":"XML feed's URL - where it can be found.","examples":["https://example.cz/wp-content/uploads/xml/example.xml"]},"lastSuccessfulImport":{"type":"string","format":"date-time","title":"Last Successful Import","description":"DateTime of last successful import.","examples":["2025-06-01T12:00:00Z"]},"maxFeedDownloadsPerDay":{"anyOf":[{"type":"integer","enum":[1,4,16]},{"type":"null"}],"title":"Max Feed Downloads Per Day","description":"Number of possible item feed downloads per day. Values meaning:\n- 1: downloaded max. 1x per day\n- 4: downloaded max. 4x per day\n- 16: downloaded max. 16x per day\n- null: downloaded as often as possible","examples":[4]}},"type":"object","required":["id","feedUrl","lastSuccessfulImport"],"title":"FeedResponse","description":"Response model for a feed."},"FulltextCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"fulltext","title":"Type","description":"Campaign type."}},"type":"object","required":["name","budget","type"],"title":"FulltextCampaign","description":"Create a fulltext (search) campaign."},"FulltextCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"fulltext","title":"Type"}},"type":"object","required":["type"],"title":"FulltextCampaignResponse","description":"Campaign of type: fulltext."},"FulltextStatisticAttribute":{"type":"string","enum":["networks.fulltext.ctr","networks.fulltext.clicks","networks.fulltext.impressions","networks.fulltext.clickMoney","networks.fulltext.impressionMoney","networks.fulltext.totalMoney","networks.fulltext.avgPosition","networks.fulltext.conversions","networks.fulltext.exhaustedBudgetCount","networks.fulltext.stoppedByScheduleCount","networks.fulltext.stoppedByScheduleShare","networks.fulltext.underForestThresholdShare","networks.fulltext.underForestThresholdCount","networks.fulltext.exhaustedBudgetShare","networks.fulltext.avgCpc","networks.fulltext.avgCpt","networks.fulltext.pno","networks.fulltext.impressionShare","networks.fulltext.missedPrice","networks.fulltext.winRate","networks.fulltext.quality","networks.fulltext.conversionPrice","networks.fulltext.conversionRatio","networks.fulltext.conversionValue","networks.fulltext.skips","networks.fulltext.views","networks.fulltext.engagement","networks.fulltext.watchTime","networks.fulltext.viewershipFirstQuartile","networks.fulltext.viewershipMidpoint","networks.fulltext.viewershipThirdQuartile","networks.fulltext.viewershipComplete","networks.fulltext.viewershipRateFirstQuartile","networks.fulltext.viewershipRateMidpoint","networks.fulltext.viewershipRateThirdQuartile","networks.fulltext.viewershipRateComplete","networks.fulltext.viewRate","networks.fulltext.skipRate","networks.fulltext.avgWatchTime","networks.fulltext.avgCostPerView","networks.fulltext.firstDate","networks.fulltext.lastDate"],"title":"FulltextStatisticAttribute"},"GroupAttribute":{"type":"string","enum":["id","name","status","isDeleted","deleteDate","createDate","cpc","cpm"],"title":"GroupAttribute","description":"Available attributes for group listing."},"GroupCreateItem":{"properties":{"id":{"type":"integer","title":"ID","description":"ID of the created group."}},"type":"object","required":["id"],"title":"GroupCreateItem","description":"Single item in the create group response."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeadlineCreative":{"properties":{"type":{"type":"string","const":"headline","title":"Type","description":"Discriminator value identifying the item as a headline."},"text":{"type":"string","maxLength":30,"minLength":1,"title":"Text","description":"Headline text."}},"type":"object","required":["type","text"],"title":"HeadlineCreative","description":"Smart ad headline."},"Image":{"properties":{"id":{"type":"integer","title":"Id","description":"Image ID."},"url":{"type":"string","title":"Url","description":"Public URL to CDN storage."},"width":{"type":"integer","title":"Width","description":"Width of image in pixels."},"height":{"type":"integer","title":"Height","description":"Height of image in pixels."},"size":{"type":"integer","title":"Size","description":"Size of image in KB."}},"type":"object","required":["id","url","width","height","size"],"title":"Image","description":"Response model for a single image.\n\nUsed both for validating the response from adminserver (`images.list`)\nand for serializing the response to API consumers. Aliases match the camelCase\nkeys used by adminserver, which also matches the public API contract."},"ImageConstraintItem":{"properties":{"adType":{"$ref":"#/components/schemas/AdType-Output","description":"Ad type this constraint belongs to.","examples":["smart"]},"imageType":{"type":"string","title":"Imagetype","description":"Image type within the ad type.","examples":["SquareImage","SquareLogo"]},"maxSize":{"type":"integer","title":"Maxsize","description":"Maximum file size in KB."},"minWidth":{"type":"integer","title":"Minwidth","description":"Minimum width of image in pixels."},"minHeight":{"type":"integer","title":"Minheight","description":"Minimum height of image in pixels."},"maxWidth":{"type":"integer","title":"Maxwidth","description":"Maximum width of image in pixels."},"maxHeight":{"type":"integer","title":"Maxheight","description":"Maximum height of image in pixels."},"ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ratio","description":"Required aspect ratio."},"ratioToleration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ratiotoleration","description":"Allowed deviation from the required aspect ratio."},"recommendedHeight":{"type":"integer","title":"Recommendedheight","description":"Recommended height of image in pixels."},"recommendedWidth":{"type":"integer","title":"Recommendedwidth","description":"Recommended width of image in pixels."}},"type":"object","required":["adType","imageType","maxSize","minWidth","minHeight","maxWidth","maxHeight","ratio","ratioToleration","recommendedHeight","recommendedWidth"],"title":"ImageConstraintItem","description":"Response model for a single image constraint from the MAD server (`images.constraints.list`)."},"ImageResponse":{"properties":{"id":{"type":"integer","title":"Image ID","description":"Image identifier."},"url":{"type":"string","title":"Image URL","description":"Image URL."},"width":{"type":"integer","title":"Image Width","description":"Image width in pixels."},"height":{"type":"integer","title":"Image Height","description":"Image height in pixels."},"size":{"type":"integer","title":"Image Size (KB)","description":"Image file size in kilobytes."}},"type":"object","title":"ImageResponse","description":"Image creative metadata shared by ad response types."},"InsertReactionRequest":{"properties":{"reaction":{"type":"string","maxLength":10000,"title":"Reaction","description":"Text (UTF-8) of your reaction.","examples":["string"]}},"type":"object","required":["reaction"],"title":"InsertReactionRequest","description":"Model for inserting a reaction to a shop review"},"ItemChange":{"properties":{"id":{"type":"string","maxLength":255,"minLength":1,"title":"Item ID","description":"Shop item identifier (ITEM_ID from your XML feed)","examples":["internal_1235246"]},"availability":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":-1.0},{"type":"null"}],"title":"Availability","description":"Shop item availability (order Processing time) in days.  \n (DELIVERY_DATE in XML feed but just number of days)","examples":[2]},"price":{"anyOf":[{"type":"number","exclusiveMaximum":21474836.48,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Price","description":"Price of this shop item (PRICE_VAT in XML feed) in CZK.  \n Only two decimal places are read","examples":[1000.5]},"priceBeforeDiscount":{"anyOf":[{"type":"number","exclusiveMaximum":21474836.48,"minimum":0.0},{"type":"null"}],"title":"Price before discount","description":"Price of this shop item before discount (PRICE_BEFORE_DISCOUNT in XML feed) in CZK, used for discount campaign.  \nValue equal to 0 causes stop of discount campaign.If not specified, discount campaign state is not affected.  \nOnly two decimal places are read.","examples":[1000.5]},"productMaxCpc":{"anyOf":[{"type":"number","exclusiveMaximum":21474836.48,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Product max CPC","description":"Maximum cost per click on product detail page for this shop item. (MAX_CPC in XML feed) in CZK.  \nOnly two decimal places are read.","examples":[10.5]},"searchMaxCpc":{"anyOf":[{"type":"number","exclusiveMaximum":21474836.48,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Search max CPC","description":"Maximum cost per click for Seznam nakupy search results of this shop item (MAX_CPC_SEARCH in XML feed) in CZK.  \nOnly two decimal places are read.","examples":[10.5]}},"type":"object","required":["id"],"title":"ItemChange","description":"Desired item change. At least one data column and itemId has to be set."},"ItemChangesPayload":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ItemChange"},"type":"array","maxItems":50,"minItems":1,"title":"Items","description":"A list of patches to apply."}},"type":"object","required":["items"],"title":"ItemChangesPayload","description":"Payload for updating shop items attributes."},"ItemErrorDetail":{"properties":{"itemId":{"type":"string","title":"Itemid"},"messages":{"items":{"type":"string"},"type":"array","title":"Messages","description":"List of error messages for the item.","examples":["Invalid price format","Item not found"]}},"type":"object","required":["itemId","messages"],"title":"ItemErrorDetail","description":"Detail of an error for a specific item."},"LandscapeImage":{"properties":{"type":{"type":"string","const":"landscape_image","title":"Type","description":"Discriminator value identifying the item as a landscape image."},"id":{"type":"integer","title":"Image ID","description":"Identifier of the previously uploaded landscape image."}},"type":"object","required":["type","id"],"title":"LandscapeImage","description":"Landscape marketing image."},"LandscapeLogo":{"properties":{"type":{"type":"string","const":"landscape_logo","title":"Type","description":"Discriminator value identifying the item as a landscape logo."},"id":{"type":"integer","title":"Image ID","description":"Identifier of the previously uploaded landscape logo."}},"type":"object","required":["type","id"],"title":"LandscapeLogo","description":"Landscape logo image."},"Links":{"properties":{"parent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Category Link","description":"URL of API endpoint that gets parent category attributes"},"self":{"type":"string","title":"Self Link","description":"URL of API endpoint that gets current category attributes"}},"type":"object","required":["self"],"title":"Links","description":"Response model for links in the Zboží.cz categories tree."},"ListCategoriesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CategoriesResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__categories__get__MetaResponse"}},"type":"object","required":["meta"],"title":"ListCategoriesResponse","description":"Response model for a list of categories."},"ListCategoriesTreeResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Category"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__categories__tree__MetaResponse"}},"type":"object","required":["meta"],"title":"ListCategoriesTreeResponse","description":"Response model for a list of categories in tree structure.","example":{"items":[{"categoryId":100,"children":[{"categoryId":101,"children":[{"categoryId":102,"children":[],"links":{"parent":"/nakupy/categories/?premiseId=1&categoryId=101","self":"/nakupy/categories/?premiseId=1&categoryId=102"},"name":"Notebooky","parentId":101}],"links":{"parent":"/nakupy/categories/?premiseId=1&categoryId=100","self":"/nakupy/categories/?premiseId=1&categoryId=101"},"name":"Počítače a příslušenství","parentId":100}],"links":{"self":"/nakupy/categories/?premiseId=1&categoryId=100"},"name":"Elektronika","parentId":0}],"meta":{"lastRefreshed":"2025-06-20T10:15:30Z"}}},"ListFavouritesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FavouritesDayResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/FavouritesMetaResponse"}},"type":"object","required":["meta"],"title":"ListFavouritesResponse","description":"Response model for daily shop favourites including meta info."},"ListProductsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProductsResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__products__get__MetaResponse"}},"type":"object","required":["meta"],"title":"ListProductsResponse","description":"Response model for listing product details on Zbozi.cz."},"ListResponse_AdCreateItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdCreateItem"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[AdCreateItem]"},"ListResponse_AdSuggestionItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdSuggestionItem"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[AdSuggestionItem]"},"ListResponse_Annotated_Union_EtaAdResponse__SmartAdResponse__BannerAdResponse__CombinedAdResponse__BrandingAdResponse__AdDynamicBannerResponse___FieldInfo_annotation_NoneType__required_True__discriminator__ad_type____":{"properties":{"items":{"items":{"oneOf":[{"$ref":"#/components/schemas/EtaAdResponse"},{"$ref":"#/components/schemas/SmartAdResponse"},{"$ref":"#/components/schemas/BannerAdResponse"},{"$ref":"#/components/schemas/CombinedAdResponse"},{"$ref":"#/components/schemas/BrandingAdResponse"},{"$ref":"#/components/schemas/AdDynamicBannerResponse"}]},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[Annotated[Union[EtaAdResponse, SmartAdResponse, BannerAdResponse, CombinedAdResponse, BrandingAdResponse, AdDynamicBannerResponse], FieldInfo(annotation=NoneType, required=True, discriminator='ad_type')]]"},"ListResponse_CampaignResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CampaignResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[CampaignResponse]"},"ListResponse_ConversionResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ConversionResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ConversionResponse]"},"ListResponse_FeedResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FeedResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[FeedResponse]"},"ListResponse_GroupCreateItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GroupCreateItem"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[GroupCreateItem]"},"ListResponse_ImageConstraintItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ImageConstraintItem"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ImageConstraintItem]"},"ListResponse_Image_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Image"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[Image]"},"ListResponse_ProductReviewResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProductReviewResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ProductReviewResponse]"},"ListResponse_ReportItem_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReportItem"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ReportItem]"},"ListResponse_ResponseAccount_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ResponseAccount"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ResponseAccount]"},"ListResponse_ResponseGroup_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ResponseGroup"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ResponseGroup]"},"ListResponse_ResponseNegativeKeyword_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ResponseNegativeKeyword"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ResponseNegativeKeyword]"},"ListResponse_SemIdResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SemIdResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[SemIdResponse]"},"ListResponse_ShopsResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ShopsResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ShopsResponse]"},"ListReviewsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__reviews__get__ReviewResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/ReviewsMetaResponse"}},"type":"object","required":["meta"],"title":"ListReviewsResponse","description":"Response model for list of reviews including meta info."},"ListShopItemsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ShopItemResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/ShopItemsMeta"}},"type":"object","required":["meta"],"title":"ListShopItemsResponse","description":"Response model for list of shop items including meta."},"LongHeadlineCreative":{"properties":{"type":{"type":"string","const":"long_headline","title":"Type","description":"Discriminator value identifying the item as a long headline."},"text":{"type":"string","maxLength":90,"minLength":1,"title":"Text","description":"Long headline text."}},"type":"object","required":["type","text"],"title":"LongHeadlineCreative","description":"Smart ad long headline."},"ManufacturersByIdsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__manufacturers__get_by_ids__ManufacturerResponse"},"type":"array","title":"Items","description":"List of items."},"meta":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__manufacturers__get_by_ids__MetaResponse"}},"type":"object","required":["meta"],"title":"ManufacturersByIdsResponse","description":"Response model for manufacturers by IDs."},"NegativeKeywordAttribute":{"type":"string","enum":["name","matchType"],"title":"NegativeKeywordAttribute","description":"Selectable attributes (display columns) for negative keyword listing."},"NegativeKeywordItem":{"properties":{"name":{"type":"string","title":"Name","description":"Negative keyword text."},"matchType":{"$ref":"#/components/schemas/NegativeKeywordMatchType","title":"Match Type","description":"Match type for the negative keyword."}},"type":"object","required":["name","matchType"],"title":"NegativeKeywordItem","description":"A single negative keyword used in add / replace / delete request bodies."},"NegativeKeywordMatchType":{"type":"string","enum":["negative","negativePhrase","negativeExact"],"title":"NegativeKeywordMatchType","description":"Negative keyword Match Type"},"PartialUpdateResponse":{"properties":{"status":{"type":"integer","title":"Status","description":"HTTP status code of the response"},"errors":{"items":{"$ref":"#/components/schemas/ItemErrorDetail"},"type":"array","title":"Errors","description":"List of errors for items that were not updated successfully."}},"type":"object","required":["status","errors"],"title":"PartialUpdateResponse","description":"Response for partial update of shop items."},"PaymentMethod-Output":{"type":"string","enum":["cpc","cpm","exclusive"],"title":"PaymentMethod","description":"Payment method\nFrom: sklik_ogar.payment_method and sklik_common.payment_method"},"PhoneAttribute":{"type":"string","enum":["phone.id","phone.number","phone.status"],"title":"PhoneAttribute"},"PhoneResponse":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"ID","description":"Phone identifier."},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number","description":"Phone number."},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Phone status."}},"type":"object","title":"PhoneResponse","description":"Phone sub-object returned within campaign listing response."},"PortraitImage":{"properties":{"type":{"type":"string","const":"portrait_image","title":"Type","description":"Discriminator value identifying the item as a portrait image."},"id":{"type":"integer","title":"Image ID","description":"Identifier of the previously uploaded portrait image."}},"type":"object","required":["type","id"],"title":"PortraitImage","description":"Portrait marketing image."},"Premise":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"ID","description":"Firmy.cz catalogue ID. The ID can be found in the URL of your business listing. For example, Seznam.cz has ID 155088 and its URL is https://www.firmy.cz/detail/155088-seznam-cz-praha-smichov.html"},"defaultMode":{"anyOf":[{"$ref":"#/components/schemas/PremiseMode"},{"type":"null"}],"title":"Default Mode","description":"Firmy.cz connection display mode: disabled — no branch is displayed (default), one — premise specified in defaultId is shown, nearest — client nearest premise is shown."},"defaultId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default ID","description":"Branch premise ID (only for defaultMode=one). Navigate to the branch listing and check the URL. For example, the Brno branch of Seznam.cz has ID 429645 and its URL is https://www.firmy.cz/detail/429645-seznam-cz-brno-styrice.html"}},"type":"object","title":"Premise","description":"Connection with Firmy.cz (premise struct)."},"PremiseMode":{"type":"string","enum":["disabled","one","nearest","random","inherit"],"title":"PremiseMode","description":"Firmy.cz connection display mode."},"Product":{"properties":{"productType":{"type":"string","enum":["detail","offer"],"title":"Product Type","description":"Type of the product multiplier","examples":["detail"]},"maxCpcMultiplier":{"type":"integer","title":"Max CPC Multiplier","description":"Maximum CPC multiplier for the product placements in percent.","examples":[200]}},"type":"object","required":["productType","maxCpcMultiplier"],"title":"Product","description":"Response model for a campaign product multiplier."},"ProductCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"product","title":"Type","description":"Campaign type."}},"type":"object","required":["name","budget","type"],"title":"ProductCampaign","description":"Create a product campaign."},"ProductCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"product","title":"Type"}},"type":"object","required":["type"],"title":"ProductCampaignResponse","description":"Campaign of type: product."},"ProductDataResponse":{"properties":{"cartProductName":{"type":"string","title":"Cart Product Name","description":"Product name obtained from order cart item.","examples":["Hodinky zlaté X10"]},"itemId":{"type":"string","title":"Item ID","description":"ITEM_ID from your feed obtained from order cart item.","examples":["ID_1"]},"productId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product ID","description":"Current id of product, assigned by Seznam.","examples":[232]},"productName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Name","description":"Current name of product, assigned by Seznam.","examples":["Hodinky zlaté X10"]}},"type":"object","required":["cartProductName","itemId"],"title":"ProductDataResponse","description":"Response model for product data."},"ProductDetailInfo":{"properties":{"fromCheapestPosition":{"type":"integer","title":"From Cheapest Position","description":"Position on Zbozi.cz product detail page in shop items when sorted from cheapest (Nabídky podle ceny).","examples":[2]},"maxCpc":{"type":"number","title":"Max CPC","description":"Max cpc set on product detail page for this shop item. In CZK. Value is modified with CPC multiplier using desktop device.","examples":[42.38]},"datetime":{"type":"string","format":"date-time","title":"Datetime","description":"Datetime when data were updated.","examples":["2017-06-17T11:03:17Z"]},"topPosition":{"type":"integer","title":"Top Position","description":"Position on Zbozi.cz product detail page in TOP shop items using desktop device.  \n0 - not in top shop items  \n1..N - position in top items (Doporučené nabídky).","examples":[1]}},"type":"object","required":["fromCheapestPosition","maxCpc","datetime","topPosition"],"title":"ProductDetailInfo","description":"Additional info about paired product, available only if loadProductDetail is true.\nNull in case the product or shop item is not searchable on Zbozi.cz."},"ProductInfo":{"properties":{"categoryId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category ID","description":"Category ID of paired product.","examples":[81]},"manufacturerId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manufacturer ID","description":"Manufacturer ID of paired product.","examples":[2545885419621716111]},"productDetailInfo":{"anyOf":[{"$ref":"#/components/schemas/ProductDetailInfo"},{"type":"null"}],"title":"Product Detail Info","description":"Detailed info available only if loadProductDetail is true.  \nNull in case the product or shop item is not searchable on Zbozi.cz.(i.e. shop credit exceeded, product has no minimal count of paired items...)"},"productId":{"type":"integer","title":"Product ID","description":"ID of paired product.","examples":[5350080]}},"type":"object","required":["categoryId","manufacturerId","productId"],"title":"ProductInfo","description":"Information about paired product. Null if not paired."},"ProductReviewImage":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"URL","description":"URL of the review image.","examples":["https://example.com/review-image.jpg"]}},"type":"object","required":["url"],"title":"ProductReviewImage","description":"Image attached to a product review."},"ProductReviewResponse":{"properties":{"createDatetime":{"type":"string","format":"date-time","title":"Create Datetime","description":"Datetime of review creation","examples":["2025-01-01T00:00:00Z"]},"editDatetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Edit Datetime","description":"Datetime when the review was last modified.","examples":["2025-01-02T00:00:00Z"]},"negativeComment":{"type":"string","title":"Negative Comment","description":"Text of negative review. It can be empty.","examples":["Uz nikdy tam nepujdu."]},"positiveComment":{"type":"string","title":"Positive Comment","description":"Text of positive review. It can be empty.","examples":["Skvěle padnou na ruku."]},"productData":{"$ref":"#/components/schemas/ProductDataResponse","title":"Product Data","description":"Data about the product related to this review."},"productReviewId":{"type":"string","title":"Product Review ID","description":"Unique identifier of review.","examples":["29a8a0a4555e092cee54731d47a5f5f7"]},"ratingStars":{"anyOf":[{"type":"integer","enum":[1,2,3,4,5]},{"type":"null"}],"title":"Rating Stars","description":"Rating with stars 1-5 if provided.\nValues meaning:\n- 1: useless (k ničemu)\n- 2: bad (špatné)\n- 3: average (průměrné)\n- 4: very good (velmi dobrý)\n- 5: excellent (vynikající)\n","examples":[1]},"state":{"type":"string","enum":["new","approved"],"title":"State","description":"Current state of review.\nValues meaning:\n- approved: reviewed by the administrator\n- new: new review, was not reviewed by administrator yet\n","examples":["new"]},"text":{"type":"string","title":"Text Summary","description":"Text summary of review. It can be empty.","examples":["Nadherné a skvělé hodinky"]},"userName":{"type":"string","title":"User Name","description":"Name of user.. Empty if anonymous.","examples":["Karlik666"]},"images":{"items":{"$ref":"#/components/schemas/ProductReviewImage"},"type":"array","title":"Images","description":"Images attached to the review by the user. Empty list if the review has no images."}},"type":"object","required":["createDatetime","negativeComment","positiveComment","productData","productReviewId","ratingStars","state","text","userName"],"title":"ProductReviewResponse","description":"Response model for a single product review."},"ProductsResponse":{"properties":{"categoryId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category ID","description":"Category ID of product, assigned by Seznam","examples":[81]},"manufacturerId":{"anyOf":[{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0},{"type":"null"}],"title":"Manufacturer ID","description":"Manufacturer ID (64bit unsigned number as string)","examples":["2545885419621716111"]},"maxPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum Price","description":"Maximum price of this product on Zbozi.cz  \nNull in case the product has no minimal count of paired items to be searchable on Zbozi.cz.","examples":[10000.5]},"minPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum Price","description":"Minimum price of this product.  \nNull in case the product has no minimal count of paired items to be searchable on Zbozi.cz.","examples":[1000.5]},"productId":{"type":"integer","title":"Product ID","description":"Product ID for this product detail","examples":[232]},"productName":{"type":"string","title":"Product name","description":"Product name assigned by Seznam","examples":["Example Product Name"]},"productUrl":{"type":"string","title":"Product URL","description":"URL to product detail page on Zbozi.cz","examples":["https://www.zbozi.cz/vyrobek/apple-iphone-15-pro/"]},"shopCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shop count","description":"Total number of shops offering this product.  \nNull in case the product has no minimal count of paired items to be searchable on Zbozi.cz.","examples":[200]},"shopItems":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShopItem"},"type":"array"},{"type":"null"}],"title":"Shop items","description":"Array of items from all shops for given product, sorted from cheapest.  \nSame as \"Nabídky podle ceny\" on product page Zbozi.cz.  \nNull in case the product has no minimal count of paired items to be searchable on Zbozi.cz."},"lastUpdate":{"type":"string","format":"date-time","title":"Last Update","description":"Datetime representing when this data were updated","examples":["2018-11-21T11:47:06Z"]},"topShopItems":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShopItem"},"type":"array"},{"type":"null"}],"title":"Topshopitems","description":"Array of TOP shopItems for given product, sorted from highest to lowest.  \nSame as \"Doporučené nabídky\" on product page Zbozi.cz using desktop device.  \nNull in case the product has no minimal count of paired items to be searchable on Zbozi.cz."}},"type":"object","required":["categoryId","manufacturerId","maxPrice","minPrice","productId","productName","productUrl","shopCount","shopItems","lastUpdate","topShopItems"],"title":"ProductsResponse","description":"Response model for product details on Zbozi.cz."},"Region":{"properties":{"nutsCode":{"anyOf":[{"$ref":"#/components/schemas/RegionNuts"},{"type":"null"}],"title":"NUTS Code","description":"NUTS region code."}},"type":"object","title":"Region","description":"Geotargeting region."},"RegionNuts":{"type":"string","enum":["CZ031","CZ032","CZ041","CZ042","CZ051","CZ052","CZ053","CZ071","CZ072","CZ010","CZ020","CZ080","CZ063","CZ064","CZ0724","CZ0722","CZ0721","CZ0723","CZ0427","CZ0426","CZ0425","CZ0421","CZ0422","CZ0423","CZ0424","CZ020A","CZ0209","CZ0207","CZ0205","CZ0203","CZ0206","CZ0202","CZ0204","CZ0208","CZ020B","CZ0201","CZ020C","CZ0323","CZ0324","CZ0325","CZ0326","CZ0321","CZ0322","CZ0327","CZ0534","CZ0532","CZ0531","CZ0533","CZ0714","CZ0712","CZ0713","CZ0715","CZ0711","CZ0806","CZ0802","CZ0804","CZ0803","CZ0805","CZ0801","CZ0512","CZ0513","CZ0514","CZ0511","CZ0521","CZ0524","CZ0523","CZ0525","CZ0522","CZ0635","CZ0631","CZ0632","CZ0634","CZ0633","CZ0412","CZ0413","CZ0411","CZ0642","CZ0643","CZ0645","CZ0641","CZ0644","CZ0646","CZ0647","CZ0311","CZ0313","CZ0312","CZ0317","CZ0316","CZ0314","CZ0315"],"title":"RegionNuts","description":"Region NUTS code mapping to ID.\nTranslates NUTS region codes to their corresponding region IDs."},"RegionResponse":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Region name."},"nutsCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"NUTS Code","description":"NUTS code for the region."}},"type":"object","title":"RegionResponse","description":"Region item within the regions list of a campaign listing response."},"RegionsAttribute":{"type":"string","enum":["regions.name","regions.nutsCode"],"title":"RegionsAttribute"},"ReplaceNegativeKeywords":{"properties":{"negativeKeywords":{"items":{"$ref":"#/components/schemas/NegativeKeywordItem"},"type":"array","minItems":1,"title":"Negative Keywords","description":"Negative keywords (name + match type) the operation applies to."}},"type":"object","required":["negativeKeywords"],"title":"ReplaceNegativeKeywords","description":"The complete set of negative keywords to replace the current one with."},"ReportData":{"properties":{"impressions":{"type":"integer","title":"Impressions","description":"Number of impressions."},"clicks":{"type":"integer","title":"Clicks","description":"Number of clicks."},"conversions":{"type":"integer","title":"Conversions","description":"Number of conversions."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Ratio of conversions to clicks."},"conversionValue":{"type":"number","title":"Conversion Value","description":"Total value of conversions."},"directConversions":{"type":"integer","title":"Direct Conversions","description":"Number of direct conversions."},"avgCpc":{"type":"number","title":"Average Cost Per Click","description":"Average cost per click."},"ctr":{"type":"number","title":"Click through ratio","description":"Ratio of clicks to impressions."},"pno":{"type":"number","title":"PNO","description":"Cost of sale. Ratio of total money spent to conversion value."},"totalMoney":{"type":"number","title":"Total Money","description":"Total amount of money spent."},"itemsSold":{"type":"integer","title":"Items Sold","description":"Number of items sold via Zboží.cz"},"feedItem":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item title","description":"Title of item or null if not available."},"itemId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item ID","description":"ITEM_ID from your feed or null if it is not available."},"offerCategory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offer Category","description":"Category of the offer."},"offerType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offer Type","description":"Type of the offer."},"webType":{"anyOf":[{"type":"string","enum":["Seznam.cz","Zboží.cz"]},{"type":"null"}],"title":"Web Type","description":"Website multiplier statistics breakdown."},"deviceType":{"anyOf":[{"type":"string","enum":["Desktop","Mobil","Tablet"]},{"type":"null"}],"title":"Device Type","description":"Device multiplier statistics breakdown."},"productType":{"anyOf":[{"type":"string","enum":["Produkt - doporučené nabídky","Vyhledávání","Produkt - nabídky dle ceny"]},{"type":"null"}],"title":"Product Type","description":"Product multiplier statistics breakdown."}},"type":"object","required":["impressions","clicks","conversions","conversionPrice","conversionRatio","conversionValue","directConversions","avgCpc","ctr","pno","totalMoney","itemsSold","feedItem","itemId","offerCategory","offerType","webType","deviceType","productType"],"title":"ReportData","description":"Response model describing report statistics."},"ReportDataSum":{"properties":{"impressions":{"type":"integer","title":"Impressions","description":"Number of impressions."},"clicks":{"type":"integer","title":"Clicks","description":"Number of clicks."},"conversions":{"type":"integer","title":"Conversions","description":"Number of conversions."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Ratio of conversions to clicks."},"conversionValue":{"type":"number","title":"Conversion Value","description":"Total value of conversions."},"directConversions":{"type":"integer","title":"Direct Conversions","description":"Number of direct conversions."},"avgCpc":{"type":"number","title":"Average Cost Per Click","description":"Average cost per click."},"ctr":{"type":"number","title":"Click through ratio","description":"Ratio of clicks to impressions."},"pno":{"type":"number","title":"PNO","description":"Cost of sale. Ratio of total money spent to conversion value."},"totalMoney":{"type":"number","title":"Total Money","description":"Total amount of money spent."},"itemsSold":{"type":"integer","title":"Items Sold","description":"Number of items sold via Zboží.cz"}},"type":"object","required":["impressions","clicks","conversions","conversionPrice","conversionRatio","conversionValue","directConversions","avgCpc","ctr","pno","totalMoney","itemsSold"],"title":"ReportDataSum","description":"Response model describing report statistics summary."},"ReportFileFormat":{"type":"string","enum":["json","csv","tsv","xml","html","xlsx","jsonWebview"],"title":"ReportFileFormat","description":"Downloadable report file format types.\nFormat `jsonWebview` is a special JSON format optimized for web view rendering.\nIt is always included in the report response for web preview purposes."},"ReportItem":{"properties":{"id":{"type":"integer","minimum":1.0,"title":"Report ID","description":"Unique identifier of the report.","examples":[123456]},"reportType":{"type":"string","title":"Report Type","description":"Type of the report."},"name":{"type":"string","title":"Report Name","description":"Name of the report.","examples":["Campaigns daily 1.3.2025 - 31.3.2025"]},"status":{"type":"string","enum":["new","processing","finished","maxRowError","error"],"title":"Report Status","description":"Status of the requested report."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"E-mail","description":"E-mail address where the report will be sent when ready. If empty, the report will not be sent via e-mail.","examples":["john.doe@example.com",null]},"requestDate":{"type":"string","format":"date-time","title":"Requestdate","description":"Date and time when the report was requested.","examples":["2023-03-21T17:42:31Z"]},"created":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Report create date","description":"Date and time when the report was generated. Null if the report is not yet generated.","examples":["2023-03-21T17:42:31Z",null]},"startDate":{"type":"string","format":"date-time","title":"Start date","description":"Start date of the data included in the report.","examples":["2023-03-01T00:00:00Z"]},"endDate":{"type":"string","format":"date-time","title":"End date","description":"End date of the data included in the report.","examples":["2023-03-31T23:59:59Z"]},"formats":{"items":{"$ref":"#/components/schemas/ReportFileFormat"},"type":"array","title":"Output formats","description":"List of output formats in which the report is available."},"language":{"type":"string","enum":["cz","en"],"title":"Language","description":"Language of the report.","examples":["cz","en"]}},"type":"object","required":["id","reportType","name","status","email","requestDate","created","startDate","endDate","formats","language"],"title":"ReportItem","description":"Response model containing a single report item."},"ReportOrder":{"type":"string","enum":["id:ASC","id:DESC","name:ASC","name:DESC","requestDate:ASC","requestDate:DESC","startDate:ASC","startDate:DESC","endDate:ASC","endDate:DESC","status:ASC","status:DESC"],"title":"ReportOrder","description":"Ordering for listing reports."},"ReportParams":{"properties":{"from":{"type":"string","format":"date-time","title":"From datetime","description":"Start of requested statistics period as datetime.","examples":["2023-03-09T11:20:17Z"]},"to":{"type":"string","format":"date-time","title":"To datetime","description":"End of requested statistics period as datetime.","examples":["2023-03-21T17:42:31Z"]},"format":{"items":{"$ref":"#/components/schemas/ReportFileFormat"},"type":"array","title":"Data format","description":"Chosen data formats for generated statistics."},"splitStats":{"items":{"$ref":"#/components/schemas/ReportStatisticsSplit"},"type":"array","title":"Split stats","description":"Statistical split options for the report. No split is applied if not provided. It's possible to combine multiple split options. The 'conversionId' split is only available for periods starting on or after 2026-01-01.","examples":[["deviceType","webType","productType","conversionId"],["deviceType"],[]]},"conversionIds":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Conversion IDs filter","description":"Restrict statistics to the given conversion IDs. All conversions are included if not provided.","examples":[[100113933,100115363],null]},"granularity":{"$ref":"#/components/schemas/ReportStatisticsGranularity","title":"Statistics granularity","description":"Granularity of statistics present in the report.","default":"none"}},"type":"object","required":["from","to"],"title":"ReportParams","description":"Request a report in desired `format`. Both `from` and `to` have to be set."},"ReportResponse":{"properties":{"id":{"type":"integer","title":"Report ID","description":"Id of requested report. Generated report can be obtained by querying `/sklik/reports` endpoint with report id.","examples":[123456]},"meta":{"$ref":"#/components/schemas/ReportParams","description":"Request params for creating a new request for item statistics report."}},"type":"object","required":["id","meta"],"title":"ReportResponse","description":"Response model for a report response."},"ReportStatisticsGranularity":{"type":"string","enum":["daily","weekly","monthly","quarterly","yearly","none"],"title":"ReportStatisticsGranularity","description":"Supported granularity of statistics in reports."},"ReportStatisticsSplit":{"type":"string","enum":["deviceType","webType","productType","conversionId"],"title":"ReportStatisticsSplit","description":"Statistical split options for the report."},"ReportType":{"type":"string","enum":["user","campaign","group","keyword","ad","pattern","productSet","postbuy","mediaplan","shopItem","shopCategory","shopAggregated"],"title":"ReportType","description":"Sklik report type model."},"ResponseAccount":{"properties":{"id":{"type":"integer","title":"User ID","description":"Numeric account (client) identifier.","examples":[123456]},"username":{"type":"string","title":"Username","description":"Login e-mail of the account.","examples":["client@example.com"]},"access":{"$ref":"#/components/schemas/AccountAccess","title":"Access","description":"Access level to the account: `r` (read-only), `rw` (read-write), or `rwa` (read-write-admin).","examples":["rw"]},"agencyStatus":{"anyOf":[{"$ref":"#/components/schemas/AccountAgencyStatus"},{"type":"null"}],"title":"Agency Status","description":"Billing / agency relation of the account: `no-agency` (regular account, not an agency account), `wallet-agency` (agency account that draws from a credit wallet), `bill-agency` (agency account with retrospective invoicing), `client-agency` (account that draws on an agency account's resources).","examples":["no-agency"]},"relationStatus":{"$ref":"#/components/schemas/AccountRelationStatus","title":"Relation Status","description":"State of the relation between the authorized user and the account.","examples":["live"]}},"type":"object","title":"ResponseAccount","description":"A single account accessible to the authorized user."},"ResponseGroup":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"winRate":{"type":"number","title":"Win Rate","description":"Share of auctions won out of those entered."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique group identifier."},"name":{"type":"string","title":"Name","description":"Group name."},"status":{"$ref":"#/components/schemas/Status","description":"Current group status (active, suspend)."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the group is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the group was deleted, if applicable."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the group was created."},"cpc":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"CPC","description":"Max CPC in hellers."},"cpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"CPM","description":"Max CPM in hellers."}},"type":"object","title":"ResponseGroup","description":"Group response entity."},"ResponseNegativeKeyword":{"properties":{"name":{"type":"string","title":"Name","description":"Negative keyword text."},"matchType":{"$ref":"#/components/schemas/NegativeKeywordMatchType","title":"Match Type","description":"Match type for the negative keyword."}},"type":"object","title":"ResponseNegativeKeyword","description":"A single negative keyword returned by the listing endpoint.\n\nFields are optional because the response only contains the attributes\nrequested via the ``a`` query parameter (unset fields are omitted)."},"ReviewsMetaResponse":{"properties":{"count":{"type":"integer","title":"Count","description":"Number of all shop reviews in selected timestamp range.","examples":[5321]},"fromDatetime":{"type":"string","format":"date-time","title":"From Datetime","description":"Datetime from when reviews are collected","examples":["2017-06-17T12:51:31+02:00"]},"toDatetime":{"type":"string","format":"date-time","title":"To Datetime","description":"Datetime to when reviews are collected","examples":["2025-07-03T12:33:39+02:00"]}},"type":"object","required":["count","fromDatetime","toDatetime"],"title":"ReviewsMetaResponse","description":"Response model for metadata about the reviews."},"RevokeGdprConsent":{"properties":{"emails":{"items":{"type":"string","format":"email"},"type":"array","minItems":1,"title":"Emails","description":"List of e-mail addresses for which the GDPR consent should be revoked.","examples":[["test@test.cz","test1@test.cz"]]}},"type":"object","required":["emails"],"title":"RevokeGdprConsent","description":"Model for revoking GDPR consent"},"SatisfactionResponse":{"properties":{"communication":{"anyOf":[{"type":"string","enum":["yes","no"]},{"type":"null"}],"title":"Communication","description":"User satisfaction with shop communication. Null if not filled by reviewer.","examples":["yes"]},"deliveryDate":{"anyOf":[{"type":"string","enum":["yes","no"]},{"type":"null"}],"title":"Delivery Date","description":"User satisfaction with time of delivery. Null if not filled by reviewer.","examples":["no"]},"deliveryQuality":{"anyOf":[{"type":"string","enum":["yes","no"]},{"type":"null"}],"title":"Delivery Quality","description":"User satisfaction with quality of delivery. Null if not filled by reviewer.","examples":["yes"]},"overall":{"type":"string","enum":["yes","yes_but","no"],"title":"Overall","description":"Overall user satisfaction with order.","examples":["yes_but"]}},"type":"object","required":["communication","deliveryDate","deliveryQuality","overall"],"title":"SatisfactionResponse","description":"Response model for detailed satisfaction ratings."},"ScheduleResponse":{"properties":{"day":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day","description":"Day of week (0=Monday, 6=Sunday)."},"hour":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hour","description":"Hour of the day (0-23)."},"value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value","description":"Bid modifier for this time slot (percentage)."}},"type":"object","title":"ScheduleResponse","description":"Schedule item within the schedules list."},"SchedulersAttribute":{"type":"string","enum":["schedule.day","schedule.hour","schedule.value"],"title":"SchedulersAttribute"},"Scope":{"type":"string","enum":["ad_add","campaign","campaign_new","campaign_edit","campaign_remove","campaign_stopstart","conversion","conversion_edit","group","group_add","group_edit","ad_list","ad_edit","ad_remove","sem","sem_activate","sem_id","sem_edit","keyword","keyword_edit","retargeting","retargeting_negative"],"title":"Scope","description":"All the scopes for the various API endpoints."},"SemActivationStatusResponse":{"properties":{"semActivated":{"type":"boolean","title":"SEM Activated","description":"Whether SEM is activated for the account."},"semActivatedTimestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"SEM Activated Timestamp","description":"Timestamp of SEM activation. Null when SEM is not activated."}},"type":"object","required":["semActivated","semActivatedTimestamp"],"title":"SemActivationStatusResponse","description":"SEM activation status in the API response."},"SemEventName":{"type":"string","enum":["Search","ViewContent","AddToWishlist","AddToCart","InitiateCheckout","AddPaymentInfo","CompleteRegistration","Contact","CustomizeProduct","Donate","FindLocation","Lead","Purchase","Schedule","StartTrial","SubmitApplication","Subscribe","PageView"],"title":"SemEventName","description":"SEM event name of the conversion."},"SemIdResponse":{"properties":{"publicSemId":{"type":"string","title":"Publicsemid","description":"Public SEM ID for frontend measurement."},"privateSemId":{"type":"string","title":"Privatesemid","description":"Private SEM ID for S2S measurement."},"premiseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Premiseid","description":"Premise ID. Null means account-level SEM ID."},"premiseName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Premisename","description":"Premise name. Null means account-level SEM ID."}},"type":"object","required":["publicSemId","privateSemId"],"title":"SemIdResponse","description":"Single SEM ID item in the API response."},"SensitivityStatus":{"type":"string","enum":["not_detected","harmless","erotic","porn"],"title":"SensitivityStatus","description":"Sensitivity status values from mysql common table erotic_sensitivity"},"ShopItem":{"properties":{"availability":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Availability","description":"Number of days required by seller to ship the delivery","examples":[0]},"matchingId":{"type":"string","title":"Matching ID","description":"ID for recognizing your own shopItem","examples":["e60c41f0b99fe8856242d624aa8e0fde"]},"minCpc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min CPC","description":"Min cpc in CZK for this shopItem. Only for shopItems of the caller's shop\n","examples":[1.28]},"minPriceDelivery":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum Delivery Price","description":"Minimum delivery price for this shopItem","examples":[1.1]},"minPricePickup":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum Pickup Price","description":"Minimum pickup price for this shopItem","examples":[100.5]},"price":{"type":"number","title":"Price","description":"Price of this shopItem","examples":[2000000.5]},"premiseId":{"type":"integer","title":"Premise ID","description":"ID of shop offering this shopItem","examples":[77777]}},"type":"object","required":["availability","matchingId","minPriceDelivery","minPricePickup","price","premiseId"],"title":"ShopItem","description":"Response model for a shop item"},"ShopItemResponse":{"properties":{"categoryId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category ID","description":"Category ID of shop item.","examples":[624]},"condition":{"type":"string","title":"Condition","description":"Condition of the item (e.g. new, used, open_box, refurbished).","examples":["used"]},"itemId":{"type":"string","title":"Item ID","description":"ITEM_ID from your feed.","examples":["ITEM_953213"]},"manufacturerId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manufacturer ID","description":"Manufacturer ID of shop item.","examples":[2545885419621716111]},"matchingId":{"type":"string","title":"Matchingid","description":"Id for recognizing your own shop items in GET /nakupy/products endpoint","examples":["a76dba8b635e4102527d7efe5def58ad"]},"maxCpcSearch":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max CPC Search","description":"Max cpc (<MAX_CPC_SEARCH> in XML feed) set in CZK for Zboží inzeráty for this shop item. No multipliers applied.  \n Available only if loadSearchInfo parameter is set to true and shop item is visible.","examples":[2.28]},"minCpc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min CPC","description":"Min cpc in CZK for this shopItem. Only for shopItems of the caller's shop\n","examples":[1.28]},"name":{"type":"string","title":"Name","description":"Name of the shop item.","examples":["Apple iPhone Xs, 512GB"]},"product":{"anyOf":[{"$ref":"#/components/schemas/ProductInfo"},{"type":"null"}],"description":"Paired product info. Null if not paired."},"searchDataDatetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Search Data Datetime","description":"Datetime representing when search data were updated.  \nOnly if loadSearchInfo is true and shop item is visible.","examples":["2017-06-17T11:03:17Z"]}},"type":"object","required":["categoryId","condition","itemId","manufacturerId","matchingId","name","product"],"title":"ShopItemResponse","description":"Information about shop item."},"ShopItemsMeta":{"properties":{"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset","description":"Cursor for pagination.  \nPass this value to the next request to retrieve the next batch of data. This is an opaque value and should not be modified or calculated by the client. Null if there are no more results to fetch.","examples":[16053027151923073152]},"totalCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count","description":"Total number of records found for your request.  \nIt is not limited by parameter limit. Only returned on the initial request (when no offset is passed). Null on subsequent paginated requests.","examples":[81349]}},"type":"object","required":["offset","totalCount"],"title":"ShopItemsMeta","description":"Metadata for the response."},"ShopsResponse":{"properties":{"name":{"type":"string","title":"Shop name","description":"Shop name presented at Zboží.cz","examples":["Another Shop"]},"rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shop rating","description":"Overall e-shop percentage rating","examples":[92]},"premiseId":{"type":"integer","title":"Premise ID","description":"Unique shop ID assigned by Seznam","examples":[654321]}},"type":"object","required":["name","premiseId"],"title":"ShopsResponse","description":"Response model for a shop"},"SimpleCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"simple","title":"Type","description":"Campaign type."}},"type":"object","required":["name","budget","type"],"title":"SimpleCampaign","description":"Create a simple ads campaign."},"SimpleCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"simple","title":"Type"}},"type":"object","required":["type"],"title":"SimpleCampaignResponse","description":"Campaign of type: simple."},"SmartAd":{"properties":{"finalUrl":{"type":"string","maxLength":1024,"minLength":1,"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"$ref":"#/components/schemas/Status","description":"Initial ad status."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"smart","title":"Ad Type","description":"Discriminator value identifying the ad as Smart."},"businessName":{"type":"string","maxLength":25,"minLength":1,"title":"Business Name","description":"Business name displayed in the Smart ad."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"textCreatives":{"items":{"oneOf":[{"$ref":"#/components/schemas/HeadlineCreative"},{"$ref":"#/components/schemas/LongHeadlineCreative"},{"$ref":"#/components/schemas/DescriptionCreative"}],"discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/DescriptionCreative","headline":"#/components/schemas/HeadlineCreative","long_headline":"#/components/schemas/LongHeadlineCreative"}}},"type":"array","title":"Text Creatives","description":"Smart ad text creatives. Must contain at least 3 headlines (max 15), 1 long headline (max 5) and 2 description lines (max 5)."},"images":{"items":{"oneOf":[{"$ref":"#/components/schemas/SquareImage"},{"$ref":"#/components/schemas/LandscapeImage"},{"$ref":"#/components/schemas/PortraitImage"},{"$ref":"#/components/schemas/SquareLogo"},{"$ref":"#/components/schemas/LandscapeLogo"}],"discriminator":{"propertyName":"type","mapping":{"landscape_image":"#/components/schemas/LandscapeImage","landscape_logo":"#/components/schemas/LandscapeLogo","portrait_image":"#/components/schemas/PortraitImage","square_image":"#/components/schemas/SquareImage","square_logo":"#/components/schemas/SquareLogo"}}},"type":"array","title":"Images","description":"Smart ad image references. Must contain at least 1 square image (max 20) and 1 landscape image (max 20); optional square logos (max 5), portrait images (max 20) and landscape logos (max 5)."}},"type":"object","required":["finalUrl","type","businessName","textCreatives","images"],"title":"SmartAd","description":"Create a new Smart ad."},"SmartAdAttribute":{"type":"string","enum":["businessName","finalUrl","trackingTemplate","impressionTrackingTemplate"],"title":"SmartAdAttribute","description":"Available smart-ad specific attributes for ad listing."},"SmartAdResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"networks":{"$ref":"#/components/schemas/StatisticNetworksResponse","title":"Networks","description":"Statistics broken down by advertising network."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique ad identifier."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the ad was created."},"status":{"$ref":"#/components/schemas/Status","description":"Current ad status."},"adStatus":{"$ref":"#/components/schemas/ApprovalStatus","title":"Ad Status","description":"Ad approval status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the ad is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the ad was deleted, if applicable."},"sensitivity":{"$ref":"#/components/schemas/SensitivityStatus","title":"Sensitivity","description":"Sensitivity classification of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the ad."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the ad."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the ad."},"type":{"type":"string","const":"smart","title":"Ad Type","description":"Ad type discriminator."},"businessName":{"type":"string","title":"Business Name","description":"Advertiser business name."},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Final URL","description":"Landing page URL."},"trackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking Template","description":"Tracking URL template."},"impressionTrackingTemplate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impression Tracking Template","description":"Impression tracking URL template."},"textCreatives":{"anyOf":[{"items":{"$ref":"#/components/schemas/SmartTextCreativeResponse"},"type":"array"},{"type":"null"}],"title":"Text Creatives","description":"List of text creatives for the smart ad."},"images":{"anyOf":[{"items":{"$ref":"#/components/schemas/SmartImageResponse"},"type":"array"},{"type":"null"}],"title":"Images","description":"List of images for the smart ad."}},"type":"object","required":["type"],"title":"SmartAdResponse","description":"Ad of type: smart (Smart Combined)."},"SmartCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"smart","title":"Type","description":"Campaign type."},"zboziPremiseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Zbozi Premise ID","description":"Zbozi premise ID."}},"type":"object","required":["name","budget","type"],"title":"SmartCampaign","description":"Create a Smart (S-Max) campaign."},"SmartCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"smart","title":"Type"},"zboziPremiseId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Zbozi Premise ID","description":"Identifier of the Zboží.cz premise linked to the campaign."}},"type":"object","required":["type"],"title":"SmartCampaignResponse","description":"Campaign of type: smart (S-Max)."},"SmartCombinedImageType":{"type":"string","enum":["landscape_image","square_image","portrait_image","square_logo","landscape_logo"],"title":"SmartCombinedImageType","description":"Smart combined image type.\nFrom: sklik_common.smart_combined_image_type"},"SmartCombinedTextType":{"type":"string","enum":["headline","long_headline","description"],"title":"SmartCombinedTextType","description":"Smart combined text type.\nFrom: sklik_common.smart_combined_text_type"},"SmartImageAttribute":{"type":"string","enum":["images.type","images.id","images.url","images.width","images.height","images.size"],"title":"SmartImageAttribute","description":"Smart-ad image attributes."},"SmartImageResponse":{"properties":{"id":{"type":"integer","title":"Image ID","description":"Image identifier."},"url":{"type":"string","title":"Image URL","description":"Image URL."},"width":{"type":"integer","title":"Image Width","description":"Image width in pixels."},"height":{"type":"integer","title":"Image Height","description":"Image height in pixels."},"size":{"type":"integer","title":"Image Size (KB)","description":"Image file size in kilobytes."},"type":{"$ref":"#/components/schemas/SmartCombinedImageType","title":"Image Type","description":"Type of the image (landscape_image, square_image, etc.)."}},"type":"object","title":"SmartImageResponse","description":"Single image creative entry for a smart ad."},"SmartTextCreativeAttribute":{"type":"string","enum":["textCreatives.type","textCreatives.text"],"title":"SmartTextCreativeAttribute","description":"Smart-ad text creative attributes."},"SmartTextCreativeResponse":{"properties":{"type":{"$ref":"#/components/schemas/SmartCombinedTextType","title":"Text Creative Type","description":"Type of the text creative."},"text":{"type":"string","title":"Text Creative Text","description":"Text content of the creative."}},"type":"object","title":"SmartTextCreativeResponse","description":"Single text creative entry for a smart ad."},"SocialCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"type":{"type":"string","const":"social","title":"Type","description":"Campaign type."}},"type":"object","required":["name","budget","type"],"title":"SocialCampaign","description":"Create a social campaign."},"SocialCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"social","title":"Type"}},"type":"object","required":["type"],"title":"SocialCampaignResponse","description":"Campaign of type: social."},"SquareImage":{"properties":{"type":{"type":"string","const":"square_image","title":"Type","description":"Discriminator value identifying the item as a square image."},"id":{"type":"integer","title":"Image ID","description":"Identifier of the previously uploaded square image."}},"type":"object","required":["type","id"],"title":"SquareImage","description":"Square marketing image."},"SquareLogo":{"properties":{"type":{"type":"string","const":"square_logo","title":"Type","description":"Discriminator value identifying the item as a square logo."},"id":{"type":"integer","title":"Image ID","description":"Identifier of the previously uploaded square logo."}},"type":"object","required":["type","id"],"title":"SquareLogo","description":"Square logo image."},"StatisticAttribute":{"type":"string","enum":["ctr","clicks","impressions","clickMoney","impressionMoney","totalMoney","avgPosition","conversions","exhaustedBudgetCount","stoppedByScheduleCount","stoppedByScheduleShare","underForestThresholdShare","underForestThresholdCount","exhaustedBudgetShare","avgCpc","avgCpt","pno","impressionShare","missedPrice","winRate","quality","conversionPrice","conversionRatio","conversionValue","skips","views","engagement","watchTime","viewershipFirstQuartile","viewershipMidpoint","viewershipThirdQuartile","viewershipComplete","viewershipRateFirstQuartile","viewershipRateMidpoint","viewershipRateThirdQuartile","viewershipRateComplete","viewRate","skipRate","avgWatchTime","avgCostPerView","firstDate","lastDate"],"title":"StatisticAttribute","description":"Available statistic attributes for listing."},"StatisticCompareConditionOperator":{"type":"string","enum":["gt","ge","lt","le"],"title":"StatisticCompareConditionOperator","description":"Compare condition operator for statistic filtering.\n\nStatistic values are aggregates, so exact-match operators (eq/neq) are not offered."},"StatisticCondition":{"properties":{"attribute":{"$ref":"#/components/schemas/StatisticAttribute","title":"Attribute","description":"Statistic attribute to filter by."},"operator":{"$ref":"#/components/schemas/StatisticCompareConditionOperator","title":"Operator","description":"Comparison operator."},"value":{"type":"integer","title":"Value","description":"Threshold value for the comparison."}},"type":"object","required":["attribute","operator","value"],"title":"StatisticCondition","description":"API-facing statistic condition for filtering campaigns by statistic values.\n\nParsed from the query parameter format ``attribute:operator:value``\n(e.g. ``clicks:gt:100``)."},"StatisticGranularity":{"type":"string","enum":["total","daily","weekly","monthly","quarterly","yearly"],"title":"StatisticGranularity","description":"Granularity for statistic data aggregation."},"StatisticNetworksResponse":{"properties":{"video":{"$ref":"#/components/schemas/_NetworkStatisticResponse","title":"Video","description":"Statistics for the video network."},"context":{"$ref":"#/components/schemas/_NetworkStatisticResponse","title":"Context","description":"Statistics for the context network."},"fulltext":{"$ref":"#/components/schemas/_NetworkStatisticResponse","title":"Fulltext","description":"Statistics for the fulltext (search) network."}},"type":"object","title":"StatisticNetworksResponse","description":"Entity statistics broken down by advertising network."},"Status":{"type":"string","enum":["active","suspend"],"title":"Status","description":"Common entity status (campaign, group, ...)."},"StreamedReportResponse":{"properties":{"stats":{"items":{"$ref":"#/components/schemas/ReportData"},"type":"array","title":"Report statistics"},"sums":{"$ref":"#/components/schemas/ReportDataSum","title":"Report sums","description":"Report summary statistics."}},"type":"object","required":["stats","sums"],"title":"StreamedReportResponse","description":"Response model describing streamed report response."},"UpdateAdDynamicBanner":{"properties":{"type":{"type":"string","const":"dynamic_banner","title":"Ad Type","description":"Discriminator value identifying the ad as a dynamic banner."},"dynamicTemplateId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Dynamic Template ID","description":"Identifier of the dynamic template used as the ad creative."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."}},"type":"object","required":["type"],"title":"UpdateAdDynamicBanner","description":"Update an existing dynamic banner ad.\n\nUnlike banner/branding creatives, `dynamicTemplateId` may be changed.\nDynamic banners have no landing URL of their own."},"UpdateAudioCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"audio","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateAudioCampaign","description":"Update an audio campaign."},"UpdateBannerAd":{"properties":{"finalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Final URL","description":"Landing page URL the banner points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"banner","title":"Ad Type","description":"Discriminator value identifying the ad as banner."},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name","description":"Internal name of the banner ad."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."}},"type":"object","required":["type"],"title":"UpdateBannerAd","description":"Update an existing banner ad.\n\nThe banner creative (`imageId`) cannot be changed — create a new ad instead."},"UpdateBrandingAd":{"properties":{"finalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"branding","title":"Ad Type","description":"Discriminator value identifying the ad as branding."},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name","description":"Internal name of the branding ad."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."}},"type":"object","required":["type"],"title":"UpdateBrandingAd","description":"Update an existing branding ad.\n\nThe branding creative (`imageId`) cannot be changed — create a new ad instead."},"UpdateCombinedAd":{"properties":{"finalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"combined","title":"Ad Type","description":"Discriminator value identifying the ad as combined."},"longLine":{"anyOf":[{"type":"string","maxLength":90,"minLength":1},{"type":"null"}],"title":"Long Line","description":"Long headline of the combined ad."},"shortLine":{"anyOf":[{"type":"string","maxLength":25,"minLength":1},{"type":"null"}],"title":"Short Line","description":"Short headline of the combined ad."},"description":{"anyOf":[{"type":"string","maxLength":90,"minLength":1},{"type":"null"}],"title":"Description","description":"Description line of the combined ad."},"companyName":{"anyOf":[{"type":"string","maxLength":25,"minLength":1},{"type":"null"}],"title":"Company Name","description":"Company name displayed in the combined ad."},"imageId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Image ID","description":"Identifier of the landscape image."},"imageSquareId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Square Image ID","description":"Identifier of the square image."},"imageLogoId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Logo Image ID","description":"Identifier of the square logo image."},"imageLandscapeLogoId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Landscape Logo Image ID","description":"Identifier of the landscape logo image."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"impressionTrackingTemplate2":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template 2","description":"Second URL template used for impression tracking."},"colorAccent":{"anyOf":[{"type":"string","pattern":"^[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Accent Color","description":"Accent color as six hexadecimal digits without a leading #."},"colorMain":{"anyOf":[{"type":"string","pattern":"^[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Main Color","description":"Main color as six hexadecimal digits without a leading #."}},"type":"object","required":["type"],"title":"UpdateCombinedAd","description":"Update an existing combined ad."},"UpdateContextCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"resetExhaustedTotalClicks":{"type":"boolean","const":true,"title":"Reset Exhausted Total Clicks","description":"Reset exhausted total clicks to zero."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"context","title":"Type","description":"Campaign type (cannot be changed)."},"paymentMethod":{"anyOf":[{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__payment_method__PaymentMethod"},{"type":"null"}],"title":"Payment Method","description":"Payment method for ads."}},"type":"object","required":["type"],"title":"UpdateContextCampaign","description":"Update a context campaign."},"UpdateEtaAd":{"properties":{"finalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"eta","title":"Ad Type","description":"Discriminator value identifying the ad as ETA."},"headline1":{"anyOf":[{"type":"string","maxLength":30,"minLength":1},{"type":"null"}],"title":"Headline 1","description":"First headline of the ETA ad."},"headline2":{"anyOf":[{"type":"string","maxLength":30,"minLength":1},{"type":"null"}],"title":"Headline 2","description":"Second headline of the ETA ad."},"headline3":{"anyOf":[{"type":"string","maxLength":30,"minLength":1},{"type":"null"}],"title":"Headline 3","description":"Third headline of the ETA ad."},"description":{"anyOf":[{"type":"string","maxLength":90,"minLength":1},{"type":"null"}],"title":"Description","description":"First description line of the ETA ad."},"description2":{"anyOf":[{"type":"string","maxLength":90,"minLength":1},{"type":"null"}],"title":"Description 2","description":"Second description line of the ETA ad."},"path1":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"Path 1","description":"First display URL path component."},"path2":{"anyOf":[{"type":"string","maxLength":15,"minLength":1},{"type":"null"}],"title":"Path 2","description":"Second display URL path component (requires path1)."},"premiseId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Premise ID","description":"Premise identifier (required when premiseMode='one')."},"premiseMode":{"anyOf":[{"$ref":"#/components/schemas/PremiseMode"},{"type":"null"}],"title":"Premise Mode","description":"Premise rotation mode."},"mobileFinalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Mobile Final URL","description":"Optional landing page URL used on mobile devices. "}},"type":"object","required":["type"],"title":"UpdateEtaAd","description":"Update an existing ETA."},"UpdateFeedRequest":{"properties":{"feedUrl":{"type":"string","maxLength":512,"minLength":1,"format":"uri","title":"Feed URL","description":"XML feed's URL - where it can be found.","examples":["https://example.cz/wp-content/uploads/xml/example.xml"]}},"type":"object","required":["feedUrl"],"title":"UpdateFeedRequest","description":"Model for updating the XML feed URL of a shop's feed."},"UpdateFulltextCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"resetExhaustedTotalClicks":{"type":"boolean","const":true,"title":"Reset Exhausted Total Clicks","description":"Reset exhausted total clicks to zero."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"fulltext","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateFulltextCampaign","description":"Update a fulltext (search) campaign."},"UpdateGroupAttributes":{"properties":{"name":{"type":"string","title":"Name","description":"Name of the group."},"cpc":{"type":"integer","title":"Cpc","description":"Max CPC in hellers."},"cpm":{"type":"integer","title":"Cpm","description":"Max CPM in hellers."},"status":{"$ref":"#/components/schemas/Status","description":"Group status."}},"type":"object","title":"UpdateGroupAttributes","description":"Single group to be updated. All fields are optional - only provided fields are updated."},"UpdateProductCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"resetExhaustedTotalClicks":{"type":"boolean","const":true,"title":"Reset Exhausted Total Clicks","description":"Reset exhausted total clicks to zero."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"product","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateProductCampaign","description":"Update a product campaign."},"UpdateSimpleCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"resetExhaustedTotalClicks":{"type":"boolean","const":true,"title":"Reset Exhausted Total Clicks","description":"Reset exhausted total clicks to zero."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"simple","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateSimpleCampaign","description":"Update a simple ads campaign."},"UpdateSmartAd":{"properties":{"finalUrl":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Final URL","description":"Landing page URL the ad points to."},"trackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Tracking Template","description":"URL template used for click tracking."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Ad status."},"sensitivity":{"anyOf":[{"$ref":"#/components/schemas/SensitivityStatus"},{"type":"null"}],"title":"Sensitivity","description":"Erotic-content sensitivity of the ad."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Ad start date — time part is ignored."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Ad end date — time part is ignored."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Hourly CPC modifier schedule. List of day/hour/value entries."},"type":{"type":"string","const":"smart","title":"Ad Type","description":"Discriminator value identifying the ad as Smart."},"businessName":{"anyOf":[{"type":"string","maxLength":25,"minLength":1},{"type":"null"}],"title":"Business Name","description":"Business name displayed in the Smart ad."},"impressionTrackingTemplate":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"Impression Tracking Template","description":"URL template used for impression tracking."},"textCreatives":{"anyOf":[{"items":{"oneOf":[{"$ref":"#/components/schemas/HeadlineCreative"},{"$ref":"#/components/schemas/LongHeadlineCreative"},{"$ref":"#/components/schemas/DescriptionCreative"}],"discriminator":{"propertyName":"type","mapping":{"description":"#/components/schemas/DescriptionCreative","headline":"#/components/schemas/HeadlineCreative","long_headline":"#/components/schemas/LongHeadlineCreative"}}},"type":"array"},{"type":"null"}],"title":"Text Creatives","description":"Smart ad text creatives (headlines, long headlines, descriptions). When provided, replaces the existing set. When omitted, existing creatives are kept unchanged."},"images":{"anyOf":[{"items":{"oneOf":[{"$ref":"#/components/schemas/SquareImage"},{"$ref":"#/components/schemas/LandscapeImage"},{"$ref":"#/components/schemas/PortraitImage"},{"$ref":"#/components/schemas/SquareLogo"},{"$ref":"#/components/schemas/LandscapeLogo"}],"discriminator":{"propertyName":"type","mapping":{"landscape_image":"#/components/schemas/LandscapeImage","landscape_logo":"#/components/schemas/LandscapeLogo","portrait_image":"#/components/schemas/PortraitImage","square_image":"#/components/schemas/SquareImage","square_logo":"#/components/schemas/SquareLogo"}}},"type":"array"},{"type":"null"}],"title":"Images","description":"Smart ad image references (square/landscape/portrait images, square/landscape logos). When provided, replaces the existing set. When omitted, existing images are kept unchanged."}},"type":"object","required":["type"],"title":"UpdateSmartAd","description":"Update an existing Smart ad."},"UpdateSmartCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"premise":{"anyOf":[{"$ref":"#/components/schemas/Premise"},{"type":"null"}],"title":"Premise","description":"Connection with Firmy.cz."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Campaign total clicks limit, or null for no limit."},"type":{"type":"string","const":"smart","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateSmartCampaign","description":"Update a Smart (S-Max) campaign."},"UpdateSocialCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"type":{"type":"string","const":"social","title":"Type","description":"Campaign type (cannot be changed)."}},"type":"object","required":["type"],"title":"UpdateSocialCampaign","description":"Update a social campaign."},"UpdateVideoCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"video","title":"Type","description":"Campaign type (cannot be changed)."},"videoFormat":{"anyOf":[{"$ref":"#/components/schemas/CampaignVideoFormat"},{"type":"null"}],"title":"Video Format","description":"Video format."}},"type":"object","required":["type"],"title":"UpdateVideoCampaign","description":"Update a video campaign."},"UpdateZboziCampaign":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Campaign name."},"budget":{"anyOf":[{"$ref":"#/components/schemas/Budget-Input"},{"type":"null"}],"title":"Budget","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in halers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date, or null to unset."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date, or null to unset."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions, or null for no geotargeting."},"resetExhaustedTotalBudget":{"type":"boolean","const":true,"title":"Reset Exhausted Total Budget","description":"Reset exhausted total budget to zero."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"zbozi","title":"Type","description":"Campaign type (cannot be changed)."},"zboziPremiseBidding":{"anyOf":[{"$ref":"#/components/schemas/ZboziBiddingType"},{"type":"null"}],"title":"Zbozi Premise Bidding","description":"Zbozi premise bidding type."}},"type":"object","required":["type"],"title":"UpdateZboziCampaign","description":"Update a Zboží.cz campaign."},"UploadedImage":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Image ID","description":"Unique identifier of the uploaded image.","examples":[426]},"name":{"type":"string","title":"File Name","description":"Original name of the uploaded file.","examples":["banner.jpeg"]},"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image URL","description":"URL of the uploaded image.","examples":["https://d49-a.sdn.cz/d_49/c_img_E_C/w0yG9.jpeg"]},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Width of the uploaded image in pixels.","examples":[1200]},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Height of the uploaded image in pixels.","examples":[628]},"sizeBytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size","description":"Size of the uploaded image in bytes.","examples":[204800]}},"type":"object","required":["id","name","url","width","height","sizeBytes"],"title":"UploadedImage","description":"A single uploaded image."},"User":{"properties":{"id":{"type":"integer","title":"User ID","description":"User ID of the campaigns owner.","examples":[123456]}},"type":"object","required":["id"],"title":"User","description":"Response model for a user."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VideoCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"video","title":"Type","description":"Campaign type."},"videoFormat":{"anyOf":[{"$ref":"#/components/schemas/CampaignVideoFormat"},{"type":"null"}],"title":"Video Format","description":"Video format."}},"type":"object","required":["name","budget","type"],"title":"VideoCampaign","description":"Create a video campaign."},"VideoCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"video","title":"Type"}},"type":"object","required":["type"],"title":"VideoCampaignResponse","description":"Campaign of type: video."},"VideoStatisticAttribute":{"type":"string","enum":["networks.video.ctr","networks.video.clicks","networks.video.impressions","networks.video.clickMoney","networks.video.impressionMoney","networks.video.totalMoney","networks.video.avgPosition","networks.video.conversions","networks.video.exhaustedBudgetCount","networks.video.stoppedByScheduleCount","networks.video.stoppedByScheduleShare","networks.video.underForestThresholdShare","networks.video.underForestThresholdCount","networks.video.exhaustedBudgetShare","networks.video.avgCpc","networks.video.avgCpt","networks.video.pno","networks.video.impressionShare","networks.video.missedPrice","networks.video.winRate","networks.video.quality","networks.video.conversionPrice","networks.video.conversionRatio","networks.video.conversionValue","networks.video.skips","networks.video.views","networks.video.engagement","networks.video.watchTime","networks.video.viewershipFirstQuartile","networks.video.viewershipMidpoint","networks.video.viewershipThirdQuartile","networks.video.viewershipComplete","networks.video.viewershipRateFirstQuartile","networks.video.viewershipRateMidpoint","networks.video.viewershipRateThirdQuartile","networks.video.viewershipRateComplete","networks.video.viewRate","networks.video.skipRate","networks.video.avgWatchTime","networks.video.avgCostPerView","networks.video.firstDate","networks.video.lastDate"],"title":"VideoStatisticAttribute"},"Website":{"properties":{"webType":{"type":"string","enum":["seznam","partner","zbozi"],"title":"Web Type","description":"Type of the offer placements","examples":["seznam"]},"maxCpcMultiplier":{"type":"integer","title":"Max CPC Multiplier","description":"Maximum CPC multiplier for the website placements in percent.","examples":[120]}},"type":"object","required":["webType","maxCpcMultiplier"],"title":"Website","description":"Response model for a website placement multiplier."},"ZboziBiddingType":{"type":"string","enum":["zbozi","feed","sklik"],"title":"ZboziBiddingType","description":"Zbozi bidding types\nFrom: sklik_common.campaign_zbozi_bidding"},"ZboziCampaign":{"properties":{"name":{"type":"string","title":"Name","description":"Campaign name."},"budget":{"$ref":"#/components/schemas/Budget-Input","description":"Campaign budget configuration."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Campaign total budget limit in hellers, or null for no limit."},"adSelection":{"anyOf":[{"$ref":"#/components/schemas/AdSelection"},{"type":"null"}],"title":"Ad Selection","description":"Ad selection strategy."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Campaign start date."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Campaign end date."},"status":{"anyOf":[{"$ref":"#/components/schemas/Status"},{"type":"null"}],"title":"Status","description":"Campaign status."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/Region"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geotargeting regions."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/Device-Input"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Targeted devices with CPC multipliers."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Spending schedule of the campaign. List of day/hour/value entries."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchService"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Excluded search services."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"URLs excluded from context targeting."},"type":{"type":"string","const":"zbozi","title":"Type","description":"Campaign type."},"zboziPremiseId":{"type":"integer","title":"Zbozi Premise ID","description":"Zbozi premise ID."},"zboziPremiseBidding":{"anyOf":[{"$ref":"#/components/schemas/ZboziBiddingType"},{"type":"null"}],"title":"Zbozi Premise Bidding","description":"Zbozi premise bidding type."}},"type":"object","required":["name","budget","type","zboziPremiseId"],"title":"ZboziCampaign","description":"Create a Zboží.cz campaign."},"ZboziCampaignResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."},"networks":{"anyOf":[{"$ref":"#/components/schemas/StatisticNetworksResponse"},{"type":"null"}],"title":"Networks","description":"Statistics broken down by advertising network."},"conversionIds":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion IDs","description":"Statistics split by conversion IDs."},"conversionTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ConversionSplitResponse"},"type":"array"},{"type":"null"}],"title":"Conversion Types","description":"Statistics split by conversion types."},"id":{"type":"integer","minimum":1.0,"title":"ID","description":"Unique campaign identifier."},"name":{"type":"string","title":"Name","description":"Campaign name."},"totalBudget":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Budget","description":"Total campaign budget limit in hellers."},"totalBudgetFrom":{"type":"string","format":"date","title":"Total Budget From","description":"Date from which the total budget is calculated."},"exhaustedTotalBudget":{"type":"integer","title":"Exhausted Total Budget","description":"Amount of the total budget already spent in hellers."},"totalClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Clicks","description":"Total click limit for the campaign."},"totalClicksFrom":{"type":"string","format":"date","title":"Total Clicks From","description":"Date from which the total click count is calculated."},"actualClicks":{"type":"integer","title":"Actual Clicks","description":"Number of clicks already consumed from the total click limit."},"status":{"$ref":"#/components/schemas/Status","description":"Current campaign status."},"isDeleted":{"type":"boolean","title":"Is Deleted","description":"Whether the campaign is deleted."},"deleteDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Delete Date","description":"Timestamp when the campaign was deleted, if applicable."},"adSelection":{"$ref":"#/components/schemas/AdSelection","title":"Ad Selection","description":"Ad selection strategy for the campaign."},"paymentMethod":{"$ref":"#/components/schemas/PaymentMethod-Output","title":"Payment Method","description":"Payment method used by the campaign (CPC, CPT, etc.)."},"startDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Scheduled start date and time of the campaign."},"endDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Scheduled end date and time of the campaign."},"createDate":{"type":"string","format":"date-time","title":"Create Date","description":"Timestamp when the campaign was created."},"automaticLocation":{"type":"boolean","title":"Automatic Location","description":"Whether automatic location targeting is enabled."},"exhaustedDayBudget":{"type":"integer","minimum":0.0,"title":"Exhausted Day Budget","description":"Amount of the daily budget already spent in hellers."},"devices":{"anyOf":[{"items":{"$ref":"#/components/schemas/DeviceResponse"},"type":"array"},{"type":"null"}],"title":"Devices","description":"Device multipliers for the campaign."},"excludedUrls":{"anyOf":[{"items":{"type":"string","minLength":1,"format":"uri"},"type":"array"},{"type":"null"}],"title":"Excluded URLs","description":"List of URLs excluded from ad delivery."},"scheduleEnabled":{"type":"boolean","title":"Schedule Enabled","description":"Whether time-based scheduling is enabled for the campaign."},"videoFormat":{"$ref":"#/components/schemas/CampaignVideoFormat","title":"Video Format","description":"Campaign video format."},"maxPno":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max PNO","description":"Maximum cost-to-revenue ratio (PNO) target in percent."},"defaultBudgetId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Budget ID","description":"Default budget identifier for the campaign."},"budget":{"anyOf":[{"$ref":"#/components/schemas/BudgetResponse"},{"type":"null"}],"title":"Budget","description":"Budget associated with the campaign."},"regions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegionResponse"},"type":"array"},{"type":"null"}],"title":"Regions","description":"Geographic regions targeted by the campaign."},"schedule":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array"},{"type":"null"}],"title":"Schedule","description":"Time-based scheduling configuration for the campaign."},"phone":{"anyOf":[{"$ref":"#/components/schemas/PhoneResponse"},{"type":"null"}],"title":"Phone","description":"Phone extension associated with the campaign."},"excludedSearchServices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ExcludedSearchServiceResponse"},"type":"array"},{"type":"null"}],"title":"Excluded Search Services","description":"Search services excluded from the campaign."},"type":{"type":"string","const":"zbozi","title":"Type"},"zboziPremiseId":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Zbozi Premise ID","description":"Identifier of the Zboží.cz premise linked to the campaign."},"zboziPremiseBidding":{"anyOf":[{"$ref":"#/components/schemas/ZboziBiddingType"},{"type":"null"}],"title":"Zbozi Premise Bidding"}},"type":"object","required":["type"],"title":"ZboziCampaignResponse","description":"Campaign of type: zbozi. Contains Zboží.cz-specific fields."},"_NetworkStatisticResponse":{"properties":{"firstDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"First Date","description":"First date with recorded statistics."},"lastDate":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Last Date","description":"Last date with recorded statistics."},"skips":{"type":"integer","title":"Skips","description":"Total number of video ad skips."},"engagement":{"type":"integer","title":"Engagement","description":"Total number of engagements (interactions with the ad)."},"watchTime":{"type":"integer","title":"Watch Time","description":"Total video watch time in seconds."},"viewRate":{"type":"number","title":"View Rate","description":"Video view rate (views / impressions)."},"skipRate":{"type":"number","title":"Skip Rate","description":"Video skip rate (skips / impressions)."},"avgWatchTime":{"type":"number","title":"Average Watch Time","description":"Average video watch time in seconds."},"avgCostPerView":{"type":"number","title":"Average Cost per View","description":"Average cost per video view in hellers."},"views":{"type":"integer","title":"Views","description":"Total number of video ad views."},"viewershipFirstQuartile":{"type":"integer","title":"Viewership First Quartile","description":"Number of times the video was watched to 25 %."},"viewershipMidpoint":{"type":"integer","title":"Viewership Midpoint","description":"Number of times the video was watched to 50 %."},"viewershipThirdQuartile":{"type":"integer","title":"Viewership Third Quartile","description":"Number of times the video was watched to 75 %."},"viewershipComplete":{"type":"integer","title":"Viewership Complete","description":"Number of times the video was watched to 100 %."},"viewershipRateFirstQuartile":{"type":"number","title":"Viewership Rate First Quartile","description":"Rate of video views that reached the 25 % mark."},"viewershipRateMidpoint":{"type":"number","title":"Viewership Rate Midpoint","description":"Rate of video views that reached the 50 % mark."},"viewershipRateThirdQuartile":{"type":"number","title":"Viewership Rate Third Quartile","description":"Rate of video views that reached the 75 % mark."},"viewershipRateComplete":{"type":"number","title":"Viewership Rate Complete","description":"Rate of video views that reached the 100 % mark."},"quality":{"type":"number","title":"Quality","description":"Overall quality score of the campaign."},"conversions":{"type":"integer","title":"Conversions","description":"Total number of conversions."},"conversionValue":{"type":"integer","title":"Conversion Value","description":"Total value of all conversions in hellers."},"conversionPrice":{"type":"number","title":"Conversion Price","description":"Average cost per conversion in hellers."},"conversionRatio":{"type":"number","title":"Conversion Ratio","description":"Conversion ratio (conversions / clicks)."},"pno":{"type":"number","title":"PNO","description":"Cost-to-revenue ratio (PNO)."},"ctr":{"type":"number","title":"CTR","description":"Click-through rate (clicks / impressions)."},"clicks":{"type":"integer","title":"Clicks","description":"Total number of clicks."},"impressions":{"type":"integer","title":"Impressions","description":"Total number of impressions."},"clickMoney":{"type":"integer","title":"Click Money","description":"Total cost of clicks in hellers."},"impressionMoney":{"type":"integer","title":"Impression Money","description":"Total cost of impressions in hellers."},"totalMoney":{"type":"integer","title":"Total Money","description":"Total spend (clicks + impressions) in hellers."},"avgPosition":{"type":"number","title":"Average Position","description":"Average ad position."},"avgCpc":{"type":"number","title":"Average CPC","description":"Average cost per click in hellers."},"avgCpt":{"type":"number","title":"Average CPT","description":"Average cost per thousand impressions (CPT) in hellers."},"impressionShare":{"type":"number","title":"Impression Share","description":"Share of impressions the campaign received out of the total available."},"missedPrice":{"type":"number","title":"Missed Price","description":"Estimated missed spend due to limited budget in hellers."},"exhaustedBudgetCount":{"type":"integer","title":"Exhausted Budget Count","description":"Number of days the daily budget was fully exhausted."},"exhaustedBudgetShare":{"type":"number","title":"Exhausted Budget Share","description":"Share of days the daily budget was fully exhausted."},"stoppedByScheduleCount":{"type":"integer","title":"Stopped by Schedule Count","description":"Number of days the campaign was stopped by schedule."},"stoppedByScheduleShare":{"type":"number","title":"Stopped by Schedule Share","description":"Share of days the campaign was stopped by schedule."},"underForestThresholdCount":{"type":"integer","title":"Under Forest Threshold Count","description":"Number of days the campaign was under the forest threshold."},"underForestThresholdShare":{"type":"number","title":"Under Forest Threshold Share","description":"Share of days the campaign was under the forest threshold."}},"type":"object","title":"_NetworkStatisticResponse","description":"Per-network statistic metrics."},"apiserver_fenix__api__models__response__ListResponse_ManufacturerResponse___1":{"properties":{"items":{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__manufacturers__get__ManufacturerResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ManufacturerResponse]"},"apiserver_fenix__api__models__response__ListResponse_ManufacturerResponse___2":{"properties":{"items":{"items":{"$ref":"#/components/schemas/apiserver_fenix__api__nakupy__manufacturers__search__ManufacturerResponse"},"type":"array","title":"Items","description":"List of items."}},"type":"object","title":"ListResponse[ManufacturerResponse]"},"apiserver_fenix__api__nakupy__categories__get__MetaResponse":{"properties":{"categoryIds":{"items":{"type":"integer"},"type":"array","title":"Categoryids","description":"Array of input CategoryID  \nIf any is missing in the data section and status is 200 then it means that product doesn't existIf status is 206 it means that error occurred in searching and it is recommended to call function for these missing values again.","examples":[123456]}},"type":"object","required":["categoryIds"],"title":"MetaResponse","description":"Response model for metadata about the category IDs."},"apiserver_fenix__api__nakupy__categories__tree__MetaResponse":{"properties":{"lastRefreshed":{"type":"string","format":"date-time","title":"Last Refreshed","description":"DateTime when this data was refreshed"}},"type":"object","required":["lastRefreshed"],"title":"MetaResponse","description":"Response model for metadata about the categories tree."},"apiserver_fenix__api__nakupy__manufacturers__get__ManufacturerResponse":{"properties":{"manufacturerId":{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0,"title":"Manufacturer ID","description":"Manufacturer ID assigned by Seznam (64bit unsigned number)","examples":[12345678901234567890]},"name":{"type":"string","title":"Name","description":"Manufacturer name on Zbozi.cz","examples":["Veselý orangutan"]}},"type":"object","required":["manufacturerId","name"],"title":"ManufacturerResponse","description":"Response model for a manufacturer."},"apiserver_fenix__api__nakupy__manufacturers__get_by_ids__ManufacturerResponse":{"properties":{"manufacturerId":{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0,"title":"Manufacturer ID","description":"Manufacturer ID assigned by Seznam (64bit unsigned number)","examples":[12345678901234567890,198765432101234567890]},"name":{"type":"string","title":"Name","description":"Manufacturer name on Zbozi.cz","examples":["Veselý orangutan","Krásné květiny"]}},"type":"object","required":["manufacturerId","name"],"title":"ManufacturerResponse","description":"Response model for a manufacturer."},"apiserver_fenix__api__nakupy__manufacturers__get_by_ids__MetaResponse":{"properties":{"manufacturerIds":{"items":{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0},"type":"array","title":"Manufacturerids","description":"Array of input manufacturerID  \nIf any is missing in the data section and status is 200 then it means that product doesn't existIf status is 206 it means that error occurred in searchingand it is recommended to call function for these missing values again.","examples":["12345678901234567890","19876543210987654321"]}},"type":"object","required":["manufacturerIds"],"title":"MetaResponse","description":"Response model for metadata about the product IDs."},"apiserver_fenix__api__nakupy__manufacturers__search__ManufacturerResponse":{"properties":{"manufacturerId":{"type":"integer","maximum":1.8446744073709552e+19,"minimum":1.0,"title":"Manufacturer ID","description":"Manufacturer ID assigned by Seznam (64bit unsigned number)","examples":[12345678901234567890]},"name":{"type":"string","title":"Name","description":"This manufacturer name on Zbozi.cz","examples":["Veselý orangutan"]}},"type":"object","required":["manufacturerId","name"],"title":"ManufacturerResponse","description":"Response model for a manufacturer."},"apiserver_fenix__api__nakupy__products__get__MetaResponse":{"properties":{"productIds":{"items":{"type":"integer"},"type":"array","title":"Productids","description":"Array of input productID  \nIf any is missing in the data section and status is 200 then it means that product doesn't exist.  \nIf status is 206 it means that error occurred in searchingand it is recommended to call function for these missing values again.","examples":[232]}},"type":"object","required":["productIds"],"title":"MetaResponse","description":"Response model for metadata about the product IDs."},"apiserver_fenix__api__nakupy__reviews__get__ReviewResponse":{"properties":{"createDatetime":{"type":"string","format":"date-time","title":"Create Datetime","description":"Datetime of review creation","examples":["2017-06-17T11:03:17Z"]},"negativeComment":{"type":"string","title":"Negative Comment","description":"Negative review text","examples":["Uz nikdy tam nepujdu."]},"orderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order ID","description":"Order ID of the review. Null if anonymous.","examples":["OBJ-2016-10-10-22093257093"]},"positiveComment":{"type":"string","title":"Positive Comment","description":"Positive review text","examples":["Super obchod. Doporucuji."]},"satisfaction":{"$ref":"#/components/schemas/SatisfactionResponse","title":"Satisfaction","description":"Detailed satisfaction ratings filled by the user."},"shopReaction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shop Reaction","description":"Shop's reaction to this review.","examples":["Udelali sme to pro vase dobro."]},"shopReactionState":{"anyOf":[{"type":"string","enum":["new","approved","denied"]},{"type":"null"}],"title":"Shop Reaction State","description":"State of the shop reaction.","examples":["denied"]},"shopReviewId":{"type":"integer","title":"Shop Review ID","description":"ID of the review.","examples":[24]},"state":{"type":"string","enum":["new","approved"],"title":"State","description":"State of the review. New means it is waiting for approval","examples":["new"]},"userName":{"type":"string","title":"User Name","description":"Name of the reviewer. Empty if anonymous.","examples":["Karlik666"]}},"type":"object","required":["createDatetime","negativeComment","orderId","positiveComment","satisfaction","shopReaction","shopReactionState","shopReviewId","state","userName"],"title":"ReviewResponse","description":"Response model for a single review."},"apiserver_fenix__api__nakupy__reviews__get_by_id__ReviewResponse":{"properties":{"createDatetime":{"type":"string","format":"date-time","title":"Create Datetime","description":"Datetime of review creation","examples":["2025-06-01T12:00:00Z"]},"negativeComment":{"type":"string","title":"Negative Comment","description":"Negative review text","examples":["Uz nikdy tam nepujdu."]},"orderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order ID","description":"Order ID of the review. Null if anonymous.","examples":["OBJ-2016-10-10-22093257093"]},"positiveComment":{"type":"string","title":"Positive Comment","description":"Positive review text","examples":["Super obchod. Doporucuji."]},"satisfaction":{"$ref":"#/components/schemas/SatisfactionResponse","title":"Satisfaction","description":"Detailed satisfaction ratings filled by the user."},"shopReaction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shop Reaction","description":"Shop's reaction to this review.","examples":["Udelali sme to pro vase dobro."]},"shopReactionState":{"anyOf":[{"type":"string","enum":["new","approved","denied"]},{"type":"null"}],"title":"Shop Reaction State","description":"State of the shop reaction.","examples":["denied"]},"shopReviewId":{"type":"integer","title":"Shop Review ID","description":"ID of the review.","examples":[24]},"state":{"type":"string","enum":["new","approved"],"title":"State","description":"State of the review. New means it is waiting for approval","examples":["new"]},"userName":{"type":"string","title":"User Name","description":"Name of the reviewer. Empty if anonymous.","examples":["Karlik666"]}},"type":"object","required":["createDatetime","negativeComment","orderId","positiveComment","satisfaction","shopReaction","shopReactionState","shopReviewId","state","userName"],"title":"ReviewResponse","description":"Response model for a single review."},"apiserver_fenix__api__sklik__campaigns__groups__ads__models__ad_type__AdType":{"type":"string","enum":["eta","smart","banner","combined","branding","dynamic_banner"],"title":"AdType","description":"Ad type values supported by the listing endpoint."},"apiserver_fenix__api__sklik__campaigns__groups__ads__models__create_request__schedule_item__ScheduleItem":{"properties":{"day":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Day","description":"Day of week (0=Monday, 6=Sunday)."},"hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Hour","description":"Hour of the day (0-23)."},"value":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Value","description":"CPC modifier for this time slot in percent (0-1000). Default 100 = no change, 0-99 = decrease, 101-1000 = increase."}},"type":"object","required":["day","hour","value"],"title":"ScheduleItem","description":"Single schedule entry — one hour slot within a week."},"apiserver_fenix__api__sklik__campaigns__groups__ads__models__order_attribute__OrderAttribute":{"type":"string","enum":["id:ASC","id:DESC"],"title":"OrderAttribute","description":"Available order attributes for ad listing."},"apiserver_fenix__api__sklik__campaigns__groups__ads__models__update_request__deletion_update_request__DeletionUpdate":{"properties":{"deleted":{"type":"boolean","title":"Deleted","description":"When true, the ad is marked as removed. When false, a previously removed ad is restored."}},"additionalProperties":false,"type":"object","required":["deleted"],"title":"DeletionUpdate","description":"Mark an ad as deleted or restore it."},"apiserver_fenix__api__sklik__campaigns__groups__models__deletion_update_request__DeletionUpdate":{"properties":{"deleted":{"type":"boolean","title":"Deleted","description":"When true, the group is marked as removed. When false, a previously removed group is restored."}},"additionalProperties":false,"type":"object","required":["deleted"],"title":"DeletionUpdate","description":"Mark a group as deleted (``deleted=True``) or restore it (``deleted=False``)."},"apiserver_fenix__api__sklik__campaigns__groups__models__order_attribute__OrderAttribute":{"type":"string","enum":["id:ASC","id:DESC","name:ASC","name:DESC"],"title":"OrderAttribute","description":"Available order attribute for group listing."},"apiserver_fenix__api__sklik__campaigns__models__create_request__schedule_item__ScheduleItem":{"properties":{"day":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Day","description":"Day of week (0=Monday, 6=Sunday)."},"hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Hour","description":"Hour of the day (0-23)."},"value":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Value","description":"Bid modifier for this time slot (percentage)."}},"type":"object","required":["day","hour","value"],"title":"ScheduleItem","description":"Single schedule entry — one hour slot within a week."},"apiserver_fenix__api__sklik__campaigns__models__order_attribute__OrderAttribute":{"type":"string","enum":["id:ASC","id:DESC","name:ASC","name:DESC"],"title":"OrderAttribute","description":"Available order attribute for campaign listing."},"apiserver_fenix__api__sklik__campaigns__models__payment_method__PaymentMethod":{"type":"string","enum":["cpc","cpm"],"title":"PaymentMethod","description":"Payment method for campaign ads."},"apiserver_fenix__api__sklik__campaigns__models__update_request__deletion_update_request__DeletionUpdate":{"properties":{"deleted":{"type":"boolean","title":"Deleted","description":"When true, the campaign is marked as removed. When false, a previously removed campaign is restored."}},"additionalProperties":false,"type":"object","required":["deleted"],"title":"DeletionUpdate","description":"Mark a campaign as deleted (``deleted=True``) or restore it (``deleted=False``)."},"apiserver_fenix__api__sklik__event_measurement__conversions__models__order_attribute__OrderAttribute":{"type":"string","enum":["id:ASC","id:DESC","name:ASC","name:DESC"],"title":"OrderAttribute","description":"Available order attribute for conversion listing."},"apiserver_fenix__api__sklik__images__models__ad_type__AdType":{"type":"string","enum":["banner","combined","branding","smart"],"title":"AdType","description":"Ad type for image constraints."},"emu__config__static__payment_method__PaymentMethod":{"type":"string","enum":["cpc","cpm","exclusive"],"title":"PaymentMethod","description":"Payment method\nFrom: sklik_ogar.payment_method and sklik_common.payment_method"}},"securitySchemes":{"API Access Token":{"type":"oauth2","description":"To obtain API Access Token, use the `/user/token` endpoint. This endpoint requires refresh token, youmust have one prior to calling the endpoint.","flows":{"clientCredentials":{"scopes":{"ad_add":"","campaign":"","campaign_new":"","campaign_edit":"","campaign_remove":"","campaign_stopstart":"","conversion":"","conversion_edit":"","group":"","group_add":"","group_edit":"","ad_list":"","ad_edit":"","ad_remove":"","sem":"","sem_activate":"","sem_id":"","sem_edit":"","keyword":"","keyword_edit":"","retargeting":"","retargeting_negative":""},"tokenUrl":"/user/token"},"authorizationCode":{"scopes":{"ad_add":"","campaign":"","campaign_new":"","campaign_edit":"","campaign_remove":"","campaign_stopstart":"","conversion":"","conversion_edit":"","group":"","group_add":"","group_edit":"","ad_list":"","ad_edit":"","ad_remove":"","sem":"","sem_activate":"","sem_id":"","sem_edit":"","keyword":"","keyword_edit":"","retargeting":"","retargeting_negative":""},"authorizationUrl":"https://www.sklik.cz/oauth/api","tokenUrl":"/user/token"}}},"API Refresh Token":{"type":"http","description":"To obtain API Refresh Token, log into your account at https://www.sklik.cz/.","scheme":"bearer","bearerFormat":"urn:ietf:params:oauth:token-type:refresh_token"},"API Client Credentials":{"type":"http","description":"OAuth2 client credentials for `grant_type=client_credentials`, as `Basic base64(client_id:client_secret)` (RFC 6749 §2.3.1).","scheme":"basic"}}},"tags":[{"name":"Changelog","$ref":"/v1/changelog.json"}],"externalDocs":{"description":"Sklik.cz documentation","url":"https://napoveda.sklik.cz/"},"servers":[{"url":"/v1"}]}