action threatjammer_query_origin_status_v1_origin_status_post { label: "Get the current cookie ID and IP address status of the origin of user in the region." 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." provider: threatjammer method: POST path: "/v1/origin/status" encoding: json input: { type: "object" properties: { address: { description: "The IP address to query the status" type: "object" } cookie_id: { type: "string" format: "uuid" description: "The cookie id to query the status" } query: { type: "string" description: "The origin site to query" } } required: ["query"] additionalProperties: false } output: { type: "object" required: ["self"] properties: { address: { type: "object" required: ["address", "status"] properties: { address: { type: "string" } created_at: { type: "integer" } expiry: { type: "integer" } log_id: { type: "string" } status: { type: "string" } updated_at: { type: "integer" } } } cookie_id: { type: "object" required: ["cookie_id", "status"] properties: { cookie_id: { type: "string" } created_at: { type: "integer" } expiry: { type: "integer" } log_id: { type: "string" } status: { type: "string" } updated_at: { type: "integer" } } } self: { type: "string" } } } }