# Requests ## List Requests `client.CloudforceOne.Requests.List(ctx, params) (*SinglePage[ListItem], error)` **post** `/accounts/{account_id}/cloudforce-one/requests` List Requests ### Parameters - `params RequestListParams` - `AccountID param.Field[string]` Path param: Identifier. - `Page param.Field[int64]` Body param: Page number of results. - `PerPage param.Field[int64]` Body param: Number of results per page. - `CompletedAfter param.Field[Time]` Body param: Retrieve requests completed after this time. - `CompletedBefore param.Field[Time]` Body param: Retrieve requests completed before this time. - `CreatedAfter param.Field[Time]` Body param: Retrieve requests created after this time. - `CreatedBefore param.Field[Time]` Body param: Retrieve requests created before this time. - `RequestType param.Field[string]` Body param: Requested information from request. - `SortBy param.Field[string]` Body param: Field to sort results by. - `SortOrder param.Field[RequestListParamsSortOrder]` Body param: Sort order (asc or desc). - `const RequestListParamsSortOrderAsc RequestListParamsSortOrder = "asc"` - `const RequestListParamsSortOrderDesc RequestListParamsSortOrder = "desc"` - `Status param.Field[RequestListParamsStatus]` Body param: Request Status. - `const RequestListParamsStatusOpen RequestListParamsStatus = "open"` - `const RequestListParamsStatusAccepted RequestListParamsStatus = "accepted"` - `const RequestListParamsStatusReported RequestListParamsStatus = "reported"` - `const RequestListParamsStatusApproved RequestListParamsStatus = "approved"` - `const RequestListParamsStatusCompleted RequestListParamsStatus = "completed"` - `const RequestListParamsStatusDeclined RequestListParamsStatus = "declined"` ### Returns - `type ListItem struct{…}` - `ID string` UUID. - `Created Time` Request creation time. - `Priority ListItemPriority` - `const ListItemPriorityRoutine ListItemPriority = "routine"` - `const ListItemPriorityHigh ListItemPriority = "high"` - `const ListItemPriorityUrgent ListItemPriority = "urgent"` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ListItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ListItemTLPClear ListItemTLP = "clear"` - `const ListItemTLPAmber ListItemTLP = "amber"` - `const ListItemTLPAmberStrict ListItemTLP = "amber-strict"` - `const ListItemTLPGreen ListItemTLP = "green"` - `const ListItemTLPRed ListItemTLP = "red"` - `Updated Time` Request last updated time. - `Completed Time` Request completion time. - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ListItemStatus` Request Status. - `const ListItemStatusOpen ListItemStatus = "open"` - `const ListItemStatusAccepted ListItemStatus = "accepted"` - `const ListItemStatusReported ListItemStatus = "reported"` - `const ListItemStatusApproved ListItemStatus = "approved"` - `const ListItemStatusCompleted ListItemStatus = "completed"` - `const ListItemStatusDeclined ListItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudforceOne.Requests.List(context.TODO(), cloudforce_one.RequestListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Page: cloudflare.F(int64(0)), PerPage: cloudflare.F(int64(10)), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "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 `client.CloudforceOne.Requests.Get(ctx, requestID, query) (*Item, error)` **get** `/accounts/{account_id}/cloudforce-one/requests/{request_id}` Get a Request ### Parameters - `requestID string` UUID. - `query RequestGetParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) item, err := client.CloudforceOne.Requests.Get( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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. `client.CloudforceOne.Requests.New(ctx, params) (*Item, error)` **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 - `params RequestNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `Content param.Field[string]` Body param: Request content. - `Priority param.Field[string]` Body param: Priority for analyzing the request. - `RequestType param.Field[string]` Body param: Requested information from request. - `Summary param.Field[string]` Body param: Brief description of the request. - `TLP param.Field[RequestNewParamsTLP]` Body param: The CISA defined Traffic Light Protocol (TLP). - `const RequestNewParamsTLPClear RequestNewParamsTLP = "clear"` - `const RequestNewParamsTLPAmber RequestNewParamsTLP = "amber"` - `const RequestNewParamsTLPAmberStrict RequestNewParamsTLP = "amber-strict"` - `const RequestNewParamsTLPGreen RequestNewParamsTLP = "green"` - `const RequestNewParamsTLPRed RequestNewParamsTLP = "red"` ### Returns - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) item, err := client.CloudforceOne.Requests.New(context.TODO(), cloudforce_one.RequestNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Update(ctx, requestID, params) (*Item, error)` **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 - `requestID string` UUID. - `params RequestUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `Content param.Field[string]` Body param: Request content. - `Priority param.Field[string]` Body param: Priority for analyzing the request. - `RequestType param.Field[string]` Body param: Requested information from request. - `Summary param.Field[string]` Body param: Brief description of the request. - `TLP param.Field[RequestUpdateParamsTLP]` Body param: The CISA defined Traffic Light Protocol (TLP). - `const RequestUpdateParamsTLPClear RequestUpdateParamsTLP = "clear"` - `const RequestUpdateParamsTLPAmber RequestUpdateParamsTLP = "amber"` - `const RequestUpdateParamsTLPAmberStrict RequestUpdateParamsTLP = "amber-strict"` - `const RequestUpdateParamsTLPGreen RequestUpdateParamsTLP = "green"` - `const RequestUpdateParamsTLPRed RequestUpdateParamsTLP = "red"` ### Returns - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) item, err := client.CloudforceOne.Requests.Update( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Delete(ctx, requestID, body) (*RequestDeleteResponse, error)` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}` Delete a Request ### Parameters - `requestID string` UUID. - `body RequestDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestDeleteResponse struct{…}` - `Errors []RequestDeleteResponseError` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestDeleteResponseErrorsSource` - `Pointer string` - `Messages []RequestDeleteResponseMessage` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestDeleteResponseMessagesSource` - `Pointer string` - `Success RequestDeleteResponseSuccess` Whether the API call was successful. - `const RequestDeleteResponseSuccessTrue RequestDeleteResponseSuccess = true` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) request, err := client.CloudforceOne.Requests.Delete( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Quota(ctx, query) (*Quota, error)` **get** `/accounts/{account_id}/cloudforce-one/requests/quota` Get Request Quota ### Parameters - `query RequestQuotaParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type Quota struct{…}` - `AnniversaryDate Time` Anniversary date is when annual quota limit is refreshed. - `QuarterAnniversaryDate Time` Quarter anniversary date is when quota limit is refreshed each quarter. - `Quota int64` Tokens for the quarter. - `Remaining int64` Tokens remaining for the quarter. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) quota, err := client.CloudforceOne.Requests.Quota(context.TODO(), cloudforce_one.RequestQuotaParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", quota.AnniversaryDate) } ``` #### 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 `client.CloudforceOne.Requests.Types(ctx, query) (*SinglePage[string], error)` **get** `/accounts/{account_id}/cloudforce-one/requests/types` Get Request Types ### Parameters - `query RequestTypesParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestTypesItem string` Request Types. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudforceOne.Requests.Types(context.TODO(), cloudforce_one.RequestTypesParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Constants(ctx, query) (*RequestConstants, error)` **get** `/accounts/{account_id}/cloudforce-one/requests/constants` Get Request Priority, Status, and TLP constants ### Parameters - `query RequestConstantsParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestConstants struct{…}` - `Priority []RequestConstantsPriority` - `const RequestConstantsPriorityRoutine RequestConstantsPriority = "routine"` - `const RequestConstantsPriorityHigh RequestConstantsPriority = "high"` - `const RequestConstantsPriorityUrgent RequestConstantsPriority = "urgent"` - `Status []RequestConstantsStatus` - `const RequestConstantsStatusOpen RequestConstantsStatus = "open"` - `const RequestConstantsStatusAccepted RequestConstantsStatus = "accepted"` - `const RequestConstantsStatusReported RequestConstantsStatus = "reported"` - `const RequestConstantsStatusApproved RequestConstantsStatus = "approved"` - `const RequestConstantsStatusCompleted RequestConstantsStatus = "completed"` - `const RequestConstantsStatusDeclined RequestConstantsStatus = "declined"` - `TLP []RequestConstantsTLP` - `const RequestConstantsTLPClear RequestConstantsTLP = "clear"` - `const RequestConstantsTLPAmber RequestConstantsTLP = "amber"` - `const RequestConstantsTLPAmberStrict RequestConstantsTLP = "amber-strict"` - `const RequestConstantsTLPGreen RequestConstantsTLP = "green"` - `const RequestConstantsTLPRed RequestConstantsTLP = "red"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) requestConstants, err := client.CloudforceOne.Requests.Constants(context.TODO(), cloudforce_one.RequestConstantsParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", requestConstants.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 - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### List Item - `type ListItem struct{…}` - `ID string` UUID. - `Created Time` Request creation time. - `Priority ListItemPriority` - `const ListItemPriorityRoutine ListItemPriority = "routine"` - `const ListItemPriorityHigh ListItemPriority = "high"` - `const ListItemPriorityUrgent ListItemPriority = "urgent"` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ListItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ListItemTLPClear ListItemTLP = "clear"` - `const ListItemTLPAmber ListItemTLP = "amber"` - `const ListItemTLPAmberStrict ListItemTLP = "amber-strict"` - `const ListItemTLPGreen ListItemTLP = "green"` - `const ListItemTLPRed ListItemTLP = "red"` - `Updated Time` Request last updated time. - `Completed Time` Request completion time. - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ListItemStatus` Request Status. - `const ListItemStatusOpen ListItemStatus = "open"` - `const ListItemStatusAccepted ListItemStatus = "accepted"` - `const ListItemStatusReported ListItemStatus = "reported"` - `const ListItemStatusApproved ListItemStatus = "approved"` - `const ListItemStatusCompleted ListItemStatus = "completed"` - `const ListItemStatusDeclined ListItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Quota - `type Quota struct{…}` - `AnniversaryDate Time` Anniversary date is when annual quota limit is refreshed. - `QuarterAnniversaryDate Time` Quarter anniversary date is when quota limit is refreshed each quarter. - `Quota int64` Tokens for the quarter. - `Remaining int64` Tokens remaining for the quarter. ### Request Constants - `type RequestConstants struct{…}` - `Priority []RequestConstantsPriority` - `const RequestConstantsPriorityRoutine RequestConstantsPriority = "routine"` - `const RequestConstantsPriorityHigh RequestConstantsPriority = "high"` - `const RequestConstantsPriorityUrgent RequestConstantsPriority = "urgent"` - `Status []RequestConstantsStatus` - `const RequestConstantsStatusOpen RequestConstantsStatus = "open"` - `const RequestConstantsStatusAccepted RequestConstantsStatus = "accepted"` - `const RequestConstantsStatusReported RequestConstantsStatus = "reported"` - `const RequestConstantsStatusApproved RequestConstantsStatus = "approved"` - `const RequestConstantsStatusCompleted RequestConstantsStatus = "completed"` - `const RequestConstantsStatusDeclined RequestConstantsStatus = "declined"` - `TLP []RequestConstantsTLP` - `const RequestConstantsTLPClear RequestConstantsTLP = "clear"` - `const RequestConstantsTLPAmber RequestConstantsTLP = "amber"` - `const RequestConstantsTLPAmberStrict RequestConstantsTLP = "amber-strict"` - `const RequestConstantsTLPGreen RequestConstantsTLP = "green"` - `const RequestConstantsTLPRed RequestConstantsTLP = "red"` ### Request Types - `type RequestTypes []string` # Message ## List Request Messages `client.CloudforceOne.Requests.Message.Get(ctx, requestID, params) (*SinglePage[Message], error)` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message` List Request Messages ### Parameters - `requestID string` UUID. - `params RequestMessageGetParams` - `AccountID param.Field[string]` Path param: Identifier. - `Page param.Field[int64]` Body param: Page number of results. - `PerPage param.Field[int64]` Body param: Number of results per page. - `After param.Field[Time]` Body param: Retrieve mes ges created after this time. - `Before param.Field[Time]` Body param: Retrieve messages created before this time. - `SortBy param.Field[string]` Body param: Field to sort results by. - `SortOrder param.Field[RequestMessageGetParamsSortOrder]` Body param: Sort order (asc or desc). - `const RequestMessageGetParamsSortOrderAsc RequestMessageGetParamsSortOrder = "asc"` - `const RequestMessageGetParamsSortOrderDesc RequestMessageGetParamsSortOrder = "desc"` ### Returns - `type Message struct{…}` - `ID int64` Message ID. - `Author string` Author of message. - `Content string` Content of message. - `IsFollowOnRequest bool` Whether the message is a follow-on request. - `Updated Time` Defines the message last updated time. - `Created Time` Defines the message creation time. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudforceOne.Requests.Message.Get( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestMessageGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Page: cloudflare.F(int64(0)), PerPage: cloudflare.F(int64(10)), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "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 `client.CloudforceOne.Requests.Message.New(ctx, requestID, params) (*Message, error)` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/new` Create a New Request Message ### Parameters - `requestID string` UUID. - `params RequestMessageNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `Content param.Field[string]` Body param: Content of message. ### Returns - `type Message struct{…}` - `ID int64` Message ID. - `Author string` Author of message. - `Content string` Content of message. - `IsFollowOnRequest bool` Whether the message is a follow-on request. - `Updated Time` Defines the message last updated time. - `Created Time` Defines the message creation time. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) message, err := client.CloudforceOne.Requests.Message.New( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestMessageNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Message.Update(ctx, requestID, messageID, params) (*Message, error)` **put** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/{message_id}` Update a Request Message ### Parameters - `requestID string` UUID. - `messageID int64` - `params RequestMessageUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `Content param.Field[string]` Body param: Content of message. ### Returns - `type Message struct{…}` - `ID int64` Message ID. - `Author string` Author of message. - `Content string` Content of message. - `IsFollowOnRequest bool` Whether the message is a follow-on request. - `Updated Time` Defines the message last updated time. - `Created Time` Defines the message creation time. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) message, err := client.CloudforceOne.Requests.Message.Update( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", int64(0), cloudforce_one.RequestMessageUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Message.Delete(ctx, requestID, messageID, body) (*RequestMessageDeleteResponse, error)` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/message/{message_id}` Delete a Request Message ### Parameters - `requestID string` UUID. - `messageID int64` - `body RequestMessageDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestMessageDeleteResponse struct{…}` - `Errors []RequestMessageDeleteResponseError` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestMessageDeleteResponseErrorsSource` - `Pointer string` - `Messages []RequestMessageDeleteResponseMessage` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestMessageDeleteResponseMessagesSource` - `Pointer string` - `Success RequestMessageDeleteResponseSuccess` Whether the API call was successful. - `const RequestMessageDeleteResponseSuccessTrue RequestMessageDeleteResponseSuccess = true` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) message, err := client.CloudforceOne.Requests.Message.Delete( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", int64(0), cloudforce_one.RequestMessageDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 - `type Message struct{…}` - `ID int64` Message ID. - `Author string` Author of message. - `Content string` Content of message. - `IsFollowOnRequest bool` Whether the message is a follow-on request. - `Updated Time` Defines the message last updated time. - `Created Time` Defines the message creation time. # Priority ## Get a Priority Intelligence Requirement `client.CloudforceOne.Requests.Priority.Get(ctx, priorityID, query) (*Item, error)` **get** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Get a Priority Intelligence Requirement ### Parameters - `priorityID string` UUID. - `query RequestPriorityGetParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) item, err := client.CloudforceOne.Requests.Priority.Get( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestPriorityGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Priority.New(ctx, params) (*Priority, error)` **post** `/accounts/{account_id}/cloudforce-one/requests/priority/new` Create a New Priority Intelligence Requirement ### Parameters - `params RequestPriorityNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `PriorityEdit param.Field[PriorityEdit]` Body param ### Returns - `type Priority struct{…}` - `ID string` UUID. - `Created Time` Priority creation time. - `Labels []Label` List of labels. - `Priority int64` Priority. - `Requirement string` Requirement. - `TLP PriorityTLP` The CISA defined Traffic Light Protocol (TLP). - `const PriorityTLPClear PriorityTLP = "clear"` - `const PriorityTLPAmber PriorityTLP = "amber"` - `const PriorityTLPAmberStrict PriorityTLP = "amber-strict"` - `const PriorityTLPGreen PriorityTLP = "green"` - `const PriorityTLPRed PriorityTLP = "red"` - `Updated Time` Priority last updated time. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) priority, err := client.CloudforceOne.Requests.Priority.New(context.TODO(), cloudforce_one.RequestPriorityNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), PriorityEdit: cloudforce_one.PriorityEditParam{ Labels: cloudflare.F([]cloudforce_one.LabelParam{"DoS", "CVE"}), Priority: cloudflare.F(int64(1)), Requirement: cloudflare.F("DoS attacks carried out by CVEs"), TLP: cloudflare.F(cloudforce_one.PriorityEditTLPClear), }, }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Priority.Update(ctx, priorityID, params) (*Item, error)` **put** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Update a Priority Intelligence Requirement ### Parameters - `priorityID string` UUID. - `params RequestPriorityUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `PriorityEdit param.Field[PriorityEdit]` Body param ### Returns - `type Item struct{…}` - `ID string` UUID. - `Content string` Request content. - `Created Time` - `Priority Time` - `Request string` Requested information from request. - `Summary string` Brief description of the request. - `TLP ItemTLP` The CISA defined Traffic Light Protocol (TLP). - `const ItemTLPClear ItemTLP = "clear"` - `const ItemTLPAmber ItemTLP = "amber"` - `const ItemTLPAmberStrict ItemTLP = "amber-strict"` - `const ItemTLPGreen ItemTLP = "green"` - `const ItemTLPRed ItemTLP = "red"` - `Updated Time` - `Completed Time` - `MessageTokens int64` Tokens for the request messages. - `ReadableID string` Readable Request ID. - `Status ItemStatus` Request Status. - `const ItemStatusOpen ItemStatus = "open"` - `const ItemStatusAccepted ItemStatus = "accepted"` - `const ItemStatusReported ItemStatus = "reported"` - `const ItemStatusApproved ItemStatus = "approved"` - `const ItemStatusCompleted ItemStatus = "completed"` - `const ItemStatusDeclined ItemStatus = "declined"` - `Tokens int64` Tokens for the request. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) item, err := client.CloudforceOne.Requests.Priority.Update( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestPriorityUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), PriorityEdit: cloudforce_one.PriorityEditParam{ Labels: cloudflare.F([]cloudforce_one.LabelParam{"DoS", "CVE"}), Priority: cloudflare.F(int64(1)), Requirement: cloudflare.F("DoS attacks carried out by CVEs"), TLP: cloudflare.F(cloudforce_one.PriorityEditTLPClear), }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Priority.Delete(ctx, priorityID, body) (*RequestPriorityDeleteResponse, error)` **delete** `/accounts/{account_id}/cloudforce-one/requests/priority/{priority_id}` Delete a Priority Intelligence Requirement ### Parameters - `priorityID string` UUID. - `body RequestPriorityDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestPriorityDeleteResponse struct{…}` - `Errors []RequestPriorityDeleteResponseError` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestPriorityDeleteResponseErrorsSource` - `Pointer string` - `Messages []RequestPriorityDeleteResponseMessage` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestPriorityDeleteResponseMessagesSource` - `Pointer string` - `Success RequestPriorityDeleteResponseSuccess` Whether the API call was successful. - `const RequestPriorityDeleteResponseSuccessTrue RequestPriorityDeleteResponseSuccess = true` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) priority, err := client.CloudforceOne.Requests.Priority.Delete( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestPriorityDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Priority.Quota(ctx, query) (*Quota, error)` **get** `/accounts/{account_id}/cloudforce-one/requests/priority/quota` Get Priority Intelligence Requirement Quota ### Parameters - `query RequestPriorityQuotaParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type Quota struct{…}` - `AnniversaryDate Time` Anniversary date is when annual quota limit is refreshed. - `QuarterAnniversaryDate Time` Quarter anniversary date is when quota limit is refreshed each quarter. - `Quota int64` Tokens for the quarter. - `Remaining int64` Tokens remaining for the quarter. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) quota, err := client.CloudforceOne.Requests.Priority.Quota(context.TODO(), cloudforce_one.RequestPriorityQuotaParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", quota.AnniversaryDate) } ``` #### 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 - `type Label string` ### Priority - `type Priority struct{…}` - `ID string` UUID. - `Created Time` Priority creation time. - `Labels []Label` List of labels. - `Priority int64` Priority. - `Requirement string` Requirement. - `TLP PriorityTLP` The CISA defined Traffic Light Protocol (TLP). - `const PriorityTLPClear PriorityTLP = "clear"` - `const PriorityTLPAmber PriorityTLP = "amber"` - `const PriorityTLPAmberStrict PriorityTLP = "amber-strict"` - `const PriorityTLPGreen PriorityTLP = "green"` - `const PriorityTLPRed PriorityTLP = "red"` - `Updated Time` Priority last updated time. ### Priority Edit - `type PriorityEdit struct{…}` - `Labels []Label` List of labels. - `Priority int64` Priority. - `Requirement string` Requirement. - `TLP PriorityEditTLP` The CISA defined Traffic Light Protocol (TLP). - `const PriorityEditTLPClear PriorityEditTLP = "clear"` - `const PriorityEditTLPAmber PriorityEditTLP = "amber"` - `const PriorityEditTLPAmberStrict PriorityEditTLP = "amber-strict"` - `const PriorityEditTLPGreen PriorityEditTLP = "green"` - `const PriorityEditTLPRed PriorityEditTLP = "red"` # Assets ## Get a Request Asset `client.CloudforceOne.Requests.Assets.Get(ctx, requestID, assetID, query) (*SinglePage[RequestAssetGetResponse], error)` **get** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Get a Request Asset ### Parameters - `requestID string` UUID. - `assetID string` UUID. - `query RequestAssetGetParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestAssetGetResponse struct{…}` - `ID int64` Asset ID. - `Name string` Asset name. - `Created Time` Defines the asset creation time. - `Description string` Asset description. - `FileType string` Asset file type. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudforceOne.Requests.Assets.Get( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestAssetGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "id": 0, "name": "example.docx", "created": "2022-01-01T00:00:00Z", "description": "example description", "file_type": "docx" } ] } ``` ## List Request Assets `client.CloudforceOne.Requests.Assets.New(ctx, requestID, params) (*SinglePage[RequestAssetNewResponse], error)` **post** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset` List Request Assets ### Parameters - `requestID string` UUID. - `params RequestAssetNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `Page param.Field[int64]` Body param: Page number of results. - `PerPage param.Field[int64]` Body param: Number of results per page. ### Returns - `type RequestAssetNewResponse struct{…}` - `ID int64` Asset ID. - `Name string` Asset name. - `Created Time` Defines the asset creation time. - `Description string` Asset description. - `FileType string` Asset file type. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.CloudforceOne.Requests.Assets.New( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestAssetNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Page: cloudflare.F(int64(0)), PerPage: cloudflare.F(int64(10)), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": [ { "id": 0, "name": "example.docx", "created": "2022-01-01T00:00:00Z", "description": "example description", "file_type": "docx" } ] } ``` ## Update a Request Asset `client.CloudforceOne.Requests.Assets.Update(ctx, requestID, assetID, params) (*RequestAssetUpdateResponse, error)` **put** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Update a Request Asset ### Parameters - `requestID string` UUID. - `assetID string` UUID. - `params RequestAssetUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `Source param.Field[string]` Body param: Asset file to upload. ### Returns - `type RequestAssetUpdateResponse struct{…}` - `ID int64` Asset ID. - `Name string` Asset name. - `Created Time` Defines the asset creation time. - `Description string` Asset description. - `FileType string` Asset file type. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) asset, err := client.CloudforceOne.Requests.Assets.Update( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestAssetUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 `client.CloudforceOne.Requests.Assets.Delete(ctx, requestID, assetID, body) (*RequestAssetDeleteResponse, error)` **delete** `/accounts/{account_id}/cloudforce-one/requests/{request_id}/asset/{asset_id}` Delete a Request Asset ### Parameters - `requestID string` UUID. - `assetID string` UUID. - `body RequestAssetDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RequestAssetDeleteResponse struct{…}` - `Errors []RequestAssetDeleteResponseError` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestAssetDeleteResponseErrorsSource` - `Pointer string` - `Messages []RequestAssetDeleteResponseMessage` - `Code int64` - `Message string` - `DocumentationURL string` - `Source RequestAssetDeleteResponseMessagesSource` - `Pointer string` - `Success RequestAssetDeleteResponseSuccess` Whether the API call was successful. - `const RequestAssetDeleteResponseSuccessTrue RequestAssetDeleteResponseSuccess = true` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cloudforce_one" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) asset, err := client.CloudforceOne.Requests.Assets.Delete( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", cloudforce_one.RequestAssetDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ```