{"openapi":"3.0.2","info":{"contact":{"email":"support@threatjammer.com","name":"ThreatJammer Support","url":"https://threatjammer.com/contactus","x-termsOfService":"https://threatjammer.com/tos","x-twitter":"threatjammer"},"description":"\nThe public API open to the users. [Read the docs and learn more.](https://threatjammer.com/docs).\n\n## General information\n\n### Description\nThreat Jammer supports two end-user REST APIs: the User API and the Report API. The end-user uses the User API to interact with the different databases, heuristics, and machine learning processes. Devices use the Report API to interact with Threat Jammer. This document will explain how to use the User API and interact with the different services, create a token, interpret the quota information, and create the HTTP request to interact with the User API.\n\n### Authentication\nThe API is protected by a **Bearer authentication** schema. **Bearer authentication** (also called **token authentication**) is an HTTP authentication scheme that involves security tokens called bearer tokens. It is used to authenticate the user. All the different endpoints expect a `Bearer` token in the `Authorization` header.\n\nExample:\n\n```\ncurl -X 'GET'\n  'https://dublin.api.threatjammer.com/test'\n  -H 'accept: application/json'\n  -H 'Authorization: Bearer YOUR_API_KEY'\n```\n\nYou can obtain a token after registering on the [ThreatJammer.com](https://threatjammer.com) website for free.\n\n\n### Region specific tokens\nAll the `Bearer` tokens contain information about the authorized region. The developers have to use a token created for the region they want to use. A token used in a different region will return a `401 Unauthorized` error.\n\n### Global errors\n\nThe API will return the following permanent errors:\n- a `401 Unauthorized` error if the token is not valid, or does not belong to the region.\n- a `401 Unauthorized` error if the token does not exist.\n- a `401 Unauthorized` error if the token is malformed.\n- a `403 Forbidden` error if the subscription level is not enough. Some endpoints are only available for paid subscription levels.\n\nAnd these temporary errors:\n- a `429 Too Many Requests` error if the quota is exceeded (see below).\n\n### Quota limits\n\n**Every request to the User API will consume one (1) quota point.**\n\nThe API has two rate limiting processes:\n- a quota limit of **5000** requests per month for the `FREE` account. The limit is reset every month.\n- a quota limit of **10** requests per minute for the `FREE` account. The limit is reset every minute and implements a sliding window mechanism.\n\n","title":"ThreatJammer.com User API","version":"1.2.27","x-apisguru-categories":["s","e","c","u","r","i","t","y"],"x-logo":{"url":"https://threatjammer.com/threatjammer-risk-score.png"},"x-origin":[{"format":"openapi","url":"https://dublin.api.threatjammer.com/openapi.json","version":"3.0"}],"x-providerName":"threatjammer.com"},"externalDocs":{"description":"Threat Jammer Documentation Site","url":"https://threatjammer.com/docs/index"},"paths":{"/v1/allowlist/private":{"post":{"description":"### What\nCreates a new allowlist with the information given and binded to the current user. The parameters are:\n - name\n - description\n - tags\n - expiry\n - Time to Live (TTL)\n - Resource Type (`CIDR`, `AS`, `COUNTRY`, `CONTINENT`, `DATACENTER_ID` and `USER AGENT`)\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will immediately return a 202 Accepted response. The operation will also return the UUID of the list.\n\n### Parameters\nIn the query string the ID of the private allow list to delete.\n\nIn the body the following parameters:\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``tags``: A list of tags that describe the list.\n- ``ttl``: (Optional) The Time To Live of the list, in seconds. If it does not exist, it will never expire.\n- ``resource_type``: The type of resource that the list contains. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT``,    ``DATACENTER_ID`` or ``USER AGENT``.\n\n### Result\nIt should always return a 202 Accepted response with the UUID of the new list in the body.\n\n### Errors\n\n- If the information is not valid, it will return a `422` (Unprocessable Entity) error.\n- If the ttl is negative, it will return a `400` (Bad Request) error.\n\nIt will return the API Global errors described in the API description.","operationId":"create_private_allowlist_of_the_user_v1_allowlist_private_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_private_allowlist_of_the_user_v1_allowlist_private_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"format":"uuid","title":"Response Create Private Allowlist Of The User V1 Allowlist Private Post","type":"string"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Creates a new private allowlist binded to the user.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/all":{"get":{"description":"### What\nObtain the set of private allow lists of the user available in the service.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as a allowlist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_private_allowlists_v1_allowlist_private_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of private allowlists of the user.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/all/{resource_type}":{"get":{"description":"### What\nObtain the set of private allow lists of the user available in the service filtering by resource type. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as a allowlist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\n- If the resource type is not valid, it will return a ``400`` error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_all_private_allowlists_by_resource_type_v1_allowlist_private_all__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of private allowlists of the user by resource type.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/ip/{address}":{"get":{"description":"### What\nObtain the list of all the different private allowlists where the IP address entered by the user. The allowlisted forbidden datasets are the ones submitted manually by the user from files or indidual items.\n\n### Parameters\nThe endpoint accepts the `address` parameter as query string.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``cidrs``: the URI of the lists of CIDRs where the IP was found.\n- ``country``: the URIs where the lists of countries where the IP address was found\n- ``continent``: the URI where the continent where the IP address was found.\n- ``asn``: the URIs where the list of continents of the ASN where the IP address was found.\n- ``datacenter``: the URIs of the lists of datacenters where the IP address was found. If not found, the result is an empty string.\n- ``reported``: the URI of the information of the IP address reported by the user. For allowlist should be empty.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address was malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_resource_denylists_v1_allowlist_private_ip__address__get","parameters":[{"in":"path","name":"address","required":true,"schema":{"anyOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"title":"Address"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the different private allowlists where the IP address was found.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/{allowlist_id}":{"delete":{"description":"### What\nDelete all the bindings between a user and a private allowlist. This will remove the content of the allowlist, the allowlist from the user and also all the origins that are using the allowlist.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request willimmediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the private allow list to delete.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\n- If the list does not exist, it will return a 404 error.\n- If the allow list is not a valid UUID, it will return a 422 error.\n\nIt will return the API Global errors described in the API description.","operationId":"delete_the_allowlist_v1_allowlist_private__allowlist_id__delete","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the bindings between a user and a private allowlist.","tags":["Allowlist data query and management"]},"get":{"description":"### What\nObtain the details of the private allow list of the user available in the service.\n\n### Parameters\nPass the private allowlist ID as query parameter.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual information of the list.\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n- ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n- ``created_at``: Unix timestamp in seconds when the list was created.\n- ``updated_at``: Unix timestamp in seconds when the list was updated.\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as a allowlist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\n- If the allow list is not a valid UUID, it will return a 422 error.\n- If the private allowlist ID does not exist, it will return a ``404`` error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_single_allowlist_v1_allowlist_private__allowlist_id__get","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the details of a specific private allowlist of the user.","tags":["Allowlist data query and management"]},"put":{"description":"### What\nUpdates the information that describes the allowlist of the user in the system. The parameters that can be modified are:\n - name\n - description\n - tags\n - expiry\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will immediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the private allow list to delete.\n\nIn the body the following parameters:\n- ``name``: (Optional) A human readable name of the list.\n- ``description``: (Optional) A long detailed information about what the list contains and how it is used.\n- ``tags``: (Optional) A list of tags that describe the list.\n- ``expiry``: (Optional) Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\n- If the list does not exist, it will return a `404` (Not found) error.\n- If the list is a default list, it will return a `403` (Forbidden) error.\n- If the allow list is not a valid UUID, it will return a `422` (Unprocessable Entity) error.\n- If the expiry is not a valid timestamp, it will return a `422` (Unprocessable Entity) error.\n- If the expiry is in the past, it will return a `400` (Bad Request) error.\n- If the name is not a string, it will return a `422` (Unprocessable Entity) error.\n- If the description is not a string, it will return a `422` (Unprocessable Entity) error.\n\nIt will return the API Global errors described in the API description.","operationId":"update_private_allowlist_of_the_user_v1_allowlist_private__allowlist_id__put","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_private_allowlist_of_the_user_v1_allowlist_private__allowlist_id__put"}}}},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Update the information of an existing private allowlist of the user.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/{allowlist_id}/content":{"delete":{"description":"### What\nDelete all the content of a private allowlist of the user. This will remove all the elements, and there is no way to recover them.\n\n### Parameters\nPass the private allowlist ID as query parameter.\n\n### Result\nIf successful, it will return a ``202`` (Accepted) response with an empty body. The operation is asynchronous,and can take several seconds to complete.\n\n### Errors\n\n- If the allow list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private allowlist ID does not exist, it will return a ``404`` (Not found) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"delete_the_allowlist_content_v1_allowlist_private__allowlist_id__content_delete","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the content of a private allowlist of the user.","tags":["Allowlist data query and management"]},"get":{"description":"### What\nReturns the content of the private allowlist of the user. The content can be CIDRs, ASNs, countries, continents or    datacenter IDs.\n\n### Parameters\nPass the private allowlist ID as query parameter.\n\nThe following pagination parameters are required as query string parameters:\n- ``page``: (Optional) the page number to retrieve. The first page is 1. Default is 1.\n- ``page_size``: (Optional) the number of items per page. Default is 20.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the content of the list.\n- ``cidrs``: (Optional) list of CIDRs in the list.\n- ``asns``: (Optional) list of ASNs in the list.\n- ``countries``: (Optional) list of countries in the list.\n- ``continents``: (Optional) list of continents in the list.\n- ``datacenters``: (Optional) list of datacenters in the list.\n\n### Errors\n\n- If the allow list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private allowlist ID does not exist, it will return a ``404`` (Not found) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_allowlist_content_v1_allowlist_private__allowlist_id__content_get","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}},{"description":"The page to be returned","in":"query","name":"page","required":false,"schema":{"default":1,"description":"The page to be returned","title":"Page number","type":"integer","x-min":1}},{"description":"The number of items per page","in":"query","name":"page_size","required":false,"schema":{"default":20,"description":"The number of items per page","title":"Page size","type":"integer","x-max":100,"x-min":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the content of a private allowlist of the user.","tags":["Allowlist data query and management"]},"put":{"description":"### What\nAdd or remove content of a private allowlist of the user. The content can be CIDRs, ASNs, countries, continents or datacenter IDs.\n\nThe number of elements allowed in all the lists are limited depending on the plan of the user:\n- Free: 100 elements\n- Basic: 1000 elements\n- Pro: 10000 elements\n\n### Parameters\nPass the private allowlist ID as query parameter.\n\nIn the body the following parameters:\n- ``append``: (Optional) Add CIDRs, ASNs, countries, continents or datacenter IDs to add to the list. It's not possible to mix different resource types in the same list.\n- ``remove``: (Optional) Extract CIDRs, ASNs, countries, continents or datacenter IDs to add to the list. It's not possible to mix different resource types in the same list.\n\n\n### Result\nIf successful, it will return a ``202`` (Accepted) response with an empty body. The operation is asynchronous,and can take several seconds to complete.\n\n### Errors\n\n- If the allow list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private allowlist ID does not exist, it will return a ``404`` (Not found) error.\n- If the ``append`` or ``remove`` parameters are not processable, it will return a ``422`` (Unprocessable Entity) error.\n- If the number of elements in the lists is over the limit, it will return a ``413`` (Payload Too Large) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"update_private_content_of_the_allowlist_of_the_user_v1_allowlist_private__allowlist_id__content_put","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_private_content_of_the_allowlist_of_the_user_v1_allowlist_private__allowlist_id__content_put"}}}},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Add or remove content of a private allowlist of the user.","tags":["Allowlist data query and management"]}},"/v1/allowlist/private/{allowlist_id}/origin":{"put":{"description":"### What\nChange the status of the origin of an allow list to ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\nAn ``ACTIVE`` origin will apply the allow list to the protocol and domain of the origin. An origin can be created and activated simply toogling the ``ACTIVE`` status. As an optional parameter it can be provided an ``ttl`` or Time To Live parameter of the origin in the list in seconds. After the TTL expires, the origin will be removed from the list.  If the TTL is not provided, the origin will never expire.\n\nAn ``INACTIVE`` origin will not apply the allow list to the protocol and domain of the origin.\n\nA ``DELETED`` origin will be removed from the list. It will not be used by the service anymore. The user can activate it again with the ``ACTIVE`` status.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n*This operation is not available in the Freemium plan.*\n\n### Parameters\nIn the query string the ID of the allow list to change the status.\nIn the body the JSON object with the following fields:\n- ``origin``: The protocol and domain of the origin. It can be ``http://example.com`` or ``https://example.com``.\n- ``status``: The status of the list. It can be ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the TTL is negative in the past, it will return a 422 error.\nIf the allow list is not a valid UUID, it will return a 422 error.\nIf the origin is not a valid URL, it will return a 400 error.\nIf the allowlist is not active, it will returna 409 error.\nIf the origin is not found in the set owned by the user, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_origin_allowlist_v1_allowlist_private__allowlist_id__origin_put","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_origin_allowlist_v1_allowlist_private__allowlist_id__origin_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of the origin in an allow list.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/all":{"get":{"description":"### What\nObtain the set of public allow lists available in the service and also which ones are already selected by the user and wich ones are not.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as an allowlist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``        it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_public_allowlists_v1_allowlist_public_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public allowlists.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/all/{resource_type}":{"get":{"description":"### What\nObtain the set of public allow lists available in the service and also which ones are already selected by the user and wich ones are not filtering by the resource type.\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as an allowlist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``        it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_public_allowlists_by_resource_type_v1_allowlist_public_all__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public allowlists by resource type.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/ip/{address}":{"get":{"description":"### What\nObtain the list of all the different public allowlists where the IP address entered by the user is. The public allowlists are the ones activated by the user, but managed by Threatjammer administrators.\n\n### Parameters\nThe endpoint accepts the `address` parameter as query string.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``cidrs``: the URI of the lists of CIDRs where the IP was found.\n- ``country``: the URIs where the lists of countries where the IP address was found\n- ``continent``: the URI where the continent where the IP address was found.\n- ``asn``: the URIs where the list of continents of the ASN where the IP address was found.\n- ``datacenter``: the URIs of the lists of datacenters where the IP address was found. If not found, the result is an empty string.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address was malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_resource_allowlists_v1_allowlist_public_ip__address__get","parameters":[{"in":"path","name":"address","required":true,"schema":{"anyOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"title":"Address"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the different public allowlists where the IP address was found.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/owned":{"get":{"description":"### What\nObtain the set of public allow lists available in the service selected by the user.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an allowlist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_public_allowlists_owned_by_the_user_v1_allowlist_public_owned_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of owned allowlists.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/owned/{resource_type}":{"get":{"description":"### What\nObtain the set of public allow lists selected by the user and wich ones are not filtering by the resource type.\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an allowlist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_owned_allowlists_by_resource_type_v1_allowlist_public_owned__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public allowlists of a user by resource type.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/{allowlist_id}":{"delete":{"description":"### What\nDelete all the bindings between a user and an allowlist. This will remove the allowlist from the user and also all the origins that are using the allowlist.\n\n This is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the allow list to change the status.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the allow list is not a valid UUID, it will return a 422 error.\n\nIt will return the API Global errors described in the API description.","operationId":"delete_the_allowlist_v1_allowlist_public__allowlist_id__delete","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the bindings between a user and an allowlist.","tags":["Allowlist data query and management"]},"get":{"description":"### What\nObtain the details of an allow list available in the service.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual information of the list.\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n- ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n- ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``it means that the list is not available anymore if not renewed.\n- ``created_at``: Unix timestamp in seconds when the list was created.\n- ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an allowlist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"get_single_allowlist_v1_allowlist_public__allowlist_id__get","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the details of the allowlist.","tags":["Allowlist data query and management"]},"put":{"description":"### What\nChange the status of an allow list to ``ACTIVE`` or ``INACTIVE``. An ``INACTIVE`` list will not be used by the service. An ``ACTIVE`` list will be used by the service. As an optional parameter it can be provided an ``expiry`` date in seconds since epoch. If not provided, the list will never expire.\n\n This is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the allow list to change the status.\nIn the body the JSON object with the following fields:\n- ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE``.\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the expiry is not a valid timestamp, it will return a 422 error.\nIf the allow list is not a valid UUID, it will return a 422 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_allowlist_v1_allowlist_public__allowlist_id__put","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_allowlist_v1_allowlist_public__allowlist_id__put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of an allow list.","tags":["Allowlist data query and management"]}},"/v1/allowlist/public/{allowlist_id}/origin":{"put":{"description":"### What\nChange the status of the origin of an allow list to ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\nAn ``ACTIVE`` origin will apply the allow list to the protocol and domain of the origin. An origin can be created and activated simply toogling the ``ACTIVE`` status. As an optional parameter it can be provided an ``ttl`` or Time To Live parameter of the origin in the list in seconds. After the TTL expires, the origin will be removed from the list.  If the TTL is not provided, the origin will never expire.\n\nAn ``INACTIVE`` origin will not apply the allow list to the protocol and domain of the origin.\n\nA ``DELETED`` origin will be removed from the list. It will not be used by the service anymore. The user can activate it again with the ``ACTIVE`` status.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n*This operation is not available in the Freemium plan.*\n\n### Parameters\nIn the query string the ID of the allow list to change the status.\nIn the body the JSON object with the following fields:\n- ``origin``: The protocol and domain of the origin. It can be ``http://example.com`` or ``https://example.com``.\n- ``status``: The status of the list. It can be ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the TTL is negative in the past, it will return a 422 error.\nIf the allow list is not a valid UUID, it will return a 422 error.\nIf the origin is not a valid URL, it will return a 400 error.\nIf the allowlist is not active, it will returna 409 error.\nIf the origin is not found in the set owned by the user, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_origin_allowlist_v1_allowlist_public__allowlist_id__origin_put","parameters":[{"in":"path","name":"allowlist_id","required":true,"schema":{"format":"uuid","title":"Allowlist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_origin_allowlist_v1_allowlist_public__allowlist_id__origin_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of the origin in an allow list.","tags":["Allowlist data query and management"]}},"/v1/asn/ip/{ip_address}":{"get":{"description":"### What\nObtain the IPv4 or IPv6 prefix and the Autonomous System information of the IP address passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``ip_address``: (Mandatory) The IPv4 or IPv6 address to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual IPv4 prefix.\n- ``asn``: the URI to query the full details of the ASN.\n- ``object_type``: the type of the prefix. The allowed values are: IPv4 or IPv6.\n- ``maintainer``: the information about the maintainer of this prefix in the registry.\n- ``description``: the description of the prefix as registered in the registry.\n- ``registry_date``: the date of registration of the prefix in the registry. The format is YYYY-MM-DD.\n- ``registry_status``: the URI of the status of the prefix as stored in the registry.\n- ``score``: The risk score of the prefix. It ranges from 0 to 99.\n- ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the prefix information was not found.\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_IP_address_network_information_v1_asn_ip__ip_address__get","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemPrefixOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the IPv4 or IPv6 prefix of the IP address given.","tags":["Autonomous Systems information"]}},"/v1/asn/prefix":{"post":{"description":"### What\nObtain the IPv4 or IPv6 prefix and the Autonomous System information of the CIDR passed in the body as a POST method. This endpoint works around the problem of passing '/' addresses in the URI.\n\n### Parameters\nThe endpoint accepts only the following parameter in the body as a JSON object:\n- ``prefix``: (Mandatory) The CIDR v4 or v6 to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual IPv4 prefix.\n- ``asn``: the URI to query the full details of the ASN.\n- ``object_type``: the type of the prefix. The allowed values are: IPv4 or IPv6.\n- ``maintainer``: the information about the maintainer of this prefix in the registry.\n- ``description``: the description of the prefix as registered in the registry.\n- ``registry_date``: the date of registration of the prefix in the registry. The format is YYYY-MM-DD.\n- ``registry_status``: the URI of the status of the prefix as stored in the registry.\n- ``score``: The risk score of the prefix. It ranges from 0 to 99.\n- ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the prefix information was not found.\n- a `422 Unprocessable Entity` error if the CIDR is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_asn_prefix_information_v1_asn_prefix_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_query_asn_prefix_information_v1_asn_prefix_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemPrefixOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the IPv4 or IPv6 prefix of the CIDR given.","tags":["Autonomous Systems information"]}},"/v1/asn/registry/all":{"get":{"description":"### What\nObtain the list of Regional Internet Registries (RIRs) entities worldwide.\n\n### Parameters\nNo parameters are required.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual RIR.\n- ``name``: the RIR name.\n- ``code``: the internal code of the RIR in the system. Possible values are: iana, arin, ripencc, afrinic, apnic, lacnic.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_registry_names_v1_asn_registry_all_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AutonomousSystemRegistryOutput"},"title":"Response Query Registry Names V1 Asn Registry All Get","type":"array"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of the Regional Internet Registries (RIRs) entities worldwide.","tags":["Autonomous Systems information"]}},"/v1/asn/registry/{code}":{"get":{"description":"### What\nObtain the information about the Regional Internet Registries (RIRs) given as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the RIR. Possible values are: iana, arin, ripencc, afrinic, apnic, lacnic.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual RIR.\n- ``name``: the RIR name.\n- ``code``: the internal code of the RIR in the system.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_registry_by_the_name_v1_asn_registry__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"enum":["iana","arin","ripencc","afrinic","apnic","lacnic"],"title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemRegistryOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of a Regional Internet Registries (RIRs) given.","tags":["Autonomous Systems information"]}},"/v1/asn/status/all":{"get":{"description":"### What\nObtain the list of status of an object can be in a registry.\n\n### Parameters\nNo parameters are required.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``name``: the code name.\n- ``code``: the internal code of the status in the system. Possible values are: assigned, reserved, allocated, available.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_status_names_v1_asn_status_all_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AutonomousSystemStatusOutput"},"title":"Response Query Status Names V1 Asn Status All Get","type":"array"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of status of an object in a registry.","tags":["Autonomous Systems information"]}},"/v1/asn/status/{code}":{"get":{"description":"### What\nObtain the information about the status of an object in the registry as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the status in the registry. Possible values are: assigned, reserved, allocated, available.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual status.\n- ``name``: the human readable name of the status.\n- ``code``: the internal code of the status in the system.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_status_by_the_name_v1_asn_status__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"enum":["assigned","reserved","available","allocated"],"title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemStatusOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of a status given.","tags":["Autonomous Systems information"]}},"/v1/asn/{number}":{"get":{"description":"### What\nObtain the full details of the Autonomous System Number (ASN) passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``number``: (Mandatory) The ASN number to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``name``: the name of the Autonomous System as registered in the registries databases.\n- ``description``: the description of the Autonomous System as registered in the registries databases.\n- ``country_code``: the ISO 3166-1 alpha-2 country code of the Autonomous System.\n- ``registry_date``: the date of registration of the Autonomous System in the registry. The format is YYYY-MM-DD.\n- ``registry``: the URI of the registry where the Autonomous System is registered.\n- ``status``: the status of the Autonomous System as stored in the registry.\n- ``prefixes``: the URI to the list of prefixes that belong to the Autonomous System.\n- ``score``: The risk score of the Autonomous System. It ranges from 0 to 99.\n- ``risk``: The risk of the Autonomous System. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the AS was not found.\n- a `422 Unprocessable Entity` error if the AS number is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_asn_v1_asn__number__get","parameters":[{"in":"path","name":"number","required":true,"schema":{"title":"Number","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the Autonomous System details of the AS number given.","tags":["Autonomous Systems information"]}},"/v1/asn/{number}/prefixes":{"get":{"description":"### What\nObtain the full list of IPv4 and IPv6 prefixes of the Autonomous System Number (ASN) passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``number``: (Mandatory) The ASN number to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``asn``: the URI to query the full details of the ASN.\n- ``prefixes_v4``: the list of IPv4 prefixes that belong to the ASN. Each element of the list is a JSON object with the following structure:\n    - ``self``: the URI to individual IPv4 prefix.\n    - ``asn``: the URI to query the full details of the ASN.\n    - ``object_type``: the type of the prefix. The allowed values are: IPv4.\n    - ``maintainer``: the information about the maintainer of this prefix in the registry.\n    - ``description``: the description of the prefix as registered in the registry.\n    - ``registry_date``: the date of registration of the prefix in the registry. The format is YYYY-MM-DD.\n    - ``registry_status``: the URI of the status of the prefix as stored in the registry.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n- ``prefixes_v6``: the list of IPv6 prefixes that belong to the ASN. Each element of the list is a JSON object with the following structure:\n    - ``self``: the URI to individual IPv6 prefix.\n    - ``asn``: the URI to query the full details of the ASN.\n    - ``object_type``: the type of the prefix. The allowed values are: IPv6.\n    - ``maintainer``: the information about the maintainer of this prefix in the registry.\n    - ``description``: the description of the prefix as registered in the registry.\n    - ``registry_date``: the date of registration of the prefix in the registry. The format is YYYY-MM-DD.\n    - ``registry_status``: the URI of the status of the prefix as stored in the registry.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the AS was not found.\n- a `422 Unprocessable Entity` error if the AS number is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_asn_prefixes_list_v1_asn__number__prefixes_get","parameters":[{"in":"path","name":"number","required":true,"schema":{"title":"Number","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomousSystemPrefixesOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of IPv4 and IPv6 prefixes of the AS number given.","tags":["Autonomous Systems information"]}},"/v1/assess/ip":{"post":{"description":"### What\nObtain a numerical score and a risk assessment of all the IP addresses passed as argument.\n\n### Parameters\nA list of public IPv4 or IPv6 addresses is required in the body of the request.\n\n### Result\nThe result contains a list of the result for each IP address, with two main sets of data:\n- The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n- The list of information gathered from the IP address to obtain the score.\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``score``: The score of the IP address. It ranges from 0 to 99.\n- ``risk``: The risk of the IP address. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n- ``reason``: It's a human readable representation of the reason of the risk.\n- ``datasets``: The IP address was found in the these lists of datasets used to obtain the risk score. Datasets are described as a list of URIs.\n- ``sources``: The IP address was found in the these source lists at an specific time with a specific risk score. Sources are described as a list of URIs.\n- ``log``: The activity of the IP address in the different datasets used to obtain the risk score. The log is a URI reference.\n- ``asn``: The information about the Autonomous System (AS) of the IP address. The AS is described as an URI.\n- ``asn_prefix``: The information about the Autonomous System (AS) network prefix of the IP address. The prefix is described as an URI.\n- ``datacenter``: If the IP address is part of a datacenter pool, the information about the datacenter is described as an URI.\n- ``datacenter_prefix``: The information about the Datacenter network prefix of the IP address. The `asn_prefix` and `datacenter_prefix` can be the same, but it is not mandatory. The prefix is described as an URI.\n- ``denylisted``: If the IP address was denylisted by the user, the information about the denylisted IP address is described as an URI.\n- ``first_appearence``: URI to the first appearance of the IP address in the different datasets used to obtain the risk score.\n- ``last_appearence``: URI to the last appearance of the IP address in the different datasets used to obtain the risk score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nThe private IP addresses will be ignored, if any.\n\nIt will also return the API Global errors described in the API description.","operationId":"assess_ip_set_v1_assess_ip_post","requestBody":{"content":{"application/json":{"schema":{"items":{"format":"ipvanyaddress","type":"string"},"maxItems":500,"minItems":1,"title":"Addresses","type":"array","uniqueItems":true}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAssessmentCollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the risk score of all IP address passed in the body and other data signals.","tags":["Data assessment"]}},"/v1/assess/ip/csv":{"post":{"description":"### What\nObtain a numerical score and a risk assessment of all the IP addresses uploaded with a text file.\n\n### Parameters\n- A text file with a list of public IPv4 or IPv6 addresses.\n- A header `Content-Type: multipart/form-data` is required.\n- (optional) in the query string the parameeter `strict_parse`: If set to `true`, no malformed IP addresses allowed, returning an error. If set to `false`, malformed IP addresses will be ignored.\n\nExample:\n```\ncurl -X 'POST' \\\n  'https://dublin.api.threatjammer.com/v1/asses/ip/csv[?strict_parse=true|false]' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: multipart/form-data' \\\n  -F 'csv_file=@YOUR_TEXT_FILE;type=text/csv'\n```\n\n### Result\nThe result contains a list of the result for each IP address, with two main sets of data:\n- The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n- The list of information gathered from the IP address to obtain the score.\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``score``: The score of the IP address. It ranges from 0 to 99.\n- ``risk``: The risk of the IP address. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n- ``reason``: It's a human readable representation of the reason of the risk.\n- ``datasets``: The IP address was found in the these lists of datasets used to obtain the risk score. Datasets are described as a list of URIs.\n- ``sources``: The IP address was found in the these source lists at an specific time with a specific risk score. Sources are described as a list of URIs.\n- ``log``: The activity of the IP address in the different datasets used to obtain the risk score. The log is a URI reference.\n- ``asn``: The information about the Autonomous System (AS) of the IP address. The AS is described as an URI.\n- ``asn_prefix``: The information about the Autonomous System (AS) network prefix of the IP address. The prefix is described as an URI.\n- ``datacenter``: If the IP address is part of a datacenter pool, the information about the datacenter is described as an URI.\n- ``datacenter_prefix``: The information about the Datacenter network prefix of the IP address. The `asn_prefix` and `datacenter_prefix` can be the same, but it is not mandatory. The prefix is described as an URI.\n- ``denylisted``: If the IP address was denylisted by the user, the information about the denylisted IP address is described as an URI.\n- ``first_appearence``: URI to the first appearance of the IP address in the different datasets used to obtain the risk score.\n- ``last_appearence``: URI to the last appearance of the IP address in the different datasets used to obtain the risk score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nThe private IP addresses will be ignored, if any.\n\nWhen the `strict_parse` parameter is set to `true`, the endpoint will return the following errors:\n- a `400 Bad Request`.\n\nIt will also return the API Global errors described in the API description.","operationId":"assess_ip_set_csv_v1_assess_ip_csv_post","parameters":[{"description":"When `true`, if any IP address entry in the file is malformed, the assessment is canceled. If `false`, the malformed IP addresses are ignored. Default is `false`.","in":"query","name":"strict_parse","required":false,"schema":{"default":false,"description":"When `true`, if any IP address entry in the file is malformed, the assessment is canceled. If `false`, the malformed IP addresses are ignored. Default is `false`.","title":"Strict Parse","type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_assess_ip_set_csv_v1_assess_ip_csv_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAssessmentCollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the risk score of all IP address uploaded and other data signals.","tags":["Data assessment"]}},"/v1/assess/ip/{ip_address}":{"get":{"description":"### What\nObtain a numerical score and a risk assessment of the IP address passed as argument.\n\n### Parameters\nThe only argument accepted in the query string is a public IPv4 or IPv6 addresses.\n\n### Result\nThe result contains two main sets of data:\n- The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n- The list of information gathered from the IP address to obtain the score.\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``score``: The score of the IP address. It ranges from 0 to 99.\n- ``risk``: The risk of the IP address. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n- ``reason``: It's a human readable representation of the reason of the risk.\n- ``datasets``: The IP address was found in the these lists of datasets used to obtain the risk score. Datasets are described as a list of URIs.\n- ``sources``: The IP address was found in the these source lists at an specific time with a specific risk score. Sources are described as a list of URIs.\n- ``log``: The activity of the IP address in the different datasets used to obtain the risk score. The log is a URI reference.\n- ``asn``: The information about the Autonomous System (AS) of the IP address. The AS is described as an URI.\n- ``asn_prefix``: The information about the Autonomous System (AS) network prefix of the IP address. The prefix is described as an URI.\n- ``datacenter``: If the IP address is part of a datacenter pool, the information about the datacenter is described as an URI.\n- ``datacenter_prefix``: The information about the Datacenter network prefix of the IP address. The `asn_prefix` and `datacenter_prefix` can be the same, but it is not mandatory. The prefix is described as an URI.\n- ``denylisted``: If the IP address was denylisted by the user, the information about the denylisted IP address is described as an URI.\n- ``first_appearence``: URI to the first appearance of the IP address in the different datasets used to obtain the risk score.\n- ``last_appearence``: URI to the last appearance of the IP address in the different datasets used to obtain the risk score.\n\n### Errors\nThe endpoint will return the following errors:\n- a `400 Bad Request` error if the IP address is not public.\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"assess_ip_v1_assess_ip__ip_address__get","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAssessmentOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get a risk score of the IP address and different data signals.","tags":["Data assessment"]}},"/v1/datacenter/ip/{ip_address}":{"get":{"description":"### What\nObtain the IPv4 or IPv6 prefix and the Datacenter information of the IP address passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``ip_address``: (Mandatory) The IPv4 or IPv6 address to be queried.\n\n### Result\n- The result is a JSON object with the following structure:\n    - ``self``: the URI to individual IPv4 prefix.\n    - ``datacenter_id``: the URI to query the full details of the Datacenter.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n    - ``min_score``: The minimum risk score of the prefix. It ranges from 0 to 99.\n    - ``max_score``: The maximum risk score of the prefix. It ranges from 0 to 99.\n    - ``ip_abuse_total``: The total number of IPs that have been reported as abuse in the range.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the prefix information was not found.\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_IP_address_network_information_v1_datacenter_ip__ip_address__get","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatacenterPrefixOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the IPv4 or IPv6 prefix of the IP address given.","tags":["Datacenter information"]}},"/v1/datacenter/prefix":{"post":{"description":"### What\nObtain the IPv4 or IPv6 prefix and the Datacenter information of the CIDR passed in the body as a POST method. This endpoint works around the problem of passing '/' addresses in the URI.\n\n### Parameters\nThe endpoint accepts only the following parameter in the body as a JSON object:\n- ``prefix``: (Mandatory) The CIDR v4 or v6 to be queried.\n\n### Result\n- The result is a JSON object with the following structure:\n    - ``self``: the URI to individual IPv4 prefix.\n    - ``datacenter_id``: the URI to query the full details of the Datacenter.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n    - ``min_score``: The minimum risk score of the prefix. It ranges from 0 to 99.\n    - ``max_score``: The maximum risk score of the prefix. It ranges from 0 to 99.\n    - ``ip_abuse_total``: The total number of IPs that have been reported as abuse in the range.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the prefix information was not found.\n- a `422 Unprocessable Entity` error if the CIDR is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_datacenter_prefix_information_v1_datacenter_prefix_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_query_datacenter_prefix_information_v1_datacenter_prefix_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatacenterPrefixOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the IPv4 or IPv6 prefix of the CIDR given.","tags":["Datacenter information"]}},"/v1/datacenter/{datacenter_id}":{"get":{"description":"### What\nObtain the details of the Datacenter ID passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``datacenter_id``: (Mandatory) The internal Datacenter ID to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``name``: the generic name of the Datacenter. The database takes the name from different sources, so it may be different from the real name.\n- ``description``: a full name of the Datacenter. It contains more details about the Datacenter.\n- ``source``: website of the company that owns the Datacenter.\n- ``asn``: the URI to the ASN of the Datacenter.\n- ``status``: the status of the Datacenter. It can be: `enabled` or `disabled`.\n- ``prefixes``: the URI to the list of prefixes that belong to the Datacenter.\n- ``score``: The risk score of the Datacenter. It ranges from 0 to 99.\n- ``risk``: The risk of the Datacenter. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the Datacenter was not found.\n- a `422 Unprocessable Entity` error if the Datacenter is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_datacenter_v1_datacenter__datacenter_id__get","parameters":[{"in":"path","name":"datacenter_id","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Datacenter Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatacenterOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the Datacenter details of datacente given.","tags":["Datacenter information"]}},"/v1/datacenter/{datacenter_id}/prefixes":{"get":{"description":"### What\nObtain the full list of IPv4 and IPv6 prefixes of the Datacenter passed as a parameter.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``datacenter_id``: (Mandatory) The internal Datacenter ID to be queried.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``datacenter_id``: the URI to query the full details of the Datacenter.\n- ``prefixes_v4``: the list of IPv4 prefixes that belong to the Datacenter. Each element of the list is a JSON object with the following structure:\n\n    - ``self``: the URI to individual IPv4 prefix.\n    - ``datacenter_id``: the URI to query the full details of the Datacenter.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n    - ``min_score``: The minimum risk score of the prefix. It ranges from 0 to 99.\n    - ``max_score``: The maximum risk score of the prefix. It ranges from 0 to 99.\n    - ``ip_abuse_total``: The total number of IPs that have been reported as abuse in the range.\n\n- ``prefixes_v6``: the list of IPv6 prefixes that belong to the Datacenter. Each element of the list is a JSON object with the following structure:\n\n    - ``self``: the URI to individual IPv4 prefix.\n    - ``datacenter_id``: the URI to query the full details of the Datacenter.\n    - ``score``: The risk score of the prefix. It ranges from 0 to 99.\n    - ``risk``: The risk of the prefix. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n    - ``min_score``: The minimum risk score of the prefix. It ranges from 0 to 99.\n    - ``max_score``: The maximum risk score of the prefix. It ranges from 0 to 99.\n    - ``ip_abuse_total``: The total number of IPs that have been reported as abuse in the range.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if the Datacenter was not found.\n- a `422 Unprocessable Entity` error if the Datacenter number is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_datacenter_prefixes_list_v1_datacenter__datacenter_id__prefixes_get","parameters":[{"in":"path","name":"datacenter_id","required":true,"schema":{"title":"Datacenter Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatacenterPrefixesOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of IPv4 and IPv6 prefixes of the Datacenter given.","tags":["Datacenter information"]}},"/v1/dataset/ip":{"get":{"description":"### What\nObtain the list of all the datasets available in the platform. A dataset is a collection of different data sources that are related to a specific topic. The name of the dataset describes the specific topic.\n\n### Parameters\nNo parameters are required.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``types``: a list of JSON objects with the following fields:\n    - ``self``: the URI to individual dataset information.\n    - ``type``: what type of dataset is this. The only allowed value is ``ip``.\n    - ``name``: the name of the dataset in human readable form.\n    - ``description``: a human readable long description of the dataset.\n    - ``status``: the status of the dataset. The only allowed value is ``ENABLED``.\n    - ``items``: the number of 'live' items in the dataset when the request is performed.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_datataset_information_of_all_the_resource_types_v1_dataset_ip_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetTypeCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of all the datasets available in the platform.","tags":["Platform datasets"]}},"/v1/dataset/ip/{name}":{"get":{"description":"### What\nGet the detailed information of the dataset queried by the name. A dataset is a collection of different data sources that are related to a specific topic. The name of the dataset describes the specific topic.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``name``: (Mandatory) The code name that identifies uniquely the dataset in the platform. It must be composed of uppercase letters, numbers and underscores.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual dataset information.\n- ``type``: what type of dataset is this. The only allowed value is ``ip``.\n- ``name``: the name of the dataset in human readable form.\n- ``description``: a human readable long description of the dataset.\n- ``status``: the status of the dataset. The only allowed value is ``ENABLED``.\n- ``items``: the number of 'live' items in the dataset when the request is performed.\n\n### Errors\n- a `404 Not Found` error if the dataset code name was not found.\n- a `422 Unprocessable Entity` error if dataset code name does not follow the naming convention.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_datataset_information_of_the_resource_type_v1_dataset_ip__name__get","parameters":[{"in":"path","name":"name","required":true,"schema":{"pattern":"^([A-Z0-9\\_]+)$","title":"Name","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetTypeOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the detailed information of the dataset queried.","tags":["Platform datasets"]}},"/v1/denylist/private":{"post":{"description":"### What\nCreates a new denylist with the information given and binded to the current user. The parameters are:\n - name\n - description\n - tags\n - expiry\n - Time to Live (TTL)\n - Resource Type (`CIDR`, `AS`, `COUNTRY`, `CONTINENT`, `DATACENTER_ID` and `USER AGENT`)\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will immediately return a 202 Accepted response. The operation will also return the UUID of the list.\n\n### Parameters\nIn the query string the ID of the private deny list to delete.\n\nIn the body the following parameters:\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``tags``: A list of tags that describe the list.\n- ``ttl``: (Optional) The Time To Live of the list, in seconds. If it does not exist, it will never expire.\n- ``resource_type``: The type of resource that the list contains. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT``,    ``DATACENTER_ID`` or ``USER AGENT``.\n\n### Result\nIt should always return a 202 Accepted response with the UUID of the new list in the body.\n\n### Errors\n\n- If the information is not valid, it will return a `422` (Unprocessable Entity) error.\n- If the ttl is negative, it will return a `400` (Bad Request) error.\n\nIt will return the API Global errors described in the API description.","operationId":"create_private_denylist_of_the_user_v1_denylist_private_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_private_denylist_of_the_user_v1_denylist_private_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"format":"uuid","title":"Response Create Private Denylist Of The User V1 Denylist Private Post","type":"string"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Creates a new private denylist binded to the user.","tags":["Denylist data query and management"]}},"/v1/denylist/private/all":{"get":{"description":"### What\nObtain the set of private deny lists of the user available in the service. These lists are different datasets:\n- Lists that are part of the automatically reported data from the Report IP, focused on honeypots and automaticreporting from external sources. The name is `External sources reported CIDRs`.\n- Lists that are part of the automatically denylisted by the Threat Jammer service. The name is `Default denylist`.\n- Lists that are created by the user.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as a denylist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_private_denylists_v1_denylist_private_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of private denylists of the user.","tags":["Denylist data query and management"]}},"/v1/denylist/private/all/{resource_type}":{"get":{"description":"### What\nObtain the set of private deny lists of the user available in the service filtering by resource type. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``\n\n These lists are different datasets:\n- Lists that are part of the automatically reported data from the Report IP, focused on honeypots and automaticreporting from external sources. The name is `External sources reported CIDRs`. The resource type is ``CIDR``.\n- Lists that are part of the automatically denylisted by the Threat Jammer service. The name is `Default denylist`. The resource type is ``CIDR``.\n- Lists that are created by the user.\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as a denylist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\n- If the resource type is not valid, it will return a ``422`` (Unprocessable Entity) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_all_private_denylists_by_resource_type_v1_denylist_private_all__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of private denylists of the user by resource type.","tags":["Denylist data query and management"]}},"/v1/denylist/private/ip/{address}":{"get":{"description":"### What\nObtain the list of all the different denylists where the IP address entered by the user. The denylisted forbidden datasets are the ones submitted manually by the user from files or indidual items.\n\n### Parameters\nThe endpoint accepts the `address` parameter as query string.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``cidrs``: the URI of the lists of CIDRs where the IP was found.\n- ``country``: the URIs where the lists of countries where the IP address was found\n- ``continent``: the URI where the continent where the IP address was found.\n- ``asn``: the URIs where the list of continents of the ASN where the IP address was found.\n- ``datacenter``: the URIs of the lists of datacenters where the IP address was found. If not found, the result is an empty string.\n- ``reported``: the URI of the information of the IP address reported by the user.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address was malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_resource_denylists_v1_denylist_private_ip__address__get","parameters":[{"in":"path","name":"address","required":true,"schema":{"anyOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"title":"Address"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the different denylists where the IP address was found.","tags":["Denylist data query and management"]}},"/v1/denylist/private/{denylist_id}":{"delete":{"description":"### What\nDelete all the bindings between a user and a private denylist. This will remove the content of the denylist, the denylist from the user and also all the origins that are using the denylist.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request willimmediately return a 202 Accepted response.\n\nThe default lists ``External sources reported CIDRs`` and ``Default denylist`` cannot be deleted, but can be emptied. Please refer to the documentation to delete the content.\n\n### Parameters\nIn the query string the ID of the private deny list to delete.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\n- If the list does not exist, it will return a `404` (Not found) error.\n- If the list is a default list, it will return a `403` (Forbidden) error.\n- If the deny list is not a valid UUID, it will return a `422` (Unprocessable Entity) error.\n\nIt will return the API Global errors described in the API description.","operationId":"delete_the_denylist_v1_denylist_private__denylist_id__delete","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the bindings between a user and a private denylist.","tags":["Denylist data query and management"]},"get":{"description":"### What\nObtain the details of the private deny list of the user available in the service.\n\n### Parameters\nPass the private denylist ID as query parameter.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to individual information of the list.\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n- ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n- ``created_at``: Unix timestamp in seconds when the list was created.\n- ``updated_at``: Unix timestamp in seconds when the list was updated.\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as a denylist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED`` it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\n- If the deny list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private denylist ID does not exist, it will return a ``404`` (Not found) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_single_denylist_v1_denylist_private__denylist_id__get","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclGroupListOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the details of a specific private denylist of the user.","tags":["Denylist data query and management"]},"put":{"description":"### What\nUpdates the information that describes the denylist of the user in the system. The parameters that can be modified are:\n - name\n - description\n - tags\n - expiry\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will immediately return a 202 Accepted response.\n\nThe default lists ``External sources reported CIDRs`` and ``Default denylist`` cannot be updated.\n\n### Parameters\nIn the query string the ID of the private deny list to delete.\n\nIn the body the following parameters:\n- ``name``: (Optional) A human readable name of the list.\n- ``description``: (Optional) A long detailed information about what the list contains and how it is used.\n- ``tags``: (Optional) A list of tags that describe the list.\n- ``expiry``: (Optional) Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\n- If the list does not exist, it will return a `404` (Not found) error.\n- If the list is a default list, it will return a `403` (Forbidden) error.\n- If the deny list is not a valid UUID, it will return a `422` (Unprocessable Entity) error.\n- If the expiry is not a valid timestamp, it will return a `422` (Unprocessable Entity) error.\n- If the expiry is in the past, it will return a `400` (Bad Request) error.\n- If the name is not a string, it will return a `422` (Unprocessable Entity) error.\n- If the description is not a string, it will return a `422` (Unprocessable Entity) error.\n\nIt will return the API Global errors described in the API description.","operationId":"update_private_denylist_of_the_user_v1_denylist_private__denylist_id__put","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_private_denylist_of_the_user_v1_denylist_private__denylist_id__put"}}}},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Update the information of an existing private denylist of the user.","tags":["Denylist data query and management"]}},"/v1/denylist/private/{denylist_id}/content":{"delete":{"description":"### What\nDelete all the content of a private denylist of the user. This will remove all the elements, and there is no way to recover them.\n\n### Parameters\nPass the private denylist ID as query parameter.\n\n### Result\nIf successful, it will return a ``202`` (Accepted) response with an empty body. The operation is asynchronous,and can take several seconds to complete.\n\n### Errors\n\n- If the deny list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private denylist ID does not exist, it will return a ``404`` (Not found) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"delete_the_denylist_content_v1_denylist_private__denylist_id__content_delete","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the content of a private denylist of the user.","tags":["Denylist data query and management"]},"get":{"description":"### What\nReturns the content of the private denylist of the user. The content can be CIDRs, ASNs, countries, continents or    datacenter IDs.\n\n### Parameters\nPass the private denylist ID as query parameter.\n\nThe following pagination parameters are required as query string parameters:\n- ``page``: (Optional) the page number to retrieve. The first page is 1. Default is 1.\n- ``page_size``: (Optional) the number of items per page. Default is 20.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the content of the list.\n- ``cidrs``: (Optional) list of CIDRs in the list.\n- ``asns``: (Optional) list of ASNs in the list.\n- ``countries``: (Optional) list of countries in the list.\n- ``continents``: (Optional) list of continents in the list.\n- ``datacenters``: (Optional) list of datacenters in the list.\n\n### Errors\n\n- If the deny list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private denylist ID does not exist, it will return a ``404`` (Not found) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"get_denylist_content_v1_denylist_private__denylist_id__content_get","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}},{"description":"The page to be returned","in":"query","name":"page","required":false,"schema":{"default":1,"description":"The page to be returned","title":"Page number","type":"integer","x-min":1}},{"description":"The number of items per page","in":"query","name":"page_size","required":false,"schema":{"default":20,"description":"The number of items per page","title":"Page size","type":"integer","x-max":100,"x-min":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateAclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the content of a private denylist of the user.","tags":["Denylist data query and management"]},"put":{"description":"### What\nAdd or remove content of a private denylist of the user. The content can be CIDRs, ASNs, countries, continents or datacenter IDs.\n\n The number of elements allowed in all the lists are limited depending on the plan of the user:\n- Free: 100 elements\n- Basic: 1000 elements\n- Pro: 10000 elements\n\n### Parameters\nPass the private denylist ID as query parameter.\n\nIn the body the following parameters:\n- ``append``: (Optional) Add CIDRs, ASNs, countries, continents or datacenter IDs to add to the list. It's not possible to mix different resource types in the same list.\n- ``remove``: (Optional) Extract CIDRs, ASNs, countries, continents or datacenter IDs to add to the list. It's not possible to mix different resource types in the same list.\n\n\n### Result\nIf successful, it will return a ``202`` (Accepted) response with an empty body. The operation is asynchronous,and can take several seconds to complete.\n\n### Errors\n\n- If the deny list is not a valid UUID, it will return a ``422`` (Unprocessable Entity) error.\n- If the private denylist ID does not exist, it will return a ``404`` (Not found) error.\n- If the ``append`` or ``remove`` parameters are not processable, it will return a ``422`` (Unprocessable Entity) error.\n- If the number of elements in the lists is over the limit, it will return a ``413`` (Payload Too Large) error.\n\nIt will also return the API Global errors described in the API description.","operationId":"update_private_content_of_the_denylist_of_the_user_v1_denylist_private__denylist_id__content_put","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_private_content_of_the_denylist_of_the_user_v1_denylist_private__denylist_id__content_put"}}}},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Add or remove content of a private denylist of the user.","tags":["Denylist data query and management"]}},"/v1/denylist/private/{denylist_id}/origin":{"put":{"description":"### What\nChange the status of the origin of a deny list to ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\nAn ``ACTIVE`` origin will apply the deny list to the protocol and domain of the origin. An origin can be created and activated simply toogling the ``ACTIVE`` status. As an optional parameter it can be provided an ``ttl`` or Time To Live parameter of the origin in the list in seconds. After the TTL expires, the origin will be removed from the list.  If the TTL is not provided, the origin will never expire.\n\nAn ``INACTIVE`` origin will not apply the deny list to the protocol and domain of the origin.\n\nA ``DELETED`` origin will be removed from the list. It will not be used by the service anymore. The user can activate it again with the ``ACTIVE`` status.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n*This operation is not available in the Freemium plan.*\n\n### Parameters\nIn the query string the ID of the deny list to change the status.\nIn the body the JSON object with the following fields:\n- ``origin``: The protocol and domain of the origin. It can be ``http://example.com`` or ``https://example.com``.\n- ``status``: The status of the list. It can be ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the TTL is negative in the past, it will return a 422 error.\nIf the deny list is not a valid UUID, it will return a 422 error.\nIf the origin is not a valid URL, it will return a 400 error.\nIf the denylist is not active, it will returna 409 error.\nIf the origin is not found in the set owned by the user, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_origin_denylist_v1_denylist_private__denylist_id__origin_put","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_origin_denylist_v1_denylist_private__denylist_id__origin_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of the origin in a deny list.","tags":["Denylist data query and management"]}},"/v1/denylist/public/all":{"get":{"description":"### What\nObtain the set of public deny lists available in the service and also which ones are already selected by the user and wich ones are not.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as an denylist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``        it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_public_denylists_v1_denylist_public_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public denylists.","tags":["Denylist data query and management"]}},"/v1/denylist/public/all/{resource_type}":{"get":{"description":"### What\nObtain the set of public deny lists available in the service and also which ones are already selected by the user and wich ones are not filtering by the resource type.\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n- ``origins``: list of websites that are using the list as an denylist.\n    - ``self``: the URI to all the list of origins.\n    - ``lists``: list of lists that the origin is using.\n        - ``self``: the URI to the individual information of the list.\n        - ``origin``: the protocol and domain of the website that is using the list.\n        - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``        it means that the list is not available anymore if not renewed.\n        - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n        - ``created_at``: Unix timestamp in seconds when the list was created.\n        - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_public_denylists_by_resource_type_v1_denylist_public_all__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public denylists by resource type.","tags":["Denylist data query and management"]}},"/v1/denylist/public/ip/{address}":{"get":{"description":"### What\nObtain the list of all the different public denylists where the IP address entered by the user is. The public denylists are the ones activated by the user, but managed by Threatjammer administrators.\n\n### Parameters\nThe endpoint accepts the `address` parameter as query string.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``cidrs``: the URI of the lists of CIDRs where the IP was found.\n- ``country``: the URIs where the lists of countries where the IP address was found\n- ``continent``: the URI where the continent where the IP address was found.\n- ``asn``: the URIs where the list of continents of the ASN where the IP address was found.\n- ``datacenter``: the URIs of the lists of datacenters where the IP address was found. If not found, the result is an empty string.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address was malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_resource_denylists_v1_denylist_public_ip__address__get","parameters":[{"in":"path","name":"address","required":true,"schema":{"anyOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"title":"Address"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AclListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the different public denylists where the IP address was found.","tags":["Denylist data query and management"]}},"/v1/denylist/public/owned":{"get":{"description":"### What\nObtain the set of public deny lists available in the service selected by the user.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an denylist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_public_denylists_owned_by_the_user_v1_denylist_public_owned_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of owned denylists.","tags":["Denylist data query and management"]}},"/v1/denylist/public/owned/{resource_type}":{"get":{"description":"### What\nObtain the set of public deny lists selected by the user and wich ones are not filtering by the resource type.\n\n### Parameters\nThe ``resource type`` to filter. The values can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to the status of all the lists.\n- ``lists``: a list of JSON objects with the available lists:\n    - ``self``: the URI to individual information of the list.\n    - ``name``: A human readable name of the list.\n    - ``description``: A long detailed information about what the list contains and how it is used.\n    - ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n    - ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n    - ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``    it means that the list is not available anymore if not renewed.\n    - ``created_at``: Unix timestamp in seconds when the list was created.\n    - ``updated_at``: Unix timestamp in seconds when the list was updated.\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an denylist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIt will return the API Global errors described in the API description.","operationId":"get_all_owned_denylists_by_resource_type_v1_denylist_public_owned__resource_type__get","parameters":[{"in":"path","name":"resource_type","required":true,"schema":{"enum":["cidr","country","continent","as","datacenter","useragent"],"title":"Resource Type","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the set of public denylists of a user by resource type.","tags":["Denylist data query and management"]}},"/v1/denylist/public/{denylist_id}":{"delete":{"description":"### What\nDelete all the bindings between a user and an denylist. This will remove the denylist from the user and also all the origins that are using the denylist.\n\n This is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the deny list to change the status.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the deny list is not a valid UUID, it will return a 422 error.\n\nIt will return the API Global errors described in the API description.","operationId":"delete_the_denylist_v1_denylist_public__denylist_id__delete","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the bindings between a user and an denylist.","tags":["Denylist data query and management"]},"get":{"description":"### What\nObtain the details of an deny list available in the service.\n\n### Parameters\nNo parameters\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual information of the list.\n- ``name``: A human readable name of the list.\n- ``description``: A long detailed information about what the list contains and how it is used.\n- ``resource_type``: The type of the list. It can be ``CIDR``, ``AS``, ``COUNTRY``, ``CONTINENT`` or ``DATACENTER_ID``.\n- ``list_type``: The type of the list. It can be ``ALLOW`` or ``DENY``.\n- ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``it means that the list is not available anymore if not renewed.\n- ``created_at``: Unix timestamp in seconds when the list was created.\n- ``updated_at``: Unix timestamp in seconds when the list was updated.\n\nIf the list is already selected by the user, the JSON object will also contain the following fields:\n    - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n    - ``origins``: list of websites that are using the list as an denylist.\n        - ``self``: the URI to all the list of origins.\n        - ``lists``: list of lists that the origin is using.\n            - ``self``: the URI to the individual information of the list.\n            - ``origin``: the protocol and domain of the website that is using the list.\n            - ``status``: the status of the list. It can be ``ACTIVE`` or ``INACTIVE`` or ``EXPIRED``. If the list is ``EXPIRED``            it means that the list is not available anymore if not renewed.\n            - ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n            - ``created_at``: Unix timestamp in seconds when the list was created.\n            - ``updated_at``: Unix timestamp in seconds when the list was updated.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"get_single_denylist_v1_denylist_public__denylist_id__get","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAclGroupListOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the details of the denylist.","tags":["Denylist data query and management"]},"put":{"description":"### What\nChange the status of an deny list to ``ACTIVE`` or ``INACTIVE``. An ``INACTIVE`` list will not be used by the service. An ``ACTIVE`` list will be used by the service. As an optional parameter it can be provided an ``expiry`` date in seconds since epoch. If not provided, the list will never expire.\n\n This is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n### Parameters\nIn the query string the ID of the deny list to change the status.\nIn the body the JSON object with the following fields:\n- ``status``: The status of the list. It can be ``ACTIVE`` or ``INACTIVE``.\n- ``expiry``: Unix timestamp in seconds when the list will expire. If it does not exist, it will never expire.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the expiry is not a valid timestamp, it will return a 422 error.\nIf the deny list is not a valid UUID, it will return a 422 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_denylist_v1_denylist_public__denylist_id__put","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_denylist_v1_denylist_public__denylist_id__put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of an deny list.","tags":["Denylist data query and management"]}},"/v1/denylist/public/{denylist_id}/origin":{"put":{"description":"### What\nChange the status of the origin of a deny list to ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\nAn ``ACTIVE`` origin will apply the deny list to the protocol and domain of the origin. An origin can be created and activated simply toogling the ``ACTIVE`` status. As an optional parameter it can be provided an ``ttl`` or Time To Live parameter of the origin in the list in seconds. After the TTL expires, the origin will be removed from the list.  If the TTL is not provided, the origin will never expire.\n\nAn ``INACTIVE`` origin will not apply the deny list to the protocol and domain of the origin.\n\nA ``DELETED`` origin will be removed from the list. It will not be used by the service anymore. The user can activate it again with the ``ACTIVE`` status.\n\nThis is an asynchronous operation. It can take several seconds until the operation completes, but the request will  immediately return a 202 Accepted response.\n\n*This operation is not available in the Freemium plan.*\n\n### Parameters\nIn the query string the ID of the deny list to change the status.\nIn the body the JSON object with the following fields:\n- ``origin``: The protocol and domain of the origin. It can be ``http://example.com`` or ``https://example.com``.\n- ``status``: The status of the list. It can be ``ACTIVE``, ``INACTIVE`` or ``DELETED``.\n\n### Result\nIt should always return a 202 Accepted response with an empty body.\n\n### Errors\n\nIf the list does not exist, it will return a 404 error.\nIf the status is not ``ACTIVE`` or ``INACTIVE``, it will return a 422 error.\nIf the TTL is negative in the past, it will return a 422 error.\nIf the deny list is not a valid UUID, it will return a 422 error.\nIf the origin is not a valid URL, it will return a 400 error.\nIf the denylist is not active, it will returna 409 error.\nIf the origin is not found in the set owned by the user, it will return a 404 error.\n\nIt will return the API Global errors described in the API description.","operationId":"change_status_of_the_origin_denylist_v1_denylist_public__denylist_id__origin_put","parameters":[{"in":"path","name":"denylist_id","required":true,"schema":{"format":"uuid","title":"Denylist Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_change_status_of_the_origin_denylist_v1_denylist_public__denylist_id__origin_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Toogle the status of the origin in a deny list.","tags":["Denylist data query and management"]}},"/v1/denylist/reported/ip":{"get":{"description":"### What\nObtain the list of all the IPv4 or IPv6 addresses that have been automatically reported by the user. A user can report automatically an IP address with the asynchronous API. The reported IP addresses differ from the ones managed with the endpoint ``/v1/denylist/private/ip/%s``. As a rule of thumb,\n the reported IP addresses are the ones submitted by devices like honeypots, firewalls, log engines, etc. The denylisted IP addresses are the ones submitted manually by the user from files or indidual items.\n\n### Parameters\nThe endpoint accepts the following parameters in the query string:\n- ``dataset``: (Optional) Name of the dataset to filter the query. If not given, then all datasets are queried. If given, then only the changes logged in the given dataset are returned. The list of datasets is obtained from the ``/v1/dataset/ip`` endpoint.\n- ``reported_before``: (Optional) The UNIX timestamp in milliseconds of the earliest reported date to be included in the query. If not given, then the earliest date is current time.\n- ``reported_after``: (Optional) The UNIX timestamp in milliseconds of the oldest reported date to be included in the query. If not given, then the oldest date is the first event logged.\n- ``expires_before``: (Optional) The UNIX timestamp in milliseconds of the earliest expiry date to be included in the query. If not given, then the earliest date is current time.\n- ``expires_after``: (Optional) The UNIX timestamp in milliseconds of the oldest expiry date to be included in the query. If not given, then the oldest date is the first event logged.\n- ``greater_than``: (Optional) Restricts the result displaying only the IP addresses reported more times than the given value. It must be an integer greater than 0.\n- ``less_than``: (Optional) Restricts the result displaying only the IP addresses reported less times than the given value. It must be an integer greater than 0.\n- ``ip_protocol_version``: (Optional) Restricts the result displaying only the IP addresses with the given IP protocol version. Values are: ALL, IPV4, IPV6. If not given, then all IP addresses are returned.\n- ``output_format``: (Optional) The format of the output. Values are: JSON, CSV, AWS-WAF. If not given, then the default format is JSON. AWS-WAF is the format used by AWS WAF to import ipsets in the service. You can find more information about AWS WAF import [here](https://docs.aws.amazon.com/waf/latest/APIReference/API_CreateIPSet.html).\n\n### Result\nThe result is a JSON object with a list of the following JSON objects:\n- ``self``: the URI to individual status.\n- ``addresses``: a list of JSON objects with the following fields:\n    - ``self``: the URI to individual reported IP information.\n    - ``last_report``: Unix timestamp in milliseconds when the IP address was last reported.\n    - ``expiry``: Unix timestamp in milliseconds when the IP address will expire and be removed.\n    - ``total_reports``: Total number of reports for the IP address.\n    - ``protocol``: IP protocol version of the IP address. Same value as the ``ip_protocol_version`` parameter if given.\n    - ``dataset``: Name of the dataset where the IP address was reported. Must be a value from the ``/v1/dataset/ip`` endpoint.\n    - ``tags``: A list of strings with the tags associated to the IP address at the origin device. It helps to classify the origin of the report.\n\n### Errors\n- a `400 Bad Request` error if any timestamp is in the future.\n- a `400 Bad Request` error if the dataset is not a string that can have numbers, upper and lower case letters, and underscores.\n- a `404 Not Found` error if the dataset was not found.\n- a `422 Unprocessable Entity` error if some of the parameters are malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_all_the_ip_addresses_reported_by_the_user_v1_denylist_reported_ip_get","parameters":[{"description":"The dataset list type to filter for. Must be uppercase, numbers and underscore","in":"query","name":"dataset","required":false,"schema":{"description":"The dataset list type to filter for. Must be uppercase, numbers and underscore","pattern":"^([A-Z0-9\\_]+)$","title":"Dataset","type":"string"}},{"description":"Restricts the result displaying only the IP addresses reported before `reported_before`. It must be a UNIX timestamp in seconds.","in":"query","name":"reported_before","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses reported before `reported_before`. It must be a UNIX timestamp in seconds.","title":"Reported Before","type":"integer"}},{"description":"Restricts the result displaying only the IP addresses reported after `reported_after`. It must be a UNIX timestamp in seconds.","in":"query","name":"reported_after","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses reported after `reported_after`. It must be a UNIX timestamp in seconds.","title":"Reported After","type":"integer"}},{"description":"Restricts the result displaying only the IP addresses that will expire before `expires_before`. It must be a UNIX timestamp in seconds greater than the current UNIX timestamp.","in":"query","name":"expires_before","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses that will expire before `expires_before`. It must be a UNIX timestamp in seconds greater than the current UNIX timestamp.","title":"Expires Before","type":"integer"}},{"description":"Restricts the result displaying only the IP addresses that will expire after `expires_after`. It must be a UNIX timestamp in seconds greater than the current UNIX timestamp.","in":"query","name":"expires_after","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses that will expire after `expires_after`. It must be a UNIX timestamp in seconds greater than the current UNIX timestamp.","title":"Expires After","type":"integer"}},{"description":"Restricts the result displaying only the IP addresses reported more times than `greater_than`. It must be an integer greater than 0.","in":"query","name":"greater_than","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses reported more times than `greater_than`. It must be an integer greater than 0.","title":"Greater Than","type":"integer"}},{"description":"Restricts the result displaying only the IP addresses reported less times than `less_than`. It must be an integer greater than 1.","in":"query","name":"less_than","required":false,"schema":{"description":"Restricts the result displaying only the IP addresses reported less times than `less_than`. It must be an integer greater than 1.","title":"Less Than","type":"integer"}},{"description":"Restrict the result displaying the IP protocol version requested (IPV4 or IPV6) or both (ALL). Some output formats MUST filter by IP protocol version first.","in":"query","name":"ip_protocol_version","required":false,"schema":{"default":"ALL","description":"Restrict the result displaying the IP protocol version requested (IPV4 or IPV6) or both (ALL). Some output formats MUST filter by IP protocol version first.","enum":["ALL","IPV4","IPV6"],"title":"Ip Protocol Version","type":"string"}},{"description":"The output format of the datasets.","in":"query","name":"output_format","required":false,"schema":{"default":"JSON","description":"The output format of the datasets.","enum":["JSON","CSV","AWS-WAF"],"title":"Output Format","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPListCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of automatically reported IP addresses by the user.","tags":["Denylist data query and management"]}},"/v1/denylist/reported/ip/all":{"delete":{"description":"### What\nDelete all the IP addresses that have been automatically reported by the user. This option cannot be reverted.\n\n### Parameters\nNo parameters are required.\n\n### Result\nA successful result is an empty response with the the HTTP status code ``204 No Content``.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"delete_all_ip_addresses_reported_by_the_user_v1_denylist_reported_ip_all_delete","responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Delete all the automatically reported IP addresses by the user.","tags":["Denylist data query and management"]}},"/v1/denylist/reported/ip/{ip_address}":{"delete":{"description":"### What\nDelete an IP address that was automatically reported by the user. This option cannot be reverted.\n\n### Parameters\nThe endpoint accepts the following parameters in the path:\n- ``ip_address``: (Mandatory) The public IPv4 or IPv6 addresses to be deleted.\n\n### Result\nA successful result is an empty response with the the HTTP status code ``204 No Content``.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"delete_an_ip_address_reported_by_the_user_v1_denylist_reported_ip__ip_address__delete","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete the automatically reported IP address by the user.","tags":["Denylist data query and management"]},"get":{"description":"### What\nObtain the details of an IPv4 or IPv6 addresses that have been automatically reported by the user. A user can report automatically an IP address with the asynchronous API. The reported IP address differs from the ones managed with the endpoint ``/v1/denylist/private/ip/%s``. As a rule of thumb,\n the reported IP addresses are the ones submitted by devices like honeypots, firewalls, log engines, etc. The denylisted IP addresses are the ones submitted manually by the user from files or indidual items.\n\n### Parameters\nThe endpoint accepts the following parameters in the path:\n- ``ip_address``: (Mandatory) The public IPv4 or IPv6 addresses to be queried.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual reported IP information.\n- ``last_report``: Unix timestamp in milliseconds when the IP address was last reported.\n- ``expiry``: Unix timestamp in milliseconds when the IP address will expire and be removed.\n- ``total_reports``: Total number of reports for the IP address.\n- ``protocol``: IP protocol version of the IP address. Values can be IPV4 or IPV6.\n- ``dataset``: Name of the dataset where the IP address was reported. Must be a value from the ``/v1/dataset/ip`` endpoint.\n- ``tags``: A list of strings with the tags associated to the IP address at the origin device. It helps to classify the origin of the report.\n\n### Errors\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_an_ip_addresses_reported_by_the_user_v1_denylist_reported_ip__ip_address__get","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPListOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the details of an automatically reported IP addresses by the user.","tags":["Denylist data query and management"]}},"/v1/geo":{"post":{"description":"### What\nGet the geo location data of all the IP addresses passed as argument. This information includes:\n- Latitude and longitude\n- Time zone\n- Accuracy radius\n- Postal code\n- City name\n- Region\n- Country\n- Country of the service provider\n- Continent\n- Reverse PTR hostnames\n\n### Parameters\nA list of public IPv4 or IPv6 addresses is required in the body of the request.\n\n### Result\nThe result contains a list of the result for each IP address, with the following data set:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``accuracy_radius``:  The radius in kilometers around the specified location where the IP address is likely to be.\n- ``asn_country_iso_code``: The ISO code of the country of the Autonomous System (AS) owner of the IP address.\n- ``city_geoname_code``:``: City geoname code. The geoname code by [GeoNames](https://en.wikipedia.org/wiki/GeoNames) is a unique identifier assigned to each geographical point on the globe.\n- ``city_name``:``: City name, in english. The developer can use the geoname code to localize the name of the city.\n- ``continent_code``: The continent code. It can be any of the following: AF, AN, AS, EU, NA, OC, SA.\n- ``country_iso_code``: The country ISO 3166-1 alpha-2 code.\n- ``hostnames``: The list of hostnames associated with the IP address obtained from the reverse DNS lookup.\n- ``latitude``: The latitude of the geolocation.\n- ``longitude``: The longitude of the geolocation.\n- ``postal_code``:``: The postal code of the city.\n- ``region_geoname_code``:``: The geoname code of the region.\n- ``region_name``:``: The region name, in english. The developer can use the geoname code to localize the name of the region.\n- ``time_zone``: The name of the time zone.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nThe private IP addresses will be ignored, if any.\n\nIt will also return the API Global errors described in the API description.","operationId":"geolocate_ip_set_v1_geo_post","requestBody":{"content":{"application/json":{"schema":{"items":{"format":"ipvanyaddress","type":"string"},"maxItems":500,"minItems":1,"title":"Addresses","type":"array","uniqueItems":true}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoIPCollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the geolocation data of the IP addresses set.","tags":["Geolocation"]}},"/v1/geo/csv":{"post":{"description":"### What\nGet the geo location data of all the IP addresses uploaded in a text file. This information includes:\n- Latitude and longitude\n- Time zone\n- Accuracy radius\n- Postal code\n- City name\n- Region\n- Country\n- Country of the service provider\n- Continent\n- Reverse PTR hostnames\n\n### Parameters\n- A text file with a list of public IPv4 or IPv6 addresses.\n- A header `Content-Type: multipart/form-data` is required.\n- (optional) in the query string the parameeter `strict_parse`: If set to `true`, no malformed IP addresses allowed, returning an error. If set to `false`, malformed IP addresses will be ignored.\n\nExample:\n```\ncurl -X 'POST' \\\n  'https://dublin.api.threatjammer.com/v1/geo/csv[?strict_parse=true|false]' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: multipart/form-data' \\\n  -F 'csv_file=@YOUR_TEXT_FILE;type=text/csv'\n```\n\n### Result\nThe result contains a list of the result for each IP address, with the following data set:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``accuracy_radius``:  The radius in kilometers around the specified location where the IP address is likely to be.\n- ``asn_country_iso_code``: The ISO code of the country of the Autonomous System (AS) owner of the IP address.\n- ``city_geoname_code``:``: City geoname code. The geoname code by [GeoNames](https://en.wikipedia.org/wiki/GeoNames) is a unique identifier assigned to each geographical point on the globe.\n- ``city_name``:``: City name, in english. The developer can use the geoname code to localize the name of the city.\n- ``continent_code``: The continent code. It can be any of the following: AF, AN, AS, EU, NA, OC, SA.\n- ``country_iso_code``: The country ISO 3166-1 alpha-2 code.\n- ``hostnames``: The list of hostnames associated with the IP address obtained from the reverse DNS lookup.\n- ``latitude``: The latitude of the geolocation.\n- ``longitude``: The longitude of the geolocation.\n- ``postal_code``:``: The postal code of the city.\n- ``region_geoname_code``:``: The geoname code of the region.\n- ``region_name``:``: The region name, in english. The developer can use the geoname code to localize the name of the region.\n- ``time_zone``: The name of the time zone.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nThe private IP addresses will be ignored, if any.\n\nWhen the `strict_parse` parameter is set to `true`, the endpoint will return the following errors:\n- a `400 Bad Request`.\n\nIt will also return the API Global errors described in the API description.","operationId":"assess_ip_set_csv_v1_geo_csv_post","parameters":[{"description":"When `true`, if any IP address entry in the file is malformed, the assessment is canceled. If `false`, the malformed IP addresses are ignored. Default is `false`.","in":"query","name":"strict_parse","required":false,"schema":{"default":false,"description":"When `true`, if any IP address entry in the file is malformed, the assessment is canceled. If `false`, the malformed IP addresses are ignored. Default is `false`.","title":"Strict Parse","type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_assess_ip_set_csv_v1_geo_csv_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoIPCollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the geolocation data of all the IP addresses uploaded.","tags":["Geolocation"]}},"/v1/geo/{ip_address}":{"get":{"description":"### What\nGet the geo location data of the IP address passed as argument. This information includes:\n- Latitude and longitude\n- Time zone\n- Accuracy radius\n- Postal code\n- City name\n- Region\n- Country\n- Country of the service provider\n- Continent\n- Reverse PTR hostnames\n\n\n### Parameters\nThe only argument accepted in the query string is a public IPv4 or IPv6 addresses.\n\n### Result\nThe result contains the following set of data:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``accuracy_radius``:  The radius in kilometers around the specified location where the IP address is likely to be.\n- ``asn_country_iso_code``: The ISO code of the country of the Autonomous System (AS) owner of the IP address.\n- ``city_geoname_code``:``: City geoname code. The geoname code by [GeoNames](https://en.wikipedia.org/wiki/GeoNames) is a unique identifier assigned to each geographical point on the globe.\n- ``city_name``:``: City name, in english. The developer can use the geoname code to localize the name of the city.\n- ``continent_code``: The continent code. It can be any of the following: AF, AN, AS, EU, NA, OC, SA.\n- ``country_iso_code``: The country ISO 3166-1 alpha-2 code.\n- ``hostnames``: The list of hostnames associated with the IP address obtained from the reverse DNS lookup.\n- ``latitude``: The latitude of the geolocation.\n- ``longitude``: The longitude of the geolocation.\n- ``postal_code``:``: The postal code of the city.\n- ``region_geoname_code``:``: The geoname code of the region.\n- ``region_name``:``: The region name, in english. The developer can use the geoname code to localize the name of the region.\n- ``time_zone``: The name of the time zone.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `400 Bad Request` error if the IP address is not public.\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"geolocate_ip_v1_geo__ip_address__get","parameters":[{"in":"path","name":"ip_address","required":true,"schema":{"format":"ipvanyaddress","title":"Ip Address","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoIPOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the geo location data of the IP address.","tags":["Geolocation"]}},"/v1/log/ip/id/{logchange_id}":{"get":{"description":"### What\nObtain the full detail of a specific log change.\n\n### Parameters\nThe endpoint accepts only the following parameters in the path:\n- ``logchange_id``: (Mandatory) A unique integer of the change event log.\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``cidr``: The CIDR affected by the change.\n- ``score``: The score of the IP address when the event happened. It ranges from 0 to 99.\n- ``risk``: The risk of the IP address when the event happened. The allowed values are: LOW, MEDIUM, HIGH. It's a human readable representation of the score.\n- ``dataset``: The URI of the dataset where the change was logged.\n- ``source``: The URI of the data source where the change was found.\n- ``lapse``: The time elapsed between the event found and the moment the source was queried. The possible values are: 1H, 6H, 12H, 1D, 7D, 30D, 90D, 180D, 365D.\n- ``action``: The action that was performed on the IP address. The allowed values are: ADD, DELETE.\n- ``timestamp``: The UNIX timestamp in milliseconds when the change was logged.\n\n\n### Errors\nThe endpoint will return the following errors:\n- a `404 Not Found` error if there is no event in the log with the ``logchange_ID`` given.\n- a `422 Unprocessable Entity` error if the ``logchange_ID`` is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"log_change_id_v1_log_ip_id__logchange_id__get","parameters":[{"in":"path","name":"logchange_id","required":true,"schema":{"title":"Logchange Id","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPLogOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get a log event.","tags":["Data logging"]}},"/v1/log/ip/{ip_address}":{"get":{"description":"### What\nObtain a list of changes logged in the different datasets of the IP address given.\n\n### Parameters\nThe endpoint accepts the following parameters in the path:\n- ``ip_address``: (Mandatory) The public IPv4 or IPv6 addresses to be queried.\n\nThe endpoint accepts the following parameters in the query string:\n- ``dataset``: (Optional) Name of the dataset to filter the query. If not given, then all datasets are queried. If given, then only the changes logged in the given dataset are returned. The list of datasets is obtained from the ``/v1/dataset/ip`` endpoint.\n- ``logged_after``: (Optional) The UNIX timestamp in milliseconds of the earliest date to be included in the query. If not given, then the earliest date is the date of the first change logged in the dataset.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``logs``: The list of log changes. Each element of the list is a JSON object of a specific log change with the structure described in the endpoint ``/v1/log/ip/id/logchange_id``.\n### Errors\nThe endpoint will return the following errors:\n- a `400 Bad Request` error if the IP address is not public.\n- a `400 Bad Request` error if the timestamp is in the future.\n- a `400 Bad Request` error if the dataset is not a string that can have numbers, upper and lower case letters, and underscores.\n- a `404 Not Found` error if the dataset was not found.\n- a `422 Unprocessable Entity` error if the IP address is malformed.\n\nIt will also return the API Global errors described in the API description.","operationId":"logchanges_ip_v1_log_ip__ip_address__get","parameters":[{"description":"The IPv4 or IPv6 address to asses the risk","in":"path","name":"ip_address","required":true,"schema":{"description":"The IPv4 or IPv6 address to asses the risk","format":"ipvanyaddress","title":"IP Address","type":"string"}},{"description":"The name of the dataset to restrict the query","in":"query","name":"dataset","required":false,"schema":{"description":"The name of the dataset to restrict the query","pattern":"^([A-Z0-9\\_]+)$","title":"Dataset","type":"string"}},{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after this value.","in":"query","name":"logged_after","required":false,"schema":{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after this value.","title":"Entry logged after timestamp","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPLogCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the changes logged in the different datasets of an IP address.","tags":["Data logging"]}},"/v1/origin":{"get":{"description":"### What\nObtain the attributes of the origin of the user passed as argument in the selected region. The purpose of this function is to display the information of configuration of the origin and also access to the live data of the origin.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the full details of an origin.\n- ``origin``: the protocol and the domain where the origin token is valid.\n- ``status``: the status of the origin token. The only allowed values are ``ENABLED`` and ``DISABLED``.\n- ``token``: the URI to the request to obtain the token of the origin.\n- ``data``: a JSON object containing all the parameters of the origin as key-value pairs.\n- ``logs``: the URI to the request to obtain the log activity in the origin.\n- ``addresses``: the URI to the request to obtain the list of IP addresses active in the origin.\n- ``cookies``: the URI to the request to obtain the list of cookies active in the origin.\n- ``created_at``: the date and time when the origin token was created in UNIX timestamp in milliseconds.\n- ``updated_at``: the date and time when the origin token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\n- a `404 Not Found` error if the origin token is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_information_v1_origin_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of an origin of the user in the region.","tags":["Origin management in this region"]},"put":{"description":"### What\nModify the configuration metadata of the origin of the user in the selected region.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the body of the request, add the `origin` of the user and the `config` parameter with the following format for the `origin`:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThe `config` parameter is a JSON object containing the configuration of the origin. It only accepts the existing parameters obtained from the `GET` request of the origin. If the parameter is not present in the `config` object, it will fail to store it. It's not necessary to send all the parameters, only the ones that need to be updated.\n\n### Result\nThe result is the JSON object with all the new values of the origin configuration.\n\n### Errors\n- a `404 Not Found` error if the origin token is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n- a `400 Bad Request` error if the `config` parameter is not a JSON object or unknown parameters are sent.\n\nIt will return the API Global errors described in the API description.","operationId":"update_configuration_origin_v1_origin_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_configuration_origin_v1_origin_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Response Update Configuration Origin V1 Origin Put","type":"object"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Update the configuration of an origin of the user in the region.","tags":["Origin management in this region"]}},"/v1/origin/addresses":{"get":{"description":"### What\n\nObtain the status that trigger the change in the status of the origin of a specific IP address. The status will also describe the current state of the status and the information that triggered the change.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the full details of the status of an origin.\n- ``addresses``: a list of JSON objects with the following fields:\n    - ``address``: the IP address of the origin.\n    - ``status``: the status of IP address for the given origin.\n    - ``log_id``: the ID of the log that triggered the change in the status of the origin.\n    - ``expiry``: the date and time when the origin status will expire in UNIX timestamp in milliseconds.\n    - ``created_at``: the date and time when the origin status was created in UNIX timestamp in milliseconds.\n    - ``updated_at``: the date and time when the origin status was last updated in UNIX timestamp in milliseconds.\n\n### Errors\n- a `404 Not Found` error if the origin is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_address_status_information_v1_origin_addresses_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}},{"description":"The page to be returned","in":"query","name":"page","required":false,"schema":{"default":1,"description":"The page to be returned","title":"Page number","type":"integer","x-min":1}},{"description":"The number of items per page","in":"query","name":"page_size","required":false,"schema":{"default":20,"description":"The number of items per page","title":"Page size","type":"integer","x-max":100,"x-min":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginAddressStatusCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the address status of the origin of the user in the region.","tags":["Origin management in this region"]}},"/v1/origin/all":{"get":{"description":"### What\nObtain the attributes of all the origins of the user in the selected region. The purpose of this function is to display the information of configuration of the origins and also access to the live data of the origins.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nNo parameters are required.\n\n### Result\nThe result is a list of JSON objects with the following fields:\n- ``self``: the URI to the request to obtain all the origins of the user.\n- ``origins``: A list of JSON objects with the following fields:\n    - ``self``: the URI to the request to obtain the full details of an origin.\n    - ``origin``: the protocol and the domain where the origin token is valid.\n    - ``status``: the status of the origin token. The only allowed values are ``ENABLED`` and ``DISABLED``.\n    - ``token``: the URI to the request to obtain the token of the origin.\n    - ``data``: a JSON object containing all the parameters of the origin as key-value pairs.\n    - ``logs``: the URI to the request to obtain the log activity in the origin.\n    - ``addresses``: the URI to the request to obtain the list of IP addresses active in the origin.\n    - ``cookies``: the URI to the request to obtain the list of cookies active in the origin.\n    - ``created_at``: the date and time when the origin token was created in UNIX timestamp in milliseconds.\n    - ``updated_at``: the date and time when the origin token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_all_origin_information_v1_origin_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the origins of the user in the region.","tags":["Origin management in this region"]}},"/v1/origin/client/analysis":{"get":{"description":"### What\nObtain the type of clients of trhe traffic in the specified time range and interval. Thequery will return the number of requests and the different type of CLIENTs and CRAWLERs.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\nTo restrict the query to a specific time range, add the following parameters to the querystring:\n- ``from_timestamp``: the start date and time of the analysis in UNIX timestamp in milliseconds.\n- ``to_timestamp``: (Optional) the end date and time of the analysis in UNIX timestamp in milliseconds.\n- ``interval``: (Optional) the interval of the analysis in minutes. The default value is 60 minutes (HOURLY). Possible values are: ``HOURLY``.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the traffic client analysis for the origin.\n- ``from_timestamp``: the start date and time of the analysis in UNIX timestamp in milliseconds.\n- ``to_timestamp``: the end date and time of the analysis in UNIX timestamp in milliseconds.\n- ``interval``: the interval of the analysis. Possible values are: ``HOURLY``.\n- ``data``: a JSON list with the following elements each one with the following fields:\n    - ``timestamp``: the date and time of the analysis in UNIX timestamp in milliseconds.\n    - ``total``: the total number of requests.\n    - ``client_*``: the number of requests from a specific client. The possible clients are: ``browser``, ``crawler``, ``email``, ``library``, ``mobile_browser``, ``multimedia_player``, ``offline_browser``, ``unrecognized``, ``ua_anonymizer``, ``validator``, ``wap_browser``.\n    - ``crawler_*``: the number of requests from a specific crawler. The possible crawlers are:``feed_fetcher``, ``link_checker``, ``marketing``, ``screenshot_creator``, ``search_engine_bot``,``site_monitor``, ``speed_tester``, ``tool``, ``uncategorized``, ``unrecognized``, ``virus_scanner``,``vulnerability_scanner``, ``web_scraper``.\n\n### Errors\n- a `404 Not Found` error if the origin token is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_traffic_client_v1_origin_client_analysis_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}},{"description":"The data inteval to aggregate the result dataset","in":"query","name":"interval","required":true,"schema":{"description":"The data inteval to aggregate the result dataset","enum":["HOURLY"],"title":"Interval","type":"string"}},{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after or equal to this value.","in":"query","name":"from_timestamp","required":true,"schema":{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after or equal to this value.","title":"From Timestamp","type":"integer"}},{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged before this value.","in":"query","name":"to_timestamp","required":false,"schema":{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged before this value.","title":"To Timestamp","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginClientAnalysisCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the type of clients of the trafffic of the origin.","tags":["Origin management in this region"]}},"/v1/origin/cookies":{"get":{"description":"### What\n\nObtain the status that trigger the change in the status of the origin of the cookie ID used to track the users. The status will also describe the current state of the status and the information that triggered the change.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the full details of the status of an origin.\n- ``addresses``: a list of JSON objects with the following fields:\n    - ``cookie_id``: the ID of the tracking cookie for the origin.\n    - ``status``: the status of tracking cookie ID for the given origin.\n    - ``log_id``: the ID of the log that triggered the change in the status of the origin.\n    - ``expiry``: the date and time when the origin status will expire in UNIX timestamp in milliseconds.\n    - ``created_at``: the date and time when the origin status was created in UNIX timestamp in milliseconds.\n    - ``updated_at``: the date and time when the origin status was last updated in UNIX timestamp in milliseconds.\n\n### Errors\n- a `404 Not Found` error if the origin is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_cookie_id_status_information_v1_origin_cookies_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}},{"description":"The page to be returned","in":"query","name":"page","required":false,"schema":{"default":1,"description":"The page to be returned","title":"Page number","type":"integer","x-min":1}},{"description":"The number of items per page","in":"query","name":"page_size","required":false,"schema":{"default":20,"description":"The number of items per page","title":"Page size","type":"integer","x-max":100,"x-min":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginCookieIdStatusCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the tracking cookie ID status of the origin of the user in the region.","tags":["Origin management in this region"]}},"/v1/origin/scripts":{"get":{"description":"### What\nObtain the code snippets of the origin of the user passed as argument in the selected region. The purpose of this function is to help the user to integrate the javascript library in their website with a preconfigured script that contains the origin token.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the full details of an origin.\n- ``detection``: code snippet to integrate into the website described in the origin to detect malicious activity.\n\n### Errors\n- a `404 Not Found` error if the origin token is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_scripts_v1_origin_scripts_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginScriptsOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the code snippets of an origin of the user in the region.","tags":["Origin management in this region"]}},"/v1/origin/status":{"post":{"description":"### What\n\nObtain the current status of the origin for a given IP address and/or cookie ID. The values can be correlated, but they are not required to be. The status will also describe the following information:\n- `PASS`: The traffic should not be intercepted, but should be analyzed and a positive detection should trigger a change in the status.\n- `BLOCK`: The traffic must be intercepted and redirected to a blocking page. Only a timeout of the IP address or Cookie ID, a solved challenge or a manual status change can change the status.\n- `CHALLENGE`: The traffic must be intercepted and redirected to a page where the user must solve a challenge. If the challenge is succesfully solved the status will change to `PASS`. If the user fails to change the challenge a specific amount of times, the status can change to `BLOCK`.\n- `BYPASS`: The traffic should not be tapped even if it is suspected to be malicious, as long as the timeout has not expired. When the timeout is reached, it should revert to a previous state instead of going to `PASS`.\n- `IGNORE`: Whatever happens to the traffic of the user, it should not be tapped. Once the time expires, it should return to the state PASS.\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\nThe body should have at least one of the following fields:\n- `address`: The IP address of the user to query.\n- `cookie_id`: The ID of the tracking cookie of the user to query.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the full details of the `cookie_id` and `address` status of an origin.\n- ``cookie_id``: a JSON object with the following fields:\n    - ``cookie_id``: the ID of the tracking cookie for the origin.\n    - ``status``: the URI to the status detail of the cookie ID.\n    - ``log_id``: (Optional) the ID of the log that triggered the change in the status of the origin.\n    - ``expiry``: (Optional) the date and time when the origin status will expire in UNIX timestamp in milliseconds.\n    - ``created_at``: (Optional) the date and time when the origin status was created in UNIX timestamp in milliseconds.\n    - ``updated_at``: (Optional) the date and time when the origin status was last updated in UNIX timestamp in milliseconds.\n- ``address``: a JSON object with the following fields:\n    - ``address``: the address for the origin.\n    - ``status``: the URI to the status detail of the cookie ID.\n    - ``log_id``: (Optional) the ID of the log that triggered the change in the status of the origin.\n    - ``expiry``: (Optional) the date and time when the origin status will expire in UNIX timestamp in milliseconds.\n    - ``created_at``: (Optional) the date and time when the origin status was created in UNIX timestamp in milliseconds.\n    - ``updated_at``: (Optional) the date and time when the origin status was last updated in UNIX timestamp in milliseconds.\n\n### Errors\n- a `404 Not Found` error if the origin is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_status_v1_origin_status_post","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_query_origin_status_v1_origin_status_post"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginStatusOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the current cookie ID and IP address status of the origin of user in the region.","tags":["Origin management in this region"]},"put":{"description":"### What\nUpdate the status of a given origin event in the platform. The status can be one of the    following values:\n- `PASS`: The event is not considered as a threat.\n- `BLOCK`: The event is considered as a threat and the origin must be blocked.\n- `CHALLENGE`: The event is considered as a threat and the origin must be challenged.\n- `BYPASS`: The event is considered as a threat but the origin must be bypassed.\n- `IGNORE`: The event is considered as a threat but the origin must be ignored.\n\nTo apply the change, it's necessary to send a request to the API with the `log_id` of the    origin status event and the scope of the change. The scope can be one of the following values:\n- `address_and_cookie`: The change will be applied to the origin IP address and the cookie.\n- `address`: The change will be applied to the origin IP address.\n- `cookie`: The change will be applied to the cookie.\n\n### Parameters\nThe request must send the following parameters in the body of the request:\n- ``log_id``: the log id of the origin status event.\n- ``scope``: the scope of the change. Possible values are: ``address_and_cookie``, ``address``, ``cookie``.\n- ``status``: the new status of the origin. Possible values are: ``pass``, ``block``, ``challenge``, ``bypass``, ``ignore``.\n\nAnd in the `query` query string parameter, add the origin website in the format `https://example.com`.\n\n### Result\nA 200 OK response without any content.\n\n### Errors\nIt will return the API Global errors described in the API description.\nIf the parameters are invalid, it will return a `400 Bad Request` error.","operationId":"update_origin_status_v1_origin_status_put","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_origin_status_v1_origin_status_put"}}}},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Update the status of a given origin event in the platform.","tags":["Origin management in this region"]}},"/v1/origin/status/detail/{status_id}":{"get":{"description":"### What\nObtain the description of a status available in the platform.\n\n### Parameters\nA `status_id` parameter in the path of the request:\n- `PASS`\n- `BLOCK`\n- `CHALLENGE`\n- `BYPASS`\n- `IGNORE`\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the status detail.\n- ``description``: a human readable description of the status.\n- ``cardinality``: The number describing the cardinality of the status.\n\n### Errors\n- a `400 Bad Request` error if the origin status is not any of the available ones.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_status_detail_v1_origin_status_detail__status_id__get","parameters":[{"description":"The status id to query the details","in":"path","name":"status_id","required":true,"schema":{"description":"The status id to query the details","enum":["pass","block","challenge","bypass","ignore"],"title":"Status ID","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginStatusDetailsOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get detail of a status available in the platform.","tags":["Origin management in this region"]}},"/v1/origin/status/details":{"get":{"description":"### What\nObtain the full list and description of the different status available in the platform.\n\n### Parameters\nNo parameters needed.\n\n### Result\nThe result is a JSON list with the following fields:\n- ``self``: the URI to the request to obtain the list.\n- ``list``: a JSON list with the following elements each one with the following fields:\n    - ``self``: the URI to the status detail.\n    - ``description``: a human readable description of the status.\n    - ``cardinality``: The number describing the cardinality of the status.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_origin_status_details_v1_origin_status_details_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginStatusDetailsCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the list of different status available in the platform.","tags":["Origin management in this region"]}},"/v1/origin/traffic/analysis":{"get":{"description":"### What\nObtain the traffic analysis of the origin in the specified time range and interval. Theanalysis will return the number of requests and the anomalies detected like:\n\n- number of requests\n- overall score\n- malicious synthetic traffic (bad bot traffic)\n- IP in a denylist\n- IP in a datacenter\n- user uses a headless webdriver\n- Autonomous System (ASN) of the IP is risky\n- The location of the IP address and the ASN is different\n\nThe origin is a combination of protocol and domain (Ex: https://example.com) and the origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nIn the querystring of the request, add the origin of the user to the `query` parameter with the following format:1. Protocol: Can be ``http`` or ``https``.\n2. Domain: The domain of the origin.\n\nThen, the origin must be urlencoded. Example:\n```\nhttps://example.com\n```\n\n```\nhttps%3A%2F%2Fexample.com\n```\n\nThe querystring must be like this:\n```\n?query=https%3A%2F%2Fexample.com\n```\n\nTo restrict the analysis to a specific time range, add the following parameters to the querystring:\n- ``from_timestamp``: the start date and time of the analysis in UNIX timestamp in milliseconds.\n- ``to_timestamp``: (Optional) the end date and time of the analysis in UNIX timestamp in milliseconds.\n- ``interval``: (Optional) the interval of the analysis in minutes. The default value is 60 minutes (HOURLY). Possible values are: ``HOURLY``.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to the request to obtain the traffic analysis for the origin.\n- ``from_timestamp``: the start date and time of the analysis in UNIX timestamp in milliseconds.\n- ``to_timestamp``: the end date and time of the analysis in UNIX timestamp in milliseconds.\n- ``interval``: the interval of the analysis. Possible values are: ``HOURLY``.\n- ``data``: a JSON list with the following elements each one with the following fields:\n    - ``timestamp``: the date and time of the analysis in UNIX timestamp in milliseconds.\n    - ``total``: the total number of requests.\n    - ``score_high``: the number of requests with a high score (bad traffic).\n    - ``bots``: the number of requests from bad bots.\n    - ``denylists``: the number of requests from IPs in a denylist.\n    - ``datacenters``: the number of requests from IPs in a datacenter.\n    - ``webdrivers``: the number of requests from IPs using a headless webdriver.\n    - ``asn_risky``: the number of requests from IPs with a risky ASN.\n    - ``network_country_mismatches``: the number of requests from IPs with a different location than the ASN.\n\n### Errors\n- a `404 Not Found` error if the origin token is not found.\n- a `400 Bad Request` error if the origin does not have the correct format.\n\nIt will return the API Global errors described in the API description.","operationId":"query_origin_traffic_analysis_v1_origin_traffic_analysis_get","parameters":[{"description":"The origin site to query","in":"query","name":"query","required":true,"schema":{"description":"The origin site to query","title":"Origin","type":"string"}},{"description":"The data inteval to aggregate the result dataset","in":"query","name":"interval","required":true,"schema":{"description":"The data inteval to aggregate the result dataset","enum":["HOURLY"],"title":"Interval","type":"string"}},{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after or equal to this value.","in":"query","name":"from_timestamp","required":true,"schema":{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged after or equal to this value.","title":"From Timestamp","type":"integer"}},{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged before this value.","in":"query","name":"to_timestamp","required":false,"schema":{"description":"A UNIX timestamp in milliseconds to restrict the results of the query to entries logged before this value.","title":"To Timestamp","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginTrafficAnalysisCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the traffic analysis of the origin.","tags":["Origin management in this region"]}},"/v1/origin_token":{"delete":{"description":"### What\nDeletes the origin token passed as argument of the user in the selected region. Once the token is deleted, it will no longer be valid and the protocol and domain of the origin will no longer be under protection.\n\nTo delete an origin token, the user must be the owner and the token must be ``DISABLED`` first.\n\n### Parameters\nThe Origin Token is required in the body of the request in the parameter `origin_token_id`.\n\n### Result\nIf successful, the result will be an empty response with a status code of `204 No Content`.\n\n### Errors\nIt will return the API Global errors described in the API description.\n\nIt will also return the following errors:\n- a `404 Not Found` error if the origin token is not found.\n- a `409 Conflict` error if the origin token is not disabled.","operationId":"delete_token_v1_origin_token_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_token_v1_origin_token_delete"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Delete an origin token of the user in the region.","tags":["Origin Token management in this region"]},"post":{"description":"### What\nObtain the attributes of the given origin token of the user in the selected region. The purpose of this function is to show what protocol and domain is linked to the token.\n\nThe origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nThe Origin Token is required in the body of the request in the parameter `origin_token_id`.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual origin token information.\n- ``region_id``: the name of the region where the origin token is valid.\n- ``origin``: the protocol and the domain where the origin token is valid.\n- ``status``: the status of the origin token. The only allowed values are ``ENABLED`` and ``DISABLED``.\n- ``created_at``: the date and time when the origin token was created in UNIX timestamp in milliseconds.\n- ``updated_at``: the date and time when the origin token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_origin_token_info_v1_origin_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_query_origin_token_info_v1_origin_token_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginTokenOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of an origin token of the user in the region.","tags":["Origin Token management in this region"]}},"/v1/origin_token/all":{"get":{"description":"### What\nObtain the attributes of all the origin tokens of the user in the selected region. The purpose of this function is to show what protocol and domain is linked to all the tokens.\n\nThe origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nNo parameters are required.\n\n### Result\nThe result is a list of JSON objects with the following fields:\n- ``self``: the URI to individual origin token information.\n- ``region_id``: the name of the region where the origin token is valid.\n- ``origin``: the protocol and the domain where the origin token is valid.\n- ``status``: the status of the origin token. The only allowed values are ``ENABLED`` and ``DISABLED``.\n- ``created_at``: the date and time when the origin token was created in UNIX timestamp in milliseconds.\n- ``updated_at``: the date and time when the origin token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_all_origin_tokens_in_the_region_v1_origin_token_all_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginTokenCollectionOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the origin tokens of the user in the region.","tags":["Origin Token management in this region"]}},"/v1/origin_token/disable":{"put":{"description":"### What\nDisable an enabled origin token passed as argument of the user in the selected region. When a token is enabled, it will participate in the protection of the origin protocol and domain. If the token is disabled, it will not participate in the protection of the origin protocol and domain.\n\nTo disable an origin token, the user must be the owner. If the token is already disabled, the function will not perform any action. If the token is enabled, it will be disabled.\n\n### Parameters\nThe Origin Token is required in the body of the request in the parameter `origin_token_id`.\n\n### Result\nIf successful, the result will be an empty response with a status code of `204 No Content`.\n\n### Errors\nIt will return the API Global errors described in the API description.\n\nIt will also return the following errors:\n- a `404 Not Found` error if the origin token is not found.","operationId":"disable_origin_token_v1_origin_token_disable_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_disable_origin_token_v1_origin_token_disable_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Disable a enabled origin token of the user in the region.","tags":["Origin Token management in this region"]}},"/v1/origin_token/enable":{"put":{"description":"### What\nEnable a disabled origin token passed as argument of the user in the selected region. When a token is enabled, it will participate in the protection of the origin protocol and domain. If the token is disabled, it will not participate in the protection of the origin protocol and domain.\n\nTo enable an origin token, the user must be the owner. If the token is already enabled, the function will not perform any action. If the token is disabled, it will be enabled.\n\n### Parameters\nThe Origin Token is required in the body of the request in the parameter `origin_token_id`.\n\n### Result\nIf successful, the result will be an empty response with a status code of `204 No Content`.\n\n### Errors\nIt will return the API Global errors described in the API description.\n\nIt will also return the following errors:\n- a `404 Not Found` error if the origin token is not found.","operationId":"enable_origin_token_v1_origin_token_enable_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_enable_origin_token_v1_origin_token_enable_put"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Enable a disabled origin token of the user in the region.","tags":["Origin Token management in this region"]}},"/v1/origin_token/new":{"post":{"description":"### What\nCreates a new origin token for the user passing as argument the origin. The origin parameter is the protocol and the domain where the origin token is valid.\n\nThe origin token is a special key used in conjunction with javascript library used for abuse detection. This key is owned by the user and is used to identify the origin of the request.\n Hence, the protocol and domain of the origin must be the one where the javascript is loaded.\n\n### Parameters\nThe origin with the protocol and domain is required in the body of the request in the parameter ``origin``. The allowed protocols are ``https://``, and ``http://``.\n\n### Result\nThe result is a JSON object with the new origin token and the following fields:\n- ``self``: the URI to individual origin token information.\n- ``region_id``: the name of the region where the origin token is valid.\n- ``origin``: the protocol and the domain where the origin token is valid.\n- ``status``: the status of the origin token. The only allowed values are ``ENABLED`` and ``DISABLED``.\n- ``created_at``: the date and time when the origin token was created in UNIX timestamp in milliseconds.\n- ``updated_at``: the date and time when the origin token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.\n\nIt will also return the following errors:\n- a `400 Bad Request` error if the origin does not have the correct format.\n- a `409 Conflict` error if the origin token already exists.","operationId":"create_a_new_origin_token_v1_origin_token_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginTokenInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OriginTokenOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Create an origin token of the user in the region.","tags":["Origin Token management in this region"]}},"/v1/source/ip":{"get":{"description":"### What\nObtain the full meta information of all the source lists available for the subscription level of the user. A source list is a collection of resources combined together with other sources to create a dataset.\n\n A source list has some unique properties. The most relevant ones are the score and risk. The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n Each source list groups several collections of resource by the lapse of time or time range that they are related to according to their age. Each group by time range has a score and a risk.\n\n### Parameters\nThe endpoint does not accept any parameter. The subscription level is obtained from the token provided in the header.\n\n### Result\nThe result is a JSON object with a self reference and a list of JSON objects with the following fields:\n- ``self``: the URI to individual source list information.\n- ``dataset``: the URI to the dataset that aggregates the resources of this list.\n- ``name``: the unique name of the source list. Must be uppercase letters, numbers and underscores.\n- ``description``: a human readable long description of the source list.\n- ``source``: Origin of the list.\n- ``url``: The URL where the source list was found.\n- ``refresh``: The refresh period of the source list.\n- ``minimum_score``: The minimum score found in the different source list time ranges. Is in the range 0-99.\n- ``maximum_score``: The maximum score found in the different source list time ranges. Is in the range 0-99.\n- ``minimum_risk``: The minimum human readable risk score found in the different source list time ranges. Can be UNKNOWN, LOW, MEDIUM or HIGH.\n- ``maximum_risk``: The maximum human readable risk score found in the different source list time ranges. Can be UNKNOWN, LOW, MEDIUM or HIGH.\n- ``time_range``: the list of URIs pointing to the different source list time ranges information.\n- ``updated_at``: The UNIX timestamp in milliseconds of last update of the source list.\n- ``subscriptions``: The list of subscription levels that can access this source list.\n\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"get_all_sources_v1_source_ip_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceCollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"}},"security":[{"HTTPBearer":[]}],"summary":"Get the full information of all the source lists for the subscription level given.","tags":["Data sources"]}},"/v1/source/ip/{source}":{"get":{"description":"### What\nObtain the full meta information of the source list given as argument. A source list is a collection of resources combined together with other sources to create a dataset. A source list has some unique properties. The most relevant ones are the score and risk. The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n Each source list groups several collections of resource by the lapse of time or time range that they are related to according to their age. Each group by time range has a score and a risk.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``source``: (Mandatory) The code name that identifies uniquely the source list in the platform. It must be composed of uppercase letters, numbers and underscores.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual source list information.\n- ``dataset``: the URI to the dataset that aggregates the resources of this list.\n- ``name``: the unique name of the source list. Must be uppercase letters, numbers and underscores.\n- ``description``: a human readable long description of the source list.\n- ``source``: Origin of the list.\n- ``url``: The URL where the source list was found.\n- ``refresh``: The refresh period of the source list.\n- ``minimum_score``: The minimum score found in the different source list time ranges. Is in the range 0-99.\n- ``maximum_score``: The maximum score found in the different source list time ranges. Is in the range 0-99.\n- ``minimum_risk``: The minimum human readable risk score found in the different source list time ranges. Can be UNKNOWN, LOW, MEDIUM or HIGH.\n- ``maximum_risk``: The maximum human readable risk score found in the different source list time ranges. Can be UNKNOWN, LOW, MEDIUM or HIGH.\n- ``time_range``: the list of URIs pointing to the different source list time ranges information.\n- ``updated_at``: The UNIX timestamp in milliseconds of last update of the source list.\n- ``subscriptions``: The list of subscription levels that can access this source list.\n\n### Errors\n- a `404 Not Found` error if the source list code name was not found.\n- a `422 Unprocessable Entity` error if source list code name does not follow the naming convention.\n\nIt will return the API Global errors described in the API description.","operationId":"get_source_info_v1_source_ip__source__get","parameters":[{"in":"path","name":"source","required":true,"schema":{"pattern":"^([A-Z0-9\\_]+)$","title":"Source","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v1__models__source__SourceOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the full information of the source list given as argument.","tags":["Data sources"]}},"/v1/source/ip/{source}/range/{time_range}":{"get":{"description":"### What\nObtain the meta information of the source list and the time range given as arguments. A source list is a collection of resources combined together with other sources to create a dataset. A source list has some unique properties. The most relevant ones are the score and risk. The score is a number **between 0 and 99** describing the probability of the IP address being a malicious one, being **0** means that the IP address is not malicious and is not a threat. Being **99** means that the service behind the IP address is probably malicious an certainly a threat.\n\n The time ranges or lapse of time of each source are how the resources are stored according to their age. Each group by time range has a score and a risk.\n\n### Parameters\nThe endpoint accepts the following two parameters in the path:\n- ``source``: (Mandatory) The code name that identifies uniquely the source list in the platform. It must be composed of uppercase letters, numbers and underscores.\n- ``time_range``: (Mandatory) The code name that identifies uniquely the time ranges. Must be: 1H, 6H, 12H, 1D, 7D, 30D, 90D, 180D y 365D.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual source list and time range information.\n- ``source``: the URI to individual source list information.\n- ``items``: Number of elements in the source list in the time range given.\n- ``lapse``: The lapse of time or time range of the specific source list. Can be 1H, 6H, 12H, 1D, 7D, 30D, 90D, 180D or 365D.\n- ``score``: The score found in the source list time range. Is in the range 0-99.\n- ``risk``: The human readable risk score found in the source list time range. Can be UNKNOWN, LOW, MEDIUM or HIGH.\n- ``updated_at``: The UNIX timestamp in milliseconds of last update of the source list.\n\n### Errors\n- a `404 Not Found` error if the source list code name was not found.\n- a `404 Not Found` error if the time range was not found.\n- a `422 Unprocessable Entity` error if source list code name or time ranges does not follow the naming convention.\n\nIt will return the API Global errors described in the API description.","operationId":"get_source_and_timerange_info_v1_source_ip__source__range__time_range__get","parameters":[{"in":"path","name":"source","required":true,"schema":{"pattern":"^([A-Z0-9\\_]+)$","title":"Source","type":"string"}},{"in":"path","name":"time_range","required":true,"schema":{"enum":["1H","6H","12H","1D","7D","30D","90D","180D","365D"],"title":"Time Range","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceTimeRangeOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the source list given for a specific time range.","tags":["Data sources"]}},"/v1/token":{"get":{"description":"### What\nObtain the list of all the token attributes of the current user in the selected region. The purpose of this function is to show the current values of the user's quota.\n\n### Parameters\nNo parameters are required. The token is obtained automatically from the `Bearer` in the header.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to individual token information.\n- ``region_id``: the name of the region where the token is valid.\n- ``last_month_bucket_init_value``: the initial value of the monthly bucket.\n- ``last_month_bucket_value``: the current value of consumed quota in the monthly bucket.\n- ``last_month_bucket_refresh``: Unix timestamp in milliseconds of the next monthly bucket reset.\n- ``last_minute_bucket_init_value``: the initial value of the per minute bucket.\n- ``last_minute_bucket_value``: the current value of consumed quota in the per minute bucket.\n- ``last_minute_bucket_refresh``: Unix timestamp in milliseconds of the next per minute bucket reset.\n- ``last_minute_bucket_refill_ratio``: the number of tokens to add every second to the per minute bucket.\n- ``status``: the status of the token. The only allowed value is ``ENABLED``.\n- ``created_at``: the date and time when the token was created in UNIX timestamp in milliseconds.\n- ``updated_at``: the date and time when the token was last updated in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_token_info_v1_token_get","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOutput"}}},"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the user's token in the region.","tags":["Authentication Token management in this region"]}},"/v1/token/activity":{"get":{"description":"### What\nObtain the list of all the activity events of the current user in the selected region. The purpose of this function is to show what actions performed a user with the specific token.\n\n### Parameters\nThe following pagination parameters are required as query string parameters:\n- ``page``: (Optional) the page number to retrieve. The first page is 1. Default is 1.\n- ``page_size``: (Optional) the number of items per page. Default is 20.\n\nThe token is obtained automatically from the `Bearer` in the header.\n\n### Result\nThe result is a JSON object with the following fields:\n- ``self``: the URI to all activities of the token.\n- ``activities``: a list of activities performed by the user with the token.\n    - ``self``: the URI to individual activity information.\n    - ``event``: ID of the reference of the event type.\n    - ``description``: Human readable description of the event.\n    - ``data``: the payload of the event. It can be empty.\n    - ``source``: A JSON object with the following fields:\n        - ``address``: the IP address of the client.\n        - ``ua_string``: the user agent string of the client.\n        - ``status_code``: the HTTP status code of the response.\n        - ``uri``: the URI of the request.\n        - ``body``: the body of the request.\n        - ``method``: the HTTP method of the request.\n    - ``created_at``: the date and time when the token was created in UNIX timestamp in milliseconds.\n\n### Errors\nIt will return the API Global errors described in the API description.","operationId":"query_token_activity_v1_token_activity_get","parameters":[{"description":"The page to be returned","in":"query","name":"page","required":false,"schema":{"default":1,"description":"The page to be returned","title":"Page number","type":"integer","x-min":1}},{"description":"The number of items per page","in":"query","name":"page_size","required":false,"schema":{"default":20,"description":"The number of items per page","title":"Page size","type":"integer","x-max":100,"x-min":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityCollectionOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the activity information of the token in the region.","tags":["Authentication Token management in this region"]}},"/v1/ua":{"post":{"description":"### What\nGet the information found in the list of User Agents passed as argument. This information includes:\n- Type\n- Render Engine\n- Version\n- Vendor\n- Operating System\n- Device\n- How common is the agent worldwide\n\n### Parameters\nA list of User Agents are required in the body of the request.\n\n### Result\nThe result contains a list of the result for each User Agent, with the following data set:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``string``:  The full user agent string passed as argument.\n- ``classification``: The classification of the user agent. It can be one of the following: ``CRAWLER``, ``CLIENT``, ``UNKNOWN``.\n- ``type``: An URI to the type of user agent used to identify the client (browser, bot, crawler, etc.).\n- ``agent``: Name of the agent and the version, if any.\n- ``engine``: Agent render engine.\n- ``version``: Version of the agent.\n- ``latest``: Latests known version of the agent.\n- ``family``: URI to the family of the agent.\n- ``vendor``: URI to the vendor or company that produces the agent.\n- ``os``: URI to the operating system used by the agent.\n- ``device``: URI to the device used by the agent.\n- ``frequent``: If the agent is frequently used worlwide or not. The values are ``COMMON``, ``RARE``, and ``UNKNOWN``.\n\n\n### Errors\nThe endpoint will return the API Global errors described in the API description.","operationId":"parse_user_agents_v1_ua_post","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"string"},"maxItems":100,"minItems":1,"title":"User Agents","type":"array","uniqueItems":true}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UACollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information found in a set of User Agents.","tags":["User Agent"]}},"/v1/ua/csv":{"post":{"description":"### What\nGet the information found in the list of User Agents uploaded as a CSV file. This information includes:\n- Type\n- Render Engine\n- Version\n- Vendor\n- Operating System\n- Device\n- How common is the agent worldwide\n\n### Parameters\n- A text file with a list of User Agents.\n- A header `Content-Type: multipart/form-data` is required.\n\nExample:\n```\ncurl -X 'POST' \\\n  'https://dublin.api.threatjammer.com/v1/ua/csv' \\\n  -H 'accept: application/json' \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: multipart/form-data' \\\n  -F 'csv_file=@YOUR_TEXT_FILE;type=text/csv'\n```\n\n### Result\nThe result contains a list of the result for each User Agent, with the following data set:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``string``:  The full user agent string passed as argument.\n- ``classification``: The classification of the user agent. It can be one of the following: ``CRAWLER``, ``CLIENT``, ``UNKNOWN``.\n- ``type``: An URI to the type of user agent used to identify the client (browser, bot, crawler, etc.).\n- ``agent``: Name of the agent and the version, if any.\n- ``engine``: Agent render engine.\n- ``version``: Version of the agent.\n- ``latest``: Latests known version of the agent.\n- ``family``: URI to the family of the agent.\n- ``vendor``: URI to the vendor or company that produces the agent.\n- ``os``: URI to the operating system used by the agent.\n- ``device``: URI to the device used by the agent.\n- ``frequent``: If the agent is frequently used worlwide or not. The values are ``COMMON``, ``RARE``, and ``UNKNOWN``.\n\n\n### Errors\nThe endpoint will return the API Global errors described in the API description.","operationId":"parse_user_agents_csv_v1_ua_csv_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parse_user_agents_csv_v1_ua_csv_post"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UACollectionOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information found in the set of User Agents uploaded.","tags":["User Agent"]}},"/v1/ua/device/{code}":{"get":{"description":"### What\nObtain the details of a device of a User Agent.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the device origin of a User Agent. The value must be an alphanumeric upper case string.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the device.\n- ``description``: the human readable description of the device.\n- ``code``: the internal code of the device in the system.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_device_by_code_v1_ua_device__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the device of a user agent.","tags":["User Agent"]}},"/v1/ua/family/{code}":{"get":{"description":"### What\nObtain the details of a family of a User Agent.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the family of a User Agent. The value must be an alphanumeric upper case string.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the family.\n- ``description``: the human readable description of the famly.\n- ``code``: the internal code of the family in the system.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_family_by_code_v1_ua_family__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the family of a user agent.","tags":["User Agent"]}},"/v1/ua/os/{code}":{"get":{"description":"### What\nObtain the details of the Operating System of a User Agent.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the Operating System at the origin of a User Agent. The value must be an alphanumeric upper case string.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the OS.\n- ``description``: the human readable description of the OS.\n- ``code``: the internal code of the OS in the system.\n- ``family``: the family of the OS.\n- ``vendor``: the vendor or manufacturer of the OS.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_os_by_code_v1_ua_os__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OSOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the Operating System of a user agent.","tags":["User Agent"]}},"/v1/ua/type/{code}":{"get":{"description":"### What\nObtain the details of a type of a User Agent.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the type of a User Agent. The value must be an alphanumeric upper case string.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the type.\n- ``description``: the human readable description of the type.\n- ``code``: the internal code of the type in the system.\n- ``type``: the type of the User Agent. Can be ``INTERACTIVE``, ``CRAWLER`` or ``UNKNOWN`` if the type is not known.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_type_by_code_v1_ua_type__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypeOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the type of a user agent.","tags":["User Agent"]}},"/v1/ua/vendor/{code}":{"get":{"description":"### What\nObtain the details of a vendor of a User Agent.\n\n### Parameters\nThe endpoint accepts only the following parameter in the path:\n- ``code``: (Mandatory) The code that identifies uniquely the vendor or manufacurer of a User Agent. The value must be an alphanumeric upper case string.\n\n\n### Result\nThe result is a JSON object with the following structure:\n- ``self``: the URI to the vendor.\n- ``description``: the human readable description of the vendor.\n- ``code``: the internal code of the vendor in the system.\n\n### Errors\n- a `422 Unprocessable Entity` error if the code is not one of the available.\n\nIt will also return the API Global errors described in the API description.","operationId":"query_vendor_by_code_v1_ua_vendor__code__get","parameters":[{"in":"path","name":"code","required":true,"schema":{"pattern":"^[A-Z0-9_]+","title":"Code","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorOutput"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information of the vendor of a user agent.","tags":["User Agent"]}},"/v1/ua/{user_agent_urlencoded}":{"get":{"description":"### What\nGet the information found in the User Agent passed as argument. This information includes:\n- Type\n- Render Engine\n- Version\n- Vendor\n- Operating System\n- Device\n- How common is the agent worldwide\n\n\n### Parameters\nThe only argument accepted in the query string is an URL encoded User Agent string.\n\n### Result\nThe result contains the following set of data:\n\nThe result is a JSON object with the following structure:\n- ``self``: the URI of the API call\n- ``string``:  The full user agent string passed as argument.\n- ``classification``: The classification of the user agent. It can be one of the following: ``CRAWLER``, ``CLIENT``, ``UNKNOWN``.\n- ``type``: An URI to the type of user agent used to identify the client (browser, bot, crawler, etc.).\n- ``agent``: Name of the agent and the version, if any.\n- ``engine``: Agent render engine.\n- ``version``: Version of the agent.\n- ``latest``: Latests known version of the agent.\n- ``family``: URI to the family of the agent.\n- ``vendor``: URI to the vendor or company that produces the agent.\n- ``os``: URI to the operating system used by the agent.\n- ``device``: URI to the device used by the agent.\n- ``frequent``: If the agent is frequently used worlwide or not. The values are ``COMMON``, ``RARE``, and ``UNKNOWN``.\n\n\n### Errors\nThe endpoint will return the API Global errors described in the API description.","operationId":"parse_user_agent_v1_ua__user_agent_urlencoded__get","parameters":[{"in":"path","name":"user_agent_urlencoded","required":true,"schema":{"title":"User Agent Urlencoded","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UAOutput"}}},"description":"The server will return a valid answer in the following cases:"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBearer":[]}],"summary":"Get the information found in an User Agent.","tags":["User Agent"]}}},"components":{"schemas":{"AclGroupOriginCollectionOutput":{"properties":{"lists":{"items":{"$ref":"#/components/schemas/AclGroupOriginOutput"},"title":"Lists","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","lists"],"title":"AclGroupOriginCollectionOutput","type":"object"},"AclGroupOriginOutput":{"properties":{"created_at":{"title":"Created At","type":"integer"},"origin":{"title":"Origin","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["INACTIVE","ACTIVE","EXPIRED"],"title":"Status","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","origin","status","created_at","updated_at"],"title":"AclGroupOriginOutput","type":"object"},"AclListCollectionOutput":{"properties":{"asns":{"default":[],"items":{"type":"string"},"title":"Asns","type":"array"},"cidrs":{"default":[],"items":{"type":"string"},"title":"Cidrs","type":"array"},"continents":{"default":[],"items":{"type":"string"},"title":"Continents","type":"array"},"countries":{"default":[],"items":{"type":"string"},"title":"Countries","type":"array"},"datacenters":{"default":[],"items":{"type":"string"},"title":"Datacenters","type":"array"},"reported":{"items":{"type":"string"},"title":"Reported","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self"],"title":"AclListCollectionOutput","type":"object"},"ActivityCollectionOutput":{"properties":{"activities":{"items":{"$ref":"#/components/schemas/ActivityOutput"},"title":"Activities","type":"array"},"page":{"title":"Page","type":"integer"},"page_size":{"title":"Page Size","type":"integer"},"self":{"title":"Self","type":"string"}},"required":["self","page","page_size","activities"],"title":"ActivityCollectionOutput","type":"object"},"ActivityOutput":{"properties":{"created_at":{"title":"Created At","type":"integer"},"data":{"title":"Data","type":"object"},"description":{"title":"Description","type":"string"},"event":{"title":"Event","type":"string"},"self":{"title":"Self","type":"string"},"source":{"$ref":"#/components/schemas/v1__models__token__SourceOutput"}},"required":["self","event","description","data","created_at","source"],"title":"ActivityOutput","type":"object"},"AutonomousSystemOutput":{"properties":{"country_code":{"enum":["AF","AP","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","CV","KH","CM","CA","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","ZZ","EU","RESERVED BY RFC6793"],"title":"Country Code","type":"string"},"description":{"title":"Description","type":"string"},"name":{"title":"Name","type":"string"},"prefixes":{"title":"Prefixes","type":"string"},"registry":{"title":"Registry","type":"string"},"registry_date":{"pattern":"^(\\d{4})(\\d{2})(\\d{2})$","title":"Registry Date","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"},"status":{"title":"Status","type":"string"}},"required":["name","country_code","registry","status","prefixes"],"title":"AutonomousSystemOutput","type":"object"},"AutonomousSystemPrefixOutput":{"description":"AutonomousSystemPrefixResponse class to return the information to the user","properties":{"asn":{"title":"Asn","type":"string"},"description":{"title":"Description","type":"string"},"mantainer":{"title":"Mantainer","type":"string"},"object_type":{"title":"Object Type","type":"string"},"registry_date":{"pattern":"^(\\d{4})(\\d{2})(\\d{2})$","title":"Registry Date","type":"string"},"registry_status":{"title":"Registry Status","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"}},"required":["object_type","mantainer","description"],"title":"AutonomousSystemPrefixOutput","type":"object"},"AutonomousSystemPrefixesOutput":{"properties":{"asn":{"title":"Asn","type":"string"},"prefixes_v4":{"items":{"$ref":"#/components/schemas/AutonomousSystemPrefixOutput"},"title":"Prefixes V4","type":"array"},"prefixes_v6":{"items":{"$ref":"#/components/schemas/AutonomousSystemPrefixOutput"},"title":"Prefixes V6","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","prefixes_v4","prefixes_v6"],"title":"AutonomousSystemPrefixesOutput","type":"object"},"AutonomousSystemRegistryOutput":{"description":"The Registry information","properties":{"code":{"title":"Code","type":"string"},"name":{"title":"Name","type":"string"},"self":{"title":"Self","type":"string"}},"required":["code","name","self"],"title":"AutonomousSystemRegistryOutput","type":"object"},"AutonomousSystemStatusOutput":{"description":"The Status information","properties":{"code":{"title":"Code","type":"string"},"name":{"title":"Name","type":"string"},"self":{"title":"Self","type":"string"}},"required":["code","name","self"],"title":"AutonomousSystemStatusOutput","type":"object"},"Body_assess_ip_set_csv_v1_assess_ip_csv_post":{"properties":{"csv_file":{"description":"The CSV file with the IP addresses","format":"binary","title":"CSV File upload","type":"string"}},"required":["csv_file"],"title":"Body_assess_ip_set_csv_v1_assess_ip_csv_post","type":"object"},"Body_assess_ip_set_csv_v1_geo_csv_post":{"properties":{"csv_file":{"description":"The CSV file with the IP addresses","format":"binary","title":"CSV File upload","type":"string"}},"required":["csv_file"],"title":"Body_assess_ip_set_csv_v1_geo_csv_post","type":"object"},"Body_change_status_of_the_allowlist_v1_allowlist_public__allowlist_id__put":{"properties":{"status":{"description":"The status of the list. ACTIVE or INACTIVE","enum":["ACTIVE","INACTIVE"],"title":"Status of the list","type":"string"}},"required":["status"],"title":"Body_change_status_of_the_allowlist_v1_allowlist_public__allowlist_id__put","type":"object"},"Body_change_status_of_the_denylist_v1_denylist_public__denylist_id__put":{"properties":{"status":{"description":"The status of the list. ACTIVE or INACTIVE","enum":["ACTIVE","INACTIVE"],"title":"Status of the list","type":"string"}},"required":["status"],"title":"Body_change_status_of_the_denylist_v1_denylist_public__denylist_id__put","type":"object"},"Body_change_status_of_the_origin_allowlist_v1_allowlist_private__allowlist_id__origin_put":{"properties":{"origin":{"description":"The protocol and domain of the origin to change the status","format":"uri","maxLength":2083,"minLength":1,"title":"Protocol and domain","type":"string"},"status":{"description":"The status of the list. ACTIVE, INACTIVE, DELETED","enum":["ACTIVE","INACTIVE","DELETED"],"title":"Status of the list","type":"string"}},"required":["origin","status"],"title":"Body_change_status_of_the_origin_allowlist_v1_allowlist_private__allowlist_id__origin_put","type":"object"},"Body_change_status_of_the_origin_allowlist_v1_allowlist_public__allowlist_id__origin_put":{"properties":{"origin":{"description":"The protocol and domain of the origin to change the status","format":"uri","maxLength":2083,"minLength":1,"title":"Protocol and domain","type":"string"},"status":{"description":"The status of the list. ACTIVE, INACTIVE, DELETED","enum":["ACTIVE","INACTIVE","DELETED"],"title":"Status of the list","type":"string"}},"required":["origin","status"],"title":"Body_change_status_of_the_origin_allowlist_v1_allowlist_public__allowlist_id__origin_put","type":"object"},"Body_change_status_of_the_origin_denylist_v1_denylist_private__denylist_id__origin_put":{"properties":{"origin":{"description":"The protocol and domain of the origin to change the status","format":"uri","maxLength":2083,"minLength":1,"title":"Protocol and domain","type":"string"},"status":{"description":"The status of the list. ACTIVE, INACTIVE, DELETED","enum":["ACTIVE","INACTIVE","DELETED"],"title":"Status of the list","type":"string"}},"required":["origin","status"],"title":"Body_change_status_of_the_origin_denylist_v1_denylist_private__denylist_id__origin_put","type":"object"},"Body_change_status_of_the_origin_denylist_v1_denylist_public__denylist_id__origin_put":{"properties":{"origin":{"description":"The protocol and domain of the origin to change the status","format":"uri","maxLength":2083,"minLength":1,"title":"Protocol and domain","type":"string"},"status":{"description":"The status of the list. ACTIVE, INACTIVE, DELETED","enum":["ACTIVE","INACTIVE","DELETED"],"title":"Status of the list","type":"string"}},"required":["origin","status"],"title":"Body_change_status_of_the_origin_denylist_v1_denylist_public__denylist_id__origin_put","type":"object"},"Body_create_private_allowlist_of_the_user_v1_allowlist_private_post":{"properties":{"payload":{"allOf":[{"$ref":"#/components/schemas/PrivateAclGroupListInput"}],"description":"The information needed to create a new allowlist","title":"Name of the list"}},"required":["payload"],"title":"Body_create_private_allowlist_of_the_user_v1_allowlist_private_post","type":"object"},"Body_create_private_denylist_of_the_user_v1_denylist_private_post":{"properties":{"payload":{"allOf":[{"$ref":"#/components/schemas/PrivateAclGroupListInput"}],"description":"The information needed to create a new denylist","title":"Name of the list"}},"required":["payload"],"title":"Body_create_private_denylist_of_the_user_v1_denylist_private_post","type":"object"},"Body_delete_token_v1_origin_token_delete":{"properties":{"origin_token_id":{"title":"Origin Token Id","type":"string"}},"required":["origin_token_id"],"title":"Body_delete_token_v1_origin_token_delete","type":"object"},"Body_disable_origin_token_v1_origin_token_disable_put":{"properties":{"origin_token_id":{"title":"Origin Token Id","type":"string"}},"required":["origin_token_id"],"title":"Body_disable_origin_token_v1_origin_token_disable_put","type":"object"},"Body_enable_origin_token_v1_origin_token_enable_put":{"properties":{"origin_token_id":{"title":"Origin Token Id","type":"string"}},"required":["origin_token_id"],"title":"Body_enable_origin_token_v1_origin_token_enable_put","type":"object"},"Body_parse_user_agents_csv_v1_ua_csv_post":{"properties":{"csv_file":{"description":"The CSV file with the User Agents to parse","format":"binary","title":"CSV File upload","type":"string"}},"required":["csv_file"],"title":"Body_parse_user_agents_csv_v1_ua_csv_post","type":"object"},"Body_query_asn_prefix_information_v1_asn_prefix_post":{"properties":{"prefix":{"format":"ipvanynetwork","title":"Prefix","type":"string"}},"required":["prefix"],"title":"Body_query_asn_prefix_information_v1_asn_prefix_post","type":"object"},"Body_query_datacenter_prefix_information_v1_datacenter_prefix_post":{"properties":{"prefix":{"format":"ipvanynetwork","title":"Prefix","type":"string"}},"required":["prefix"],"title":"Body_query_datacenter_prefix_information_v1_datacenter_prefix_post","type":"object"},"Body_query_origin_status_v1_origin_status_post":{"properties":{"address":{"anyOf":[{"format":"ipv4","type":"string"},{"format":"ipv6","type":"string"}],"description":"The IP address to query the status","title":"IP address"},"cookie_id":{"description":"The cookie id to query the status","format":"uuid","title":"Cookie ID","type":"string"}},"title":"Body_query_origin_status_v1_origin_status_post","type":"object"},"Body_query_origin_token_info_v1_origin_token_post":{"properties":{"origin_token_id":{"title":"Origin Token Id","type":"string"}},"required":["origin_token_id"],"title":"Body_query_origin_token_info_v1_origin_token_post","type":"object"},"Body_update_configuration_origin_v1_origin_put":{"properties":{"config":{"description":"The configuration information to store in the origin.","title":"Configuration","type":"object"},"origin":{"description":"The origin site to modify the configruation","title":"Origin","type":"string"}},"required":["origin"],"title":"Body_update_configuration_origin_v1_origin_put","type":"object"},"Body_update_origin_status_v1_origin_status_put":{"properties":{"log_id":{"description":"The log id to change the status","format":"uuid","title":"Origin Log ID","type":"string"},"scope":{"description":"The scope to change the status","enum":["address_and_cookie","address","cookie"],"title":"Scope of the change","type":"string"},"status":{"description":"The status id to change the details","enum":["pass","block","challenge","bypass","ignore"],"title":"Status to change","type":"string"}},"title":"Body_update_origin_status_v1_origin_status_put","type":"object"},"Body_update_private_allowlist_of_the_user_v1_allowlist_private__allowlist_id__put":{"properties":{"description":{"description":"The human readable full description of the list","title":"Description of the list","type":"string"},"name":{"description":"The name of the list","title":"Name of the list","type":"string"},"tags":{"description":"The list of tags to associate with the list","items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Taxonomies of the list","type":"array"},"ttl":{"description":"Optional. The Time To Live (TTL) of a resource in the list in seconds.","title":"Expiry time","type":"integer"}},"title":"Body_update_private_allowlist_of_the_user_v1_allowlist_private__allowlist_id__put","type":"object"},"Body_update_private_content_of_the_allowlist_of_the_user_v1_allowlist_private__allowlist_id__content_put":{"properties":{"append":{"description":"The name of the resources to append to the allowlist","items":{"type":"string"},"title":"List of resources to append","type":"array"},"remove":{"description":"The name of the resources to remove from the allowlist","items":{"type":"string"},"title":"List of resources to remove","type":"array"}},"title":"Body_update_private_content_of_the_allowlist_of_the_user_v1_allowlist_private__allowlist_id__content_put","type":"object"},"Body_update_private_content_of_the_denylist_of_the_user_v1_denylist_private__denylist_id__content_put":{"properties":{"append":{"description":"The name of the resources to append to the denylist","items":{"type":"string"},"title":"List of resources to append","type":"array"},"remove":{"description":"The name of the resources to remove from the denylist","items":{"type":"string"},"title":"List of resources to remove","type":"array"}},"title":"Body_update_private_content_of_the_denylist_of_the_user_v1_denylist_private__denylist_id__content_put","type":"object"},"Body_update_private_denylist_of_the_user_v1_denylist_private__denylist_id__put":{"properties":{"description":{"description":"The human readable full description of the list","title":"Description of the list","type":"string"},"name":{"description":"The name of the list","title":"Name of the list","type":"string"},"tags":{"description":"The list of tags to associate with the list","items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Taxonomies of the list","type":"array"},"ttl":{"description":"Optional. The Time To Live (TTL) of a resource in the list in seconds.","title":"Expiry time","type":"integer"}},"title":"Body_update_private_denylist_of_the_user_v1_denylist_private__denylist_id__put","type":"object"},"DatacenterOutput":{"properties":{"asn":{"title":"Asn","type":"string"},"description":{"title":"Description","type":"string"},"name":{"title":"Name","type":"string"},"prefixes":{"title":"Prefixes","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"},"source":{"title":"Source","type":"string"},"status":{"default":"enabled","enum":["disabled","enabled"],"title":"Status","type":"string"}},"required":["self","name","source","asn","prefixes"],"title":"DatacenterOutput","type":"object"},"DatacenterPrefixOutput":{"properties":{"datacenter":{"title":"Datacenter","type":"string"},"ip_abuse_total":{"default":0,"title":"Ip Abuse Total","type":"integer"},"max_score":{"default":0,"title":"Max Score","type":"integer"},"min_score":{"default":0,"title":"Min Score","type":"integer"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"}},"required":["datacenter"],"title":"DatacenterPrefixOutput","type":"object"},"DatacenterPrefixesOutput":{"properties":{"prefixes_v4":{"items":{"$ref":"#/components/schemas/DatacenterPrefixOutput"},"title":"Prefixes V4","type":"array"},"prefixes_v6":{"items":{"$ref":"#/components/schemas/DatacenterPrefixOutput"},"title":"Prefixes V6","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","prefixes_v4","prefixes_v6"],"title":"DatacenterPrefixesOutput","type":"object"},"DatasetTypeCollectionOutput":{"properties":{"self":{"title":"Self","type":"string"},"types":{"items":{"$ref":"#/components/schemas/DatasetTypeOutput"},"title":"Types","type":"array"}},"required":["self","types"],"title":"DatasetTypeCollectionOutput","type":"object"},"DatasetTypeOutput":{"description":"The Status information","properties":{"description":{"title":"Description","type":"string"},"items":{"title":"Items","type":"integer"},"name":{"title":"Name","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["ENABLED","DISABLED"],"title":"Status","type":"string"},"type":{"enum":["ip","domain"],"title":"Type","type":"string"}},"required":["self","type","name","description","status","items"],"title":"DatasetTypeOutput","type":"object"},"DeviceOutput":{"properties":{"code":{"title":"Code","type":"string"},"description":{"title":"Description","type":"string"}},"required":["code","description"],"title":"DeviceOutput","type":"object"},"FamilyOutput":{"properties":{"code":{"title":"Code","type":"string"},"description":{"title":"Description","type":"string"}},"required":["code","description"],"title":"FamilyOutput","type":"object"},"GeoIPCollectionOutput":{"properties":{"results":{"items":{"$ref":"#/components/schemas/GeoIPOutput"},"title":"Results","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","results"],"title":"GeoIPCollectionOutput","type":"object"},"GeoIPOutput":{"properties":{"accuracy_radius":{"title":"Accuracy Radius","type":"number"},"asn_country_iso_code":{"title":"Asn Country Iso Code","type":"string"},"city_geoname_code":{"title":"City Geoname Code","type":"integer"},"city_name":{"title":"City Name","type":"string"},"continent_code":{"title":"Continent Code","type":"string"},"country_iso_code":{"title":"Country Iso Code","type":"string"},"hostnames":{"items":{"type":"string"},"title":"Hostnames","type":"array"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"postal_code":{"title":"Postal Code","type":"string"},"region_geoname_code":{"title":"Region Geoname Code","type":"integer"},"region_name":{"title":"Region Name","type":"string"},"self":{"title":"Self","type":"string"},"time_zone":{"title":"Time Zone","type":"string"}},"required":["hostnames","latitude","longitude","time_zone","accuracy_radius","postal_code","city_name","city_geoname_code","region_name","region_geoname_code","country_iso_code","asn_country_iso_code","continent_code"],"title":"GeoIPOutput","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"IPAssessmentCollectionOutput":{"properties":{"results":{"items":{"$ref":"#/components/schemas/IPAssessmentOutput"},"title":"Results","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","results"],"title":"IPAssessmentCollectionOutput","type":"object"},"IPAssessmentOutput":{"properties":{"allowlisted":{"title":"Allowlisted","type":"string"},"asn":{"title":"Asn","type":"string"},"asn_prefix":{"title":"Asn Prefix","type":"string"},"datacenter":{"title":"Datacenter","type":"string"},"datacenter_prefix":{"title":"Datacenter Prefix","type":"string"},"datasets":{"items":{"type":"string"},"title":"Datasets","type":"array"},"denylisted":{"title":"Denylisted","type":"string"},"first_appearance":{"items":{"type":"string"},"title":"First Appearance","type":"array"},"last_appearance":{"items":{"type":"string"},"title":"Last Appearance","type":"array"},"reason":{"title":"Reason","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"},"sources":{"items":{"type":"string"},"title":"Sources","type":"array"}},"required":["risk","datasets","sources","first_appearance","last_appearance","asn","asn_prefix","reason","denylisted","allowlisted","datacenter","datacenter_prefix"],"title":"IPAssessmentOutput","type":"object"},"IPListCollectionOutput":{"properties":{"addresses":{"items":{"$ref":"#/components/schemas/IPListOutput"},"title":"Addresses","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","addresses"],"title":"IPListCollectionOutput","type":"object"},"IPListOutput":{"properties":{"dataset":{"title":"Dataset","type":"string"},"expiry":{"title":"Expiry","type":"integer"},"last_report":{"title":"Last Report","type":"integer"},"protocol":{"enum":["ALL","IPV4","IPV6"],"title":"Protocol","type":"string"},"self":{"title":"Self","type":"string"},"tags":{"items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Tags","type":"array"},"total_reports":{"title":"Total Reports","type":"integer"}},"required":["self","last_report","total_reports","dataset","expiry","protocol"],"title":"IPListOutput","type":"object"},"IPLogCollectionOutput":{"properties":{"logs":{"items":{"$ref":"#/components/schemas/IPLogOutput"},"title":"Logs","type":"array"},"self":{"title":"Self","type":"string"}},"required":["logs","debug"],"title":"IPLogCollectionOutput","type":"object"},"IPLogOutput":{"properties":{"action":{"enum":["ADD","DELETE"],"title":"Action","type":"string"},"cidr":{"title":"Cidr","type":"string"},"dataset":{"title":"Dataset","type":"string"},"lapse":{"enum":["1H","6H","12H","1D","7D","30D","90D","180D","365D"],"title":"Lapse","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"},"source":{"title":"Source","type":"string"},"timestamp":{"title":"Timestamp","type":"integer"}},"required":["risk","dataset","source","lapse","action","timestamp","debug"],"title":"IPLogOutput","type":"object"},"OSOutput":{"properties":{"code":{"title":"Code","type":"string"},"description":{"title":"Description","type":"string"},"family":{"title":"Family","type":"string"},"vendor":{"title":"Vendor","type":"string"}},"required":["code","description","family","vendor"],"title":"OSOutput","type":"object"},"OriginAddressStatusCollectionOutput":{"properties":{"addresses":{"items":{"$ref":"#/components/schemas/OriginAddressStatusOutput"},"title":"Addresses","type":"array"},"page":{"title":"Page","type":"integer"},"page_size":{"title":"Page Size","type":"integer"},"self":{"title":"Self","type":"string"}},"required":["self","page","page_size","addresses"],"title":"OriginAddressStatusCollectionOutput","type":"object"},"OriginAddressStatusOutput":{"properties":{"address":{"title":"Address","type":"string"},"created_at":{"title":"Created At","type":"integer"},"expiry":{"title":"Expiry","type":"integer"},"log_id":{"title":"Log Id","type":"string"},"status":{"title":"Status","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["status","address"],"title":"OriginAddressStatusOutput","type":"object"},"OriginClientAnalysisCollectionOutput":{"properties":{"data":{"items":{"$ref":"#/components/schemas/OriginClientAnalysisOutput"},"title":"Data","type":"array"},"from_timestamp":{"title":"From Timestamp","type":"integer"},"interval":{"title":"Interval","type":"string"},"self":{"title":"Self","type":"string"},"to_timestamp":{"title":"To Timestamp","type":"integer"}},"required":["self","interval","from_timestamp","to_timestamp","data"],"title":"OriginClientAnalysisCollectionOutput","type":"object"},"OriginClientAnalysisOutput":{"properties":{"client_browser":{"title":"Client Browser","type":"integer"},"client_crawler":{"title":"Client Crawler","type":"integer"},"client_email":{"title":"Client Email","type":"integer"},"client_library":{"title":"Client Library","type":"integer"},"client_mobile_browser":{"title":"Client Mobile Browser","type":"integer"},"client_multimedia_player":{"title":"Client Multimedia Player","type":"integer"},"client_offline_browser":{"title":"Client Offline Browser","type":"integer"},"client_total":{"title":"Client Total","type":"integer"},"client_ua_anonymizer":{"title":"Client Ua Anonymizer","type":"integer"},"client_unrecognized":{"title":"Client Unrecognized","type":"integer"},"client_validator":{"title":"Client Validator","type":"integer"},"client_wap_browser":{"title":"Client Wap Browser","type":"integer"},"crawler_feed_fetcher":{"title":"Crawler Feed Fetcher","type":"integer"},"crawler_link_checker":{"title":"Crawler Link Checker","type":"integer"},"crawler_marketing":{"title":"Crawler Marketing","type":"integer"},"crawler_screenshot_creator":{"title":"Crawler Screenshot Creator","type":"integer"},"crawler_search_engine_bot":{"title":"Crawler Search Engine Bot","type":"integer"},"crawler_site_monitor":{"title":"Crawler Site Monitor","type":"integer"},"crawler_speed_tester":{"title":"Crawler Speed Tester","type":"integer"},"crawler_tool":{"title":"Crawler Tool","type":"integer"},"crawler_total":{"title":"Crawler Total","type":"integer"},"crawler_uncategorised":{"title":"Crawler Uncategorised","type":"integer"},"crawler_unrecognized":{"title":"Crawler Unrecognized","type":"integer"},"crawler_virus_scanner":{"title":"Crawler Virus Scanner","type":"integer"},"crawler_vulnerability_scanner":{"title":"Crawler Vulnerability Scanner","type":"integer"},"crawler_web_scraper":{"title":"Crawler Web Scraper","type":"integer"},"timestamp":{"title":"Timestamp","type":"integer"},"total":{"title":"Total","type":"integer"}},"required":["timestamp","total","client_total","crawler_total","client_browser","client_crawler","client_email","client_library","client_mobile_browser","client_multimedia_player","client_offline_browser","client_unrecognized","client_ua_anonymizer","client_validator","client_wap_browser","crawler_feed_fetcher","crawler_link_checker","crawler_marketing","crawler_screenshot_creator","crawler_search_engine_bot","crawler_site_monitor","crawler_speed_tester","crawler_tool","crawler_uncategorised","crawler_unrecognized","crawler_virus_scanner","crawler_vulnerability_scanner","crawler_web_scraper"],"title":"OriginClientAnalysisOutput","type":"object"},"OriginCollectionOutput":{"properties":{"origins":{"items":{"$ref":"#/components/schemas/OriginOutput"},"title":"Origins","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","origins"],"title":"OriginCollectionOutput","type":"object"},"OriginCookieIdStatusCollectionOutput":{"properties":{"cookie_ids":{"items":{"$ref":"#/components/schemas/OriginCookieIdStatusOutput"},"title":"Cookie Ids","type":"array"},"page":{"title":"Page","type":"integer"},"page_size":{"title":"Page Size","type":"integer"},"self":{"title":"Self","type":"string"}},"required":["self","page","page_size","cookie_ids"],"title":"OriginCookieIdStatusCollectionOutput","type":"object"},"OriginCookieIdStatusOutput":{"properties":{"cookie_id":{"title":"Cookie Id","type":"string"},"created_at":{"title":"Created At","type":"integer"},"expiry":{"title":"Expiry","type":"integer"},"log_id":{"title":"Log Id","type":"string"},"status":{"title":"Status","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["status","cookie_id"],"title":"OriginCookieIdStatusOutput","type":"object"},"OriginOutput":{"properties":{"actions":{"title":"Actions","type":"string"},"addresses":{"title":"Addresses","type":"string"},"config":{"title":"Config","type":"object"},"cookies":{"title":"Cookies","type":"string"},"created_at":{"title":"Created At","type":"integer"},"logs":{"title":"Logs","type":"string"},"origin":{"title":"Origin","type":"string"},"scripts":{"title":"Scripts","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["ENABLED","DISABLED"],"title":"Status","type":"string"},"token":{"title":"Token","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","origin","status","token","config","logs","addresses","cookies","actions","scripts","created_at","updated_at"],"title":"OriginOutput","type":"object"},"OriginScriptsOutput":{"properties":{"detection":{"title":"Detection","type":"string"},"self":{"title":"Self","type":"string"}},"required":["self","detection"],"title":"OriginScriptsOutput","type":"object"},"OriginStatusDetailsCollectionOutput":{"properties":{"list":{"items":{"$ref":"#/components/schemas/OriginStatusDetailsOutput"},"title":"List","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","list"],"title":"OriginStatusDetailsCollectionOutput","type":"object"},"OriginStatusDetailsOutput":{"properties":{"cardinality":{"title":"Cardinality","type":"integer"},"description":{"title":"Description","type":"string"},"self":{"title":"Self","type":"string"},"status":{"title":"Status","type":"string"}},"required":["self","status","description","cardinality"],"title":"OriginStatusDetailsOutput","type":"object"},"OriginStatusOutput":{"properties":{"address":{"$ref":"#/components/schemas/OriginAddressStatusOutput"},"cookie_id":{"$ref":"#/components/schemas/OriginCookieIdStatusOutput"},"self":{"title":"Self","type":"string"}},"required":["self"],"title":"OriginStatusOutput","type":"object"},"OriginTokenCollectionOutput":{"properties":{"self":{"title":"Self","type":"string"},"tokens":{"items":{"$ref":"#/components/schemas/OriginTokenOutput"},"title":"Tokens","type":"array"}},"required":["self","tokens"],"title":"OriginTokenCollectionOutput","type":"object"},"OriginTokenInput":{"properties":{"origin":{"title":"Origin","type":"string"}},"required":["origin"],"title":"OriginTokenInput","type":"object"},"OriginTokenOutput":{"properties":{"created_at":{"title":"Created At","type":"integer"},"origin":{"title":"Origin","type":"string"},"region_id":{"title":"Region Id","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["ENABLED","DISABLED"],"title":"Status","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","region_id","origin","status","created_at","updated_at"],"title":"OriginTokenOutput","type":"object"},"OriginTrafficAnalysisCollectionOutput":{"properties":{"data":{"items":{"$ref":"#/components/schemas/OriginTrafficAnalysisOutput"},"title":"Data","type":"array"},"from_timestamp":{"title":"From Timestamp","type":"integer"},"interval":{"title":"Interval","type":"string"},"self":{"title":"Self","type":"string"},"to_timestamp":{"title":"To Timestamp","type":"integer"}},"required":["self","interval","from_timestamp","to_timestamp","data"],"title":"OriginTrafficAnalysisCollectionOutput","type":"object"},"OriginTrafficAnalysisOutput":{"properties":{"asn_risky":{"title":"Asn Risky","type":"integer"},"bots":{"title":"Bots","type":"integer"},"datacenters":{"title":"Datacenters","type":"integer"},"denylists":{"title":"Denylists","type":"integer"},"network_country_mismatches":{"title":"Network Country Mismatches","type":"integer"},"score_high":{"title":"Score High","type":"integer"},"timestamp":{"title":"Timestamp","type":"integer"},"total":{"title":"Total","type":"integer"},"webdrivers":{"title":"Webdrivers","type":"integer"}},"required":["timestamp","total","score_high","bots","denylists","datacenters","webdrivers","asn_risky","network_country_mismatches"],"title":"OriginTrafficAnalysisOutput","type":"object"},"PrivateAclGroupListCollectionOutput":{"properties":{"lists":{"items":{"$ref":"#/components/schemas/PrivateAclGroupListOutput"},"title":"Lists","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","lists"],"title":"PrivateAclGroupListCollectionOutput","type":"object"},"PrivateAclGroupListInput":{"properties":{"description":{"title":"Description","type":"string"},"name":{"title":"Name","type":"string"},"resource_type":{"enum":["UNKNOWN","CIDR","COUNTRY","CONTINENT","AS","DATACENTER","USERAGENT"],"title":"Resource Type","type":"string"},"tags":{"items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Tags","type":"array"},"ttl":{"title":"Ttl","type":"integer"}},"required":["name","description","resource_type","tags"],"title":"PrivateAclGroupListInput","type":"object"},"PrivateAclGroupListOutput":{"properties":{"content":{"title":"Content","type":"string"},"created_at":{"title":"Created At","type":"integer"},"description":{"title":"Description","type":"string"},"list_type":{"enum":["UNKNOWN","ALLOW","DENY"],"title":"List Type","type":"string"},"name":{"title":"Name","type":"string"},"origins":{"$ref":"#/components/schemas/AclGroupOriginCollectionOutput"},"resource_type":{"enum":["UNKNOWN","CIDR","COUNTRY","CONTINENT","AS","DATACENTER","USERAGENT"],"title":"Resource Type","type":"string"},"self":{"title":"Self","type":"string"},"tags":{"items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Tags","type":"array"},"ttl":{"title":"Ttl","type":"integer"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","name","description","resource_type","list_type","tags","created_at","updated_at","content"],"title":"PrivateAclGroupListOutput","type":"object"},"PrivateAclListCollectionOutput":{"properties":{"asns":{"items":{"type":"integer"},"title":"Asns","type":"array"},"cidrs":{"items":{"anyOf":[{"format":"ipv4network","type":"string"},{"format":"ipv6network","type":"string"}]},"title":"Cidrs","type":"array"},"continents":{"items":{"enum":["AF","AN","AS","EU","NA","OC","SA"],"type":"string"},"title":"Continents","type":"array"},"countries":{"items":{"enum":["AW","AF","AO","AI","AX","AL","AD","AE","AR","AM","AS","AQ","TF","AG","AU","AT","AZ","BI","BE","BJ","BQ","BF","BD","BG","BH","BS","BA","BL","BY","BZ","BM","BO","BR","BB","BN","BT","BV","BW","CF","CA","CC","CH","CL","CN","CI","CM","CD","CG","CK","CO","KM","CV","CR","CU","CW","CX","KY","CY","CZ","DE","DJ","DM","DK","DO","DZ","EC","EG","ER","EH","ES","EE","ET","FI","FJ","FK","FR","FO","FM","GA","GB","GE","GG","GH","GI","GN","GP","GM","GW","GQ","GR","GD","GL","GT","GF","GU","GY","HK","HM","HN","HR","HT","HU","ID","IM","IN","IO","IE","IR","IQ","IS","IL","IT","JM","JE","JO","JP","KZ","KE","KG","KH","KI","KN","KR","KW","LA","LB","LR","LY","LC","LI","LK","LS","LT","LU","LV","MO","MF","MA","MC","MD","MG","MV","MX","MH","MK","ML","MT","MM","ME","MN","MP","MZ","MR","MS","MQ","MU","MW","MY","YT","NA","NC","NE","NF","NG","NI","NU","NL","NO","NP","NR","NZ","OM","PK","PA","PN","PE","PH","PW","PG","PL","PR","KP","PT","PY","PS","PF","QA","RE","RO","RU","RW","SA","SD","SN","SG","GS","SH","SJ","SB","SL","SV","SM","SO","PM","RS","SS","ST","SR","SK","SI","SE","SZ","SX","SC","SY","TC","TD","TG","TH","TJ","TK","TM","TL","TO","TT","TN","TR","TV","TW","TZ","UG","UA","UM","UY","US","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","ZA","ZM","ZW"],"type":"string"},"title":"Countries","type":"array"},"datacenters":{"items":{"type":"string"},"title":"Datacenters","type":"array"},"self":{"title":"Self","type":"string"},"user_agents":{"items":{"type":"string"},"title":"User Agents","type":"array"}},"required":["self"],"title":"PrivateAclListCollectionOutput","type":"object"},"PublicAclGroupListCollectionOutput":{"properties":{"lists":{"items":{"$ref":"#/components/schemas/PublicAclGroupListOutput"},"title":"Lists","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","lists"],"title":"PublicAclGroupListCollectionOutput","type":"object"},"PublicAclGroupListOutput":{"properties":{"created_at":{"title":"Created At","type":"integer"},"description":{"title":"Description","type":"string"},"list_type":{"enum":["UNKNOWN","ALLOW","DENY"],"title":"List Type","type":"string"},"name":{"title":"Name","type":"string"},"origins":{"$ref":"#/components/schemas/AclGroupOriginCollectionOutput"},"resource_type":{"enum":["UNKNOWN","CIDR","COUNTRY","CONTINENT","AS","DATACENTER","USERAGENT"],"title":"Resource Type","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["INACTIVE","ACTIVE","EXPIRED"],"title":"Status","type":"string"},"tags":{"items":{"pattern":"^[A-Z0-9]+(?:-[A-Z0-9]+)*$","type":"string"},"title":"Tags","type":"array"},"ttl":{"title":"Ttl","type":"integer"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","name","description","resource_type","list_type","tags","created_at","updated_at"],"title":"PublicAclGroupListOutput","type":"object"},"SourceCollectionOutput":{"properties":{"self":{"title":"Self","type":"string"},"sources":{"items":{"$ref":"#/components/schemas/v1__models__source__SourceOutput"},"title":"Sources","type":"array"}},"required":["self","sources"],"title":"SourceCollectionOutput","type":"object"},"SourceTimeRangeOutput":{"properties":{"items":{"title":"Items","type":"integer"},"lapse":{"enum":["1H","6H","12H","1D","7D","30D","90D","180D","365D"],"title":"Lapse","type":"string"},"risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Risk","type":"string"},"score":{"title":"Score","type":"integer"},"self":{"title":"Self","type":"string"},"source":{"title":"Source","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","source","lapse","items","score","risk","updated_at"],"title":"SourceTimeRangeOutput","type":"object"},"TokenOutput":{"properties":{"created_at":{"title":"Created At","type":"integer"},"last_minute_bucket_init_value":{"title":"Last Minute Bucket Init Value","type":"integer"},"last_minute_bucket_refill_ratio":{"title":"Last Minute Bucket Refill Ratio","type":"integer"},"last_minute_bucket_refresh":{"title":"Last Minute Bucket Refresh","type":"integer"},"last_minute_bucket_value":{"title":"Last Minute Bucket Value","type":"integer"},"last_month_bucket_init_value":{"title":"Last Month Bucket Init Value","type":"integer"},"last_month_bucket_refresh":{"title":"Last Month Bucket Refresh","type":"integer"},"last_month_bucket_value":{"title":"Last Month Bucket Value","type":"integer"},"region_id":{"title":"Region Id","type":"string"},"self":{"title":"Self","type":"string"},"status":{"enum":["ENABLED","DISABLED"],"title":"Status","type":"string"},"updated_at":{"title":"Updated At","type":"integer"}},"required":["self","region_id","last_month_bucket_init_value","last_month_bucket_value","last_month_bucket_refresh","last_minute_bucket_init_value","last_minute_bucket_refill_ratio","last_minute_bucket_value","last_minute_bucket_refresh","status","created_at","updated_at"],"title":"TokenOutput","type":"object"},"TypeOutput":{"properties":{"code":{"title":"Code","type":"string"},"description":{"title":"Description","type":"string"},"type":{"enum":["INTERACTIVE","CRAWLER","UNKNOWN"],"title":"Type","type":"string"}},"required":["code","description","type"],"title":"TypeOutput","type":"object"},"UACollectionOutput":{"properties":{"results":{"items":{"$ref":"#/components/schemas/UAOutput"},"title":"Results","type":"array"},"self":{"title":"Self","type":"string"}},"required":["self","results"],"title":"UACollectionOutput","type":"object"},"UAOutput":{"properties":{"agent":{"title":"Agent","type":"string"},"classification":{"enum":["CRAWLER","CLIENT","UNKNOWN"],"title":"Classification","type":"string"},"device":{"title":"Device","type":"string"},"engine":{"title":"Engine","type":"string"},"family":{"title":"Family","type":"string"},"frequent":{"enum":["COMMON","RARE","VERY_RARE","UNKNOWN"],"title":"Frequent","type":"string"},"latest":{"title":"Latest","type":"string"},"os":{"title":"Os","type":"string"},"self":{"title":"Self","type":"string"},"string":{"title":"String","type":"string"},"type":{"title":"Type","type":"string"},"vendor":{"title":"Vendor","type":"string"},"version":{"title":"Version","type":"string"}},"required":["string","classification","type","agent","engine","version","latest","family","vendor","os","device","frequent"],"title":"UAOutput","type":"object"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"VendorOutput":{"properties":{"code":{"title":"Code","type":"string"},"description":{"title":"Description","type":"string"}},"required":["code","description"],"title":"VendorOutput","type":"object"},"v1__models__source__SourceOutput":{"properties":{"dataset":{"title":"Dataset","type":"string"},"description":{"title":"Description","type":"string"},"maximum_risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Maximum Risk","type":"string"},"maximum_score":{"title":"Maximum Score","type":"integer"},"minimum_risk":{"enum":["UNKNOWN","LOW","MEDIUM","HIGH"],"title":"Minimum Risk","type":"string"},"minimum_score":{"title":"Minimum Score","type":"integer"},"name":{"title":"Name","type":"string"},"refresh":{"enum":["1H","6H","12H","1D","7D","30D","90D","180D","365D"],"title":"Refresh","type":"string"},"self":{"title":"Self","type":"string"},"source":{"title":"Source","type":"string"},"subscriptions":{"items":{"enum":["FREE","BASIC","PRO","ENTERPRISE"],"type":"string"},"title":"Subscriptions","type":"array"},"time_ranges":{"items":{"type":"string"},"title":"Time Ranges","type":"array"},"updated_at":{"title":"Updated At","type":"integer"},"url":{"title":"Url","type":"string"}},"required":["self","dataset","name","description","source","url","refresh","minimum_score","maximum_score","minimum_risk","maximum_risk","time_ranges","updated_at","subscriptions"],"title":"SourceOutput","type":"object"},"v1__models__token__SourceOutput":{"properties":{"address":{"title":"Address","type":"string"},"body":{"title":"Body","type":"string"},"method":{"title":"Method","type":"string"},"status_code":{"title":"Status Code","type":"integer"},"ua_string":{"title":"Ua String","type":"string"},"uri":{"title":"Uri","type":"string"}},"required":["address","ua_string","status_code","uri","body","method"],"title":"SourceOutput","type":"object"}},"securitySchemes":{"HTTPBearer":{"scheme":"bearer","type":"http"}}}}