# Requests ## List Requests `cloudforce_one.requests.list(RequestListParams**kwargs) -> SyncSinglePage[ListItem]` **post** `/accounts/{account_id}/cloudforce-one/requests` List Requests ### Parameters - `account_id: str` Identifier. - `page: int` Page number of results. - `per_page: int` Number of results per page. - `completed_after: Optional[Union[str, datetime]]` Retrieve requests completed after this time. - `completed_before: Optional[Union[str, datetime]]` Retrieve requests completed before this time. - `created_after: Optional[Union[str, datetime]]` Retrieve requests created after this time. - `created_before: Optional[Union[str, datetime]]` Retrieve requests created before this time. - `request_type: Optional[str]` Requested information from request. - `sort_by: Optional[str]` Field to sort results by. - `sort_order: Optional[Literal["asc", "desc"]]` Sort order (asc or desc). - `"asc"` - `"desc"` - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` ### Returns - `class ListItem: …` - `id: str` UUID. - `created: datetime` Request creation time. - `priority: Literal["routine", "high", "urgent"]` - `"routine"` - `"high"` - `"urgent"` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` Request last updated time. - `completed: Optional[datetime]` Request completion time. - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.cloudforce_one.requests.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", page=0, per_page=10, ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2022-04-01T00:00:00Z", "priority": "routine", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T00:00:00Z", "completed": "2024-01-01T00:00:00Z", "message_tokens": 16, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 0 } ] } ``` ## Get a Request `cloudforce_one.requests.get(strrequest_id, RequestGetParams**kwargs) -> Item` **get** `/accounts/{account_id}/cloudforce-one/requests/{request_id}` Get a Request ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. ### Returns - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) item = client.cloudforce_one.requests.get( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "content": "What regions were most effected by the recent DoS?", "created": "2022-04-01T05:20:00Z", "priority": "2022-04-01T05:20:00Z", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T05:20:00Z", "completed": "2022-04-01T05:20:00Z", "message_tokens": 1, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 16 } } ``` ## Create a New Request. `cloudforce_one.requests.create(RequestCreateParams**kwargs) -> Item` **post** `/accounts/{account_id}/cloudforce-one/requests/new` Creating a request adds the request into the Cloudforce One queue for analysis. In addition to the content, a short title, type, priority, and releasability should be provided. If one is not provided, a default will be assigned. ### Parameters - `account_id: str` Identifier. - `content: Optional[str]` Request content. - `priority: Optional[str]` Priority for analyzing the request. - `request_type: Optional[str]` Requested information from request. - `summary: Optional[str]` Brief description of the request. - `tlp: Optional[Literal["clear", "amber", "amber-strict", 2 more]]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Returns - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) item = client.cloudforce_one.requests.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "content": "What regions were most effected by the recent DoS?", "created": "2022-04-01T05:20:00Z", "priority": "2022-04-01T05:20:00Z", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T05:20:00Z", "completed": "2022-04-01T05:20:00Z", "message_tokens": 1, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 16 } } ``` ## Update a Request `cloudforce_one.requests.update(strrequest_id, RequestUpdateParams**kwargs) -> Item` **put** `/accounts/{account_id}/cloudforce-one/requests/{request_id}` Updating a request alters the request in the Cloudforce One queue. This API may be used to update any attributes of the request after the initial submission. Only fields that you choose to update need to be add to the request body. ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `content: Optional[str]` Request content. - `priority: Optional[str]` Priority for analyzing the request. - `request_type: Optional[str]` Requested information from request. - `summary: Optional[str]` Brief description of the request. - `tlp: Optional[Literal["clear", "amber", "amber-strict", 2 more]]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Returns - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) item = client.cloudforce_one.requests.update( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "content": "What regions were most effected by the recent DoS?", "created": "2022-04-01T05:20:00Z", "priority": "2022-04-01T05:20:00Z", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T05:20:00Z", "completed": "2022-04-01T05:20:00Z", "message_tokens": 1, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 16 } } ``` ## Delete a Request `cloudforce_one.requests.delete(strrequest_id, RequestDeleteParams**kwargs) -> RequestDeleteResponse` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}` Delete a Request ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. ### Returns - `class RequestDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) request = client.cloudforce_one.requests.delete( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(request.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Get Request Quota `cloudforce_one.requests.quota(RequestQuotaParams**kwargs) -> Quota` **get** `/accounts/{account_id}/cloudforce-one/requests/quota` Get Request Quota ### Parameters - `account_id: str` Identifier. ### Returns - `class Quota: …` - `anniversary_date: Optional[datetime]` Anniversary date is when annual quota limit is refreshed. - `quarter_anniversary_date: Optional[datetime]` Quarter anniversary date is when quota limit is refreshed each quarter. - `quota: Optional[int]` Tokens for the quarter. - `remaining: Optional[int]` Tokens remaining for the quarter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) quota = client.cloudforce_one.requests.quota( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(quota.anniversary_date) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "anniversary_date": "2022-04-01T00:00:00Z", "quarter_anniversary_date": "2022-04-01T00:00:00Z", "quota": 120, "remaining": 64 } } ``` ## Get Request Types `cloudforce_one.requests.types(RequestTypesParams**kwargs) -> SyncSinglePage[RequestTypesResponse]` **get** `/accounts/{account_id}/cloudforce-one/requests/types` Get Request Types ### Parameters - `account_id: str` Identifier. ### Returns - `str` Request Types. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.cloudforce_one.requests.types( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ "Indicators of Compromise", "Victomology" ] } ``` ## Get Request Priority, Status, and TLP constants `cloudforce_one.requests.constants(RequestConstantsParams**kwargs) -> RequestConstants` **get** `/accounts/{account_id}/cloudforce-one/requests/constants` Get Request Priority, Status, and TLP constants ### Parameters - `account_id: str` Identifier. ### Returns - `class RequestConstants: …` - `priority: Optional[List[Literal["routine", "high", "urgent"]]]` - `"routine"` - `"high"` - `"urgent"` - `status: Optional[List[Literal["open", "accepted", "reported", 3 more]]]` - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tlp: Optional[List[Literal["clear", "amber", "amber-strict", 2 more]]]` - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) request_constants = client.cloudforce_one.requests.constants( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(request_constants.priority) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "priority": [ "routine", "high", "urgent" ], "status": [ "open", "accepted", "reported", "approved", "completed", "declined" ], "tlp": [ "clear", "green", "amber", "amber-strict", "red" ] } } ``` ## Domain Types ### Item - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### List Item - `class ListItem: …` - `id: str` UUID. - `created: datetime` Request creation time. - `priority: Literal["routine", "high", "urgent"]` - `"routine"` - `"high"` - `"urgent"` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` Request last updated time. - `completed: Optional[datetime]` Request completion time. - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Quota - `class Quota: …` - `anniversary_date: Optional[datetime]` Anniversary date is when annual quota limit is refreshed. - `quarter_anniversary_date: Optional[datetime]` Quarter anniversary date is when quota limit is refreshed each quarter. - `quota: Optional[int]` Tokens for the quarter. - `remaining: Optional[int]` Tokens remaining for the quarter. ### Request Constants - `class RequestConstants: …` - `priority: Optional[List[Literal["routine", "high", "urgent"]]]` - `"routine"` - `"high"` - `"urgent"` - `status: Optional[List[Literal["open", "accepted", "reported", 3 more]]]` - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tlp: Optional[List[Literal["clear", "amber", "amber-strict", 2 more]]]` - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Request Types - `List[RequestTypesResponse]` ### Request Delete Response - `class RequestDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Request Types Response - `str` Request Types. # Message ## List Request Messages `cloudforce_one.requests.message.get(strrequest_id, MessageGetParams**kwargs) -> SyncSinglePage[Message]` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message` List Request Messages ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `page: int` Page number of results. - `per_page: int` Number of results per page. - `after: Optional[Union[str, datetime]]` Retrieve mes ges created after this time. - `before: Optional[Union[str, datetime]]` Retrieve messages created before this time. - `sort_by: Optional[str]` Field to sort results by. - `sort_order: Optional[Literal["asc", "desc"]]` Sort order (asc or desc). - `"asc"` - `"desc"` ### Returns - `class Message: …` - `id: int` Message ID. - `author: str` Author of message. - `content: str` Content of message. - `is_follow_on_request: bool` Whether the message is a follow-on request. - `updated: datetime` Defines the message last updated time. - `created: Optional[datetime]` Defines the message creation time. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.cloudforce_one.requests.message.get( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", page=0, per_page=10, ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": 0, "author": "user@domain.com", "content": "Can you elaborate on the type of DoS that occurred?", "is_follow_on_request": true, "updated": "2022-01-01T00:00:00Z", "created": "2022-01-01T00:00:00Z" } ] } ``` ## Create a New Request Message `cloudforce_one.requests.message.create(strrequest_id, MessageCreateParams**kwargs) -> Message` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/new` Create a New Request Message ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `content: Optional[str]` Content of message. ### Returns - `class Message: …` - `id: int` Message ID. - `author: str` Author of message. - `content: str` Content of message. - `is_follow_on_request: bool` Whether the message is a follow-on request. - `updated: datetime` Defines the message last updated time. - `created: Optional[datetime]` Defines the message creation time. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) message = client.cloudforce_one.requests.message.create( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(message.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": 0, "author": "user@domain.com", "content": "Can you elaborate on the type of DoS that occurred?", "is_follow_on_request": true, "updated": "2022-01-01T00:00:00Z", "created": "2022-01-01T00:00:00Z" } } ``` ## Update a Request Message `cloudforce_one.requests.message.update(intmessage_id, MessageUpdateParams**kwargs) -> Message` **put** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/{message_id}` Update a Request Message ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `message_id: int` - `content: Optional[str]` Content of message. ### Returns - `class Message: …` - `id: int` Message ID. - `author: str` Author of message. - `content: str` Content of message. - `is_follow_on_request: bool` Whether the message is a follow-on request. - `updated: datetime` Defines the message last updated time. - `created: Optional[datetime]` Defines the message creation time. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) message = client.cloudforce_one.requests.message.update( message_id=0, account_id="023e105f4ecef8ad9ca31a8372d0c353", request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", ) print(message.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": 0, "author": "user@domain.com", "content": "Can you elaborate on the type of DoS that occurred?", "is_follow_on_request": true, "updated": "2022-01-01T00:00:00Z", "created": "2022-01-01T00:00:00Z" } } ``` ## Delete a Request Message `cloudforce_one.requests.message.delete(intmessage_id, MessageDeleteParams**kwargs) -> MessageDeleteResponse` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/{message_id}` Delete a Request Message ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `message_id: int` ### Returns - `class MessageDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) message = client.cloudforce_one.requests.message.delete( message_id=0, account_id="023e105f4ecef8ad9ca31a8372d0c353", request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", ) print(message.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Message - `class Message: …` - `id: int` Message ID. - `author: str` Author of message. - `content: str` Content of message. - `is_follow_on_request: bool` Whether the message is a follow-on request. - `updated: datetime` Defines the message last updated time. - `created: Optional[datetime]` Defines the message creation time. ### Message Delete Response - `class MessageDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` # Priority ## Get a Priority Intelligence Requirement `cloudforce_one.requests.priority.get(strpriority_id, PriorityGetParams**kwargs) -> Item` **get** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Get a Priority Intelligence Requirement ### Parameters - `account_id: str` Identifier. - `priority_id: str` UUID. ### Returns - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) item = client.cloudforce_one.requests.priority.get( priority_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "content": "What regions were most effected by the recent DoS?", "created": "2022-04-01T05:20:00Z", "priority": "2022-04-01T05:20:00Z", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T05:20:00Z", "completed": "2022-04-01T05:20:00Z", "message_tokens": 1, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 16 } } ``` ## Create a New Priority Intelligence Requirement `cloudforce_one.requests.priority.create(PriorityCreateParams**kwargs) -> Priority` **post** `/accounts/{account_id}/cloudforce-one/requests/priority/new` Create a New Priority Intelligence Requirement ### Parameters - `account_id: str` Identifier. - `labels: SequenceNotStr[Label]` List of labels. - `priority: int` Priority. - `requirement: str` Requirement. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Returns - `class Priority: …` - `id: str` UUID. - `created: datetime` Priority creation time. - `labels: List[Label]` List of labels. - `priority: int` Priority. - `requirement: str` Requirement. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` Priority last updated time. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) priority = client.cloudforce_one.requests.priority.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", labels=["DoS", "CVE"], priority=1, requirement="DoS attacks carried out by CVEs", tlp="clear", ) print(priority.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2022-04-01T05:20:00Z", "labels": [ "DoS", "CVE" ], "priority": 1, "requirement": "DoS attacks carried out by CVEs", "tlp": "clear", "updated": "2022-04-01T05:20:00Z" } } ``` ## Update a Priority Intelligence Requirement `cloudforce_one.requests.priority.update(strpriority_id, PriorityUpdateParams**kwargs) -> Item` **put** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Update a Priority Intelligence Requirement ### Parameters - `account_id: str` Identifier. - `priority_id: str` UUID. - `labels: SequenceNotStr[Label]` List of labels. - `priority: int` Priority. - `requirement: str` Requirement. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Returns - `class Item: …` - `id: str` UUID. - `content: str` Request content. - `created: datetime` - `priority: datetime` - `request: str` Requested information from request. - `summary: str` Brief description of the request. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` - `completed: Optional[datetime]` - `message_tokens: Optional[int]` Tokens for the request messages. - `readable_id: Optional[str]` Readable Request ID. - `status: Optional[Literal["open", "accepted", "reported", 3 more]]` Request Status. - `"open"` - `"accepted"` - `"reported"` - `"approved"` - `"completed"` - `"declined"` - `tokens: Optional[int]` Tokens for the request. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) item = client.cloudforce_one.requests.priority.update( priority_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", labels=["DoS", "CVE"], priority=1, requirement="DoS attacks carried out by CVEs", tlp="clear", ) print(item.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "content": "What regions were most effected by the recent DoS?", "created": "2022-04-01T05:20:00Z", "priority": "2022-04-01T05:20:00Z", "request": "Victomology", "summary": "DoS attack", "tlp": "clear", "updated": "2022-04-01T05:20:00Z", "completed": "2022-04-01T05:20:00Z", "message_tokens": 1, "readable_id": "RFI-2022-000001", "status": "open", "tokens": 16 } } ``` ## Delete a Priority Intelligence Requirement `cloudforce_one.requests.priority.delete(strpriority_id, PriorityDeleteParams**kwargs) -> PriorityDeleteResponse` **delete** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Delete a Priority Intelligence Requirement ### Parameters - `account_id: str` Identifier. - `priority_id: str` UUID. ### Returns - `class PriorityDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) priority = client.cloudforce_one.requests.priority.delete( priority_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(priority.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Get Priority Intelligence Requirement Quota `cloudforce_one.requests.priority.quota(PriorityQuotaParams**kwargs) -> Quota` **get** `/accounts/{account_id}/cloudforce-one/requests/priority/quota` Get Priority Intelligence Requirement Quota ### Parameters - `account_id: str` Identifier. ### Returns - `class Quota: …` - `anniversary_date: Optional[datetime]` Anniversary date is when annual quota limit is refreshed. - `quarter_anniversary_date: Optional[datetime]` Quarter anniversary date is when quota limit is refreshed each quarter. - `quota: Optional[int]` Tokens for the quarter. - `remaining: Optional[int]` Tokens remaining for the quarter. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) quota = client.cloudforce_one.requests.priority.quota( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(quota.anniversary_date) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "anniversary_date": "2022-04-01T00:00:00Z", "quarter_anniversary_date": "2022-04-01T00:00:00Z", "quota": 120, "remaining": 64 } } ``` ## Domain Types ### Label - `str` ### Priority - `class Priority: …` - `id: str` UUID. - `created: datetime` Priority creation time. - `labels: List[Label]` List of labels. - `priority: int` Priority. - `requirement: str` Requirement. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` - `updated: datetime` Priority last updated time. ### Priority Edit - `class PriorityEdit: …` - `labels: List[Label]` List of labels. - `priority: int` Priority. - `requirement: str` Requirement. - `tlp: Literal["clear", "amber", "amber-strict", 2 more]` The CISA defined Traffic Light Protocol (TLP). - `"clear"` - `"amber"` - `"amber-strict"` - `"green"` - `"red"` ### Priority Delete Response - `class PriorityDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` # Assets ## Get a Request Asset `cloudforce_one.requests.assets.get(strasset_id, AssetGetParams**kwargs) -> SyncSinglePage[AssetGetResponse]` **get** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Get a Request Asset ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `asset_id: str` UUID. ### Returns - `class AssetGetResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.cloudforce_one.requests.assets.get( asset_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": 0, "name": "example.docx", "created": "2022-01-01T00:00:00Z", "description": "example description", "file_type": "docx" } ] } ``` ## List Request Assets `cloudforce_one.requests.assets.create(strrequest_id, AssetCreateParams**kwargs) -> SyncSinglePage[AssetCreateResponse]` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset` List Request Assets ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `page: int` Page number of results. - `per_page: int` Number of results per page. ### Returns - `class AssetCreateResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) page = client.cloudforce_one.requests.assets.create( request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", page=0, per_page=10, ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": 0, "name": "example.docx", "created": "2022-01-01T00:00:00Z", "description": "example description", "file_type": "docx" } ] } ``` ## Update a Request Asset `cloudforce_one.requests.assets.update(strasset_id, AssetUpdateParams**kwargs) -> AssetUpdateResponse` **put** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Update a Request Asset ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `asset_id: str` UUID. - `source: Optional[str]` Asset file to upload. ### Returns - `class AssetUpdateResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) asset = client.cloudforce_one.requests.assets.update( asset_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", ) print(asset.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": 0, "name": "example.docx", "created": "2022-01-01T00:00:00Z", "description": "example description", "file_type": "docx" } } ``` ## Delete a Request Asset `cloudforce_one.requests.assets.delete(strasset_id, AssetDeleteParams**kwargs) -> AssetDeleteResponse` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Delete a Request Asset ### Parameters - `account_id: str` Identifier. - `request_id: str` UUID. - `asset_id: str` UUID. ### Returns - `class AssetDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) asset = client.cloudforce_one.requests.assets.delete( asset_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", account_id="023e105f4ecef8ad9ca31a8372d0c353", request_id="f174e90a-fafe-4643-bbbc-4a0ed4fc8415", ) print(asset.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Asset Get Response - `class AssetGetResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Asset Create Response - `class AssetCreateResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Asset Update Response - `class AssetUpdateResponse: …` - `id: int` Asset ID. - `name: str` Asset name. - `created: Optional[datetime]` Defines the asset creation time. - `description: Optional[str]` Asset description. - `file_type: Optional[str]` Asset file type. ### Asset Delete Response - `class AssetDeleteResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true`