UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 279 kB
{"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":{"conte