Create cases for security findings

POST https://api.ap1.datadoghq.com/api/v2/security/findings/caseshttps://api.ap2.datadoghq.com/api/v2/security/findings/caseshttps://api.datadoghq.eu/api/v2/security/findings/caseshttps://api.ddog-gov.com/api/v2/security/findings/caseshttps://api.us2.ddog-gov.com/api/v2/security/findings/caseshttps://api.datadoghq.com/api/v2/security/findings/caseshttps://api.us3.datadoghq.com/api/v2/security/findings/caseshttps://api.us5.datadoghq.com/api/v2/security/findings/cases

Overview

Create cases for security findings. You can create up to 50 cases per request and associate up to 50 security findings per case. Security findings that are already attached to another case will be detached from their previous case and attached to the newly created case. This endpoint requires any of the following permissions:

  • security_monitoring_findings_write
  • appsec_vm_write

  • Request

    Body Data (required)

    Expand All

    Field

    Type

    Description

    data [required]

    [object]

    Array of case creation request data objects.

    attributes

    object

    Attributes of the case to create.

    assignee_id

    string

    Unique identifier of the user assigned to the case.

    description

    string

    Description of the case. If not provided, the description will be automatically generated.

    priority

    enum

    Priority of the case. If not provided, the priority will be automatically set to "NOT_DEFINED". Allowed enum values: NOT_DEFINED,P1,P2,P3,P4,P5

    default: NOT_DEFINED

    title

    string

    Title of the case. If not provided, the title will be automatically generated.

    relationships

    object

    Relationships of the case to create.

    findings [required]

    object

    Security findings to create a case for.

    data

    [object]

    Array of security finding data objects.

    id [required]

    string

    Unique identifier of the security finding.

    type [required]

    enum

    Security findings resource type. Allowed enum values: findings

    default: findings

    project [required]

    object

    Case management project in which the case will be created.

    data [required]

    object

    Data object representing a case management project.

    id [required]

    string

    Unique identifier of the case management project.

    type [required]

    enum

    Projects resource type. Allowed enum values: projects

    default: projects

    type [required]

    enum

    Cases resource type. Allowed enum values: cases

    default: cases

    {
      "data": [
        {
          "attributes": {
            "title": "A title",
            "description": "A description"
          },
          "relationships": {
            "findings": {
              "data": [
                {
                  "id": "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                  "type": "findings"
                }
              ]
            },
            "project": {
              "data": {
                "id": "959a6f71-bac8-4027-b1d3-2264f569296f",
                "type": "projects"
              }
            }
          },
          "type": "cases"
        }
      ]
    }
    {
      "data": [
        {
          "attributes": {
            "title": "A title",
            "description": "A description"
          },
          "relationships": {
            "findings": {
              "data": [
                {
                  "id": "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==",
                  "type": "findings"
                },
                {
                  "id": "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==",
                  "type": "findings"
                }
              ]
            },
            "project": {
              "data": {
                "id": "959a6f71-bac8-4027-b1d3-2264f569296f",
                "type": "projects"
              }
            }
          },
          "type": "cases"
        }
      ]
    }
    {
      "data": [
        {
          "attributes": {
            "title": "A title",
            "description": "A description"
          },
          "relationships": {
            "findings": {
              "data": [
                {
                  "id": "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                  "type": "findings"
                }
              ]
            },
            "project": {
              "data": {
                "id": "959a6f71-bac8-4027-b1d3-2264f569296f",
                "type": "projects"
              }
            }
          },
          "type": "cases"
        },
        {
          "attributes": {
            "title": "A title",
            "description": "A description"
          },
          "relationships": {
            "findings": {
              "data": [
                {
                  "id": "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=",
                  "type": "findings"
                }
              ]
            },
            "project": {
              "data": {
                "id": "959a6f71-bac8-4027-b1d3-2264f569296f",
                "type": "projects"
              }
            }
          },
          "type": "cases"
        }
      ]
    }

    Response

    Created

    List of case responses.

    Expand All

    Field

    Type

    Description

    data [required]

    [object]

    Array of case response data objects.

    attributes

    object

    Attributes of the case.

    archived_at

    date-time

    Timestamp of when the case was archived.

    assigned_to

    object

    User assigned to the case.

    data [required]

    object

    Relationship to user object.

    id [required]

    string

    A unique identifier that represents the user.

    type [required]

    enum

    Users resource type. Allowed enum values: users

    default: users

    attributes

    object

    Custom attributes associated with the case as key-value pairs where values are string arrays.

    <any-key>

    [string]

    closed_at

    date-time

    Timestamp of when the case was closed.

    created_at

    date-time

    Timestamp of when the case was created.

    creation_source

    string

    Source of the case creation.

    description

    string

    Description of the case.

    due_date

    string

    Due date of the case.

    insights

    [object]

    Insights of the case.

    ref

    string

    Reference of the insight.

    resource_id

    string

    Unique identifier of the resource. For example, the unique identifier of a security finding.

    type

    string

    Type of the resource. For example, the type of a security finding is "SECURITY_FINDING".

    jira_issue

    object

    Jira issue associated with the case.

    error_message

    string

    Error message if the Jira issue creation failed.

    result

    object

    Result of the Jira issue creation.

    account_id

    string

    Account ID of the Jira issue.

    issue_id

    string

    Unique identifier of the Jira issue.

    issue_key

    string

    Key of the Jira issue.

    issue_url

    string

    URL of the Jira issue.

    status

    string

    Status of the Jira issue creation. Can be "COMPLETED" if the Jira issue was created successfully, or "FAILED" if the Jira issue creation failed.

    key

    string

    Key of the case.

    modified_at

    date-time

    Timestamp of when the case was last modified.

    priority

    string

    Priority of the case.

    servicenow_ticket

    object

    ServiceNow ticket associated with the case.

    result

    object

    Result of the ServiceNow ticket creation or attachment.

    instance_name

    string

    ServiceNow instance name extracted from the ticket URL.

    sys_id

    string

    Unique identifier of the ServiceNow incident record.

    sys_target_link

    string

    Direct link to the ServiceNow incident record.

    sys_target_sys_id

    string

    Unique identifier of the target ServiceNow record.

    table_name

    string

    ServiceNow table containing the incident record.

    url

    string

    URL of the ServiceNow incident record.

    status

    string

    Status of the ServiceNow ticket operation. Can be "COMPLETED" if successful, or "FAILED" if the operation failed.

    status

    string

    Status of the case.

    status_group

    string

    Status group of the case.

    status_name

    string

    Status name of the case.

    title

    string

    Title of the case.

    type

    string

    Type of the case. For security cases, this is always "SECURITY".

    id

    string

    Unique identifier of the case.

    relationships

    object

    Relationships of the case.

    created_by

    object

    User who created the case.

    data [required]

    object

    Relationship to user object.

    id [required]

    string

    A unique identifier that represents the user.

    type [required]

    enum

    Users resource type. Allowed enum values: users

    default: users

    modified_by

    object

    User who last modified the case.

    data [required]

    object

    Relationship to user object.

    id [required]

    string

    A unique identifier that represents the user.

    type [required]

    enum

    Users resource type. Allowed enum values: users

    default: users

    project

    object

    Project in which the case was created.

    data [required]

    object

    Data object representing a case management project.

    id [required]

    string

    Unique identifier of the case management project.

    type [required]

    enum

    Projects resource type. Allowed enum values: projects

    default: projects

    type [required]

    enum

    Cases resource type. Allowed enum values: cases

    default: cases

    {
      "data": [
        {
          "attributes": {
            "archived_at": "2025-01-01T00:00:00.000Z",
            "assigned_to": {
              "data": {
                "id": "00000000-0000-0000-2345-000000000000",
                "type": "users"
              }
            },
            "attributes": {
              "<any-key>": []
            },
            "closed_at": "2025-01-01T00:00:00.000Z",
            "created_at": "2025-01-01T00:00:00.000Z",
            "creation_source": "CS_SECURITY_FINDING",
            "description": "A description of the case.",
            "due_date": "2025-01-01",
            "insights": [
              {
                "ref": "/security/appsec/vm/library/vulnerability/dfa027f7c037b2f77159adc027fecb56?detection=static",
                "resource_id": "ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw==",
                "type": "SECURITY_FINDING"
              }
            ],
            "jira_issue": {
              "error_message": "{\"errorMessages\":[\"An error occured.\"],\"errors\":{}}",
              "result": {
                "account_id": "463a8631-680e-455c-bfd3-3ed04d326eb7",
                "issue_id": "2871276",
                "issue_key": "PROJ-123",
                "issue_url": "https://domain.atlassian.net/browse/PROJ-123"
              },
              "status": "COMPLETED"
            },
            "key": "PROJ-123",
            "modified_at": "2025-01-01T00:00:00.000Z",
            "priority": "P4",
            "servicenow_ticket": {
              "result": {
                "instance_name": "example",
                "sys_id": "abcdef0123456789abcdef0123456789",
                "sys_target_link": "https://example.service-now.com/incident.do?sys_id=abcdef0123456789abcdef0123456789",
                "sys_target_sys_id": "abcdef0123456789abcdef0123456789",
                "table_name": "incident",
                "url": "https://example.service-now.com/now/nav/ui/classic/params/target/incident.do?sys_id=abcdef0123456789abcdef0123456789"
              },
              "status": "COMPLETED"
            },
            "status": "OPEN",
            "status_group": "SG_OPEN",
            "status_name": "Open",
            "title": "A title for the case.",
            "type": "SECURITY"
          },
          "id": "c1234567-89ab-cdef-0123-456789abcdef",
          "relationships": {
            "created_by": {
              "data": {
                "id": "00000000-0000-0000-2345-000000000000",
                "type": "users"
              }
            },
            "modified_by": {
              "data": {
                "id": "00000000-0000-0000-2345-000000000000",
                "type": "users"
              }
            },
            "project": {
              "data": {
                "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
                "type": "projects"
              }
            }
          },
          "type": "cases"
        }
      ]
    }

    Bad Request

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Not Found

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Too many requests

    API error response.

    Expand All

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Code Example

                              ## default
    # 
    
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/security/findings/cases" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": [ { "attributes": { "assignee_id": "f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0", "description": "A description of the case.", "priority": "NOT_DEFINED", "title": "A title for the case." }, "relationships": { "findings": { "data": [ { "id": "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=", "type": "findings" } ] }, "project": { "data": { "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001" } } }, "type": "cases" } ] } EOF
                              ## default
    # 
    
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/security/findings/cases" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": [ { "attributes": { "assignee_id": "f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0", "description": "A description of the case.", "priority": "NOT_DEFINED", "title": "A title for the case." }, "relationships": { "findings": { "data": [ { "id": "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=", "type": "findings" } ] }, "project": { "data": { "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001" } } }, "type": "cases" } ] } EOF
                              ## default
    # 
    
    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/security/findings/cases" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": [ { "attributes": { "assignee_id": "f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0", "description": "A description of the case.", "priority": "NOT_DEFINED", "title": "A title for the case." }, "relationships": { "findings": { "data": [ { "id": "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=", "type": "findings" } ] }, "project": { "data": { "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001" } } }, "type": "cases" } ] } EOF
    // Create case for security finding returns "Created" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.CreateCaseRequestArray{
    		Data: []datadogV2.CreateCaseRequestData{
    			{
    				Attributes: &datadogV2.CreateCaseRequestDataAttributes{
    					Title:       datadog.PtrString("A title"),
    					Description: datadog.PtrString("A description"),
    				},
    				Relationships: &datadogV2.CreateCaseRequestDataRelationships{
    					Findings: datadogV2.Findings{
    						Data: []datadogV2.FindingData{
    							{
    								Id:   "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
    								Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    							},
    						},
    					},
    					Project: datadogV2.CaseManagementProject{
    						Data: datadogV2.CaseManagementProjectData{
    							Id:   "959a6f71-bac8-4027-b1d3-2264f569296f",
    							Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
    						},
    					},
    				},
    				Type: datadogV2.CASEDATATYPE_CASES,
    			},
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSecurityMonitoringApi(apiClient)
    	resp, r, err := api.CreateCases(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.CreateCases`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.CreateCases`:\n%s\n", responseContent)
    }
    
    // Create case for security findings returns "Created" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.CreateCaseRequestArray{
    		Data: []datadogV2.CreateCaseRequestData{
    			{
    				Attributes: &datadogV2.CreateCaseRequestDataAttributes{
    					Title:       datadog.PtrString("A title"),
    					Description: datadog.PtrString("A description"),
    				},
    				Relationships: &datadogV2.CreateCaseRequestDataRelationships{
    					Findings: datadogV2.Findings{
    						Data: []datadogV2.FindingData{
    							{
    								Id:   "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==",
    								Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    							},
    							{
    								Id:   "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==",
    								Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    							},
    						},
    					},
    					Project: datadogV2.CaseManagementProject{
    						Data: datadogV2.CaseManagementProjectData{
    							Id:   "959a6f71-bac8-4027-b1d3-2264f569296f",
    							Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
    						},
    					},
    				},
    				Type: datadogV2.CASEDATATYPE_CASES,
    			},
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSecurityMonitoringApi(apiClient)
    	resp, r, err := api.CreateCases(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.CreateCases`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.CreateCases`:\n%s\n", responseContent)
    }
    
    // Create cases for security findings returns "Created" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.CreateCaseRequestArray{
    		Data: []datadogV2.CreateCaseRequestData{
    			{
    				Attributes: &datadogV2.CreateCaseRequestDataAttributes{
    					Title:       datadog.PtrString("A title"),
    					Description: datadog.PtrString("A description"),
    				},
    				Relationships: &datadogV2.CreateCaseRequestDataRelationships{
    					Findings: datadogV2.Findings{
    						Data: []datadogV2.FindingData{
    							{
    								Id:   "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
    								Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    							},
    						},
    					},
    					Project: datadogV2.CaseManagementProject{
    						Data: datadogV2.CaseManagementProjectData{
    							Id:   "959a6f71-bac8-4027-b1d3-2264f569296f",
    							Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
    						},
    					},
    				},
    				Type: datadogV2.CASEDATATYPE_CASES,
    			},
    			{
    				Attributes: &datadogV2.CreateCaseRequestDataAttributes{
    					Title:       datadog.PtrString("A title"),
    					Description: datadog.PtrString("A description"),
    				},
    				Relationships: &datadogV2.CreateCaseRequestDataRelationships{
    					Findings: datadogV2.Findings{
    						Data: []datadogV2.FindingData{
    							{
    								Id:   "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=",
    								Type: datadogV2.FINDINGDATATYPE_FINDINGS,
    							},
    						},
    					},
    					Project: datadogV2.CaseManagementProject{
    						Data: datadogV2.CaseManagementProjectData{
    							Id:   "959a6f71-bac8-4027-b1d3-2264f569296f",
    							Type: datadogV2.CASEMANAGEMENTPROJECTDATATYPE_PROJECTS,
    						},
    					},
    				},
    				Type: datadogV2.CASEDATATYPE_CASES,
    			},
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewSecurityMonitoringApi(apiClient)
    	resp, r, err := api.CreateCases(ctx, body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `SecurityMonitoringApi.CreateCases`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `SecurityMonitoringApi.CreateCases`:\n%s\n", responseContent)
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Create case for security finding returns "Created" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SecurityMonitoringApi;
    import com.datadog.api.client.v2.model.CaseDataType;
    import com.datadog.api.client.v2.model.CaseManagementProject;
    import com.datadog.api.client.v2.model.CaseManagementProjectData;
    import com.datadog.api.client.v2.model.CaseManagementProjectDataType;
    import com.datadog.api.client.v2.model.CreateCaseRequestArray;
    import com.datadog.api.client.v2.model.CreateCaseRequestData;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataAttributes;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataRelationships;
    import com.datadog.api.client.v2.model.FindingCaseResponseArray;
    import com.datadog.api.client.v2.model.FindingData;
    import com.datadog.api.client.v2.model.FindingDataType;
    import com.datadog.api.client.v2.model.Findings;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
    
        CreateCaseRequestArray body =
            new CreateCaseRequestArray()
                .data(
                    Collections.singletonList(
                        new CreateCaseRequestData()
                            .attributes(
                                new CreateCaseRequestDataAttributes()
                                    .title("A title")
                                    .description("A description"))
                            .relationships(
                                new CreateCaseRequestDataRelationships()
                                    .findings(
                                        new Findings()
                                            .data(
                                                Collections.singletonList(
                                                    new FindingData()
                                                        .id(
                                                            "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=")
                                                        .type(FindingDataType.FINDINGS))))
                                    .project(
                                        new CaseManagementProject()
                                            .data(
                                                new CaseManagementProjectData()
                                                    .id("959a6f71-bac8-4027-b1d3-2264f569296f")
                                                    .type(CaseManagementProjectDataType.PROJECTS))))
                            .type(CaseDataType.CASES)));
    
        try {
          FindingCaseResponseArray result = apiInstance.createCases(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SecurityMonitoringApi#createCases");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    
    // Create case for security findings returns "Created" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SecurityMonitoringApi;
    import com.datadog.api.client.v2.model.CaseDataType;
    import com.datadog.api.client.v2.model.CaseManagementProject;
    import com.datadog.api.client.v2.model.CaseManagementProjectData;
    import com.datadog.api.client.v2.model.CaseManagementProjectDataType;
    import com.datadog.api.client.v2.model.CreateCaseRequestArray;
    import com.datadog.api.client.v2.model.CreateCaseRequestData;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataAttributes;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataRelationships;
    import com.datadog.api.client.v2.model.FindingCaseResponseArray;
    import com.datadog.api.client.v2.model.FindingData;
    import com.datadog.api.client.v2.model.FindingDataType;
    import com.datadog.api.client.v2.model.Findings;
    import java.util.Arrays;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
    
        CreateCaseRequestArray body =
            new CreateCaseRequestArray()
                .data(
                    Collections.singletonList(
                        new CreateCaseRequestData()
                            .attributes(
                                new CreateCaseRequestDataAttributes()
                                    .title("A title")
                                    .description("A description"))
                            .relationships(
                                new CreateCaseRequestDataRelationships()
                                    .findings(
                                        new Findings()
                                            .data(
                                                Arrays.asList(
                                                    new FindingData()
                                                        .id(
                                                            "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==")
                                                        .type(FindingDataType.FINDINGS),
                                                    new FindingData()
                                                        .id(
                                                            "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==")
                                                        .type(FindingDataType.FINDINGS))))
                                    .project(
                                        new CaseManagementProject()
                                            .data(
                                                new CaseManagementProjectData()
                                                    .id("959a6f71-bac8-4027-b1d3-2264f569296f")
                                                    .type(CaseManagementProjectDataType.PROJECTS))))
                            .type(CaseDataType.CASES)));
    
        try {
          FindingCaseResponseArray result = apiInstance.createCases(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SecurityMonitoringApi#createCases");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    
    // Create cases for security findings returns "Created" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.SecurityMonitoringApi;
    import com.datadog.api.client.v2.model.CaseDataType;
    import com.datadog.api.client.v2.model.CaseManagementProject;
    import com.datadog.api.client.v2.model.CaseManagementProjectData;
    import com.datadog.api.client.v2.model.CaseManagementProjectDataType;
    import com.datadog.api.client.v2.model.CreateCaseRequestArray;
    import com.datadog.api.client.v2.model.CreateCaseRequestData;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataAttributes;
    import com.datadog.api.client.v2.model.CreateCaseRequestDataRelationships;
    import com.datadog.api.client.v2.model.FindingCaseResponseArray;
    import com.datadog.api.client.v2.model.FindingData;
    import com.datadog.api.client.v2.model.FindingDataType;
    import com.datadog.api.client.v2.model.Findings;
    import java.util.Arrays;
    import java.util.Collections;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
    
        CreateCaseRequestArray body =
            new CreateCaseRequestArray()
                .data(
                    Arrays.asList(
                        new CreateCaseRequestData()
                            .attributes(
                                new CreateCaseRequestDataAttributes()
                                    .title("A title")
                                    .description("A description"))
                            .relationships(
                                new CreateCaseRequestDataRelationships()
                                    .findings(
                                        new Findings()
                                            .data(
                                                Collections.singletonList(
                                                    new FindingData()
                                                        .id(
                                                            "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=")
                                                        .type(FindingDataType.FINDINGS))))
                                    .project(
                                        new CaseManagementProject()
                                            .data(
                                                new CaseManagementProjectData()
                                                    .id("959a6f71-bac8-4027-b1d3-2264f569296f")
                                                    .type(CaseManagementProjectDataType.PROJECTS))))
                            .type(CaseDataType.CASES),
                        new CreateCaseRequestData()
                            .attributes(
                                new CreateCaseRequestDataAttributes()
                                    .title("A title")
                                    .description("A description"))
                            .relationships(
                                new CreateCaseRequestDataRelationships()
                                    .findings(
                                        new Findings()
                                            .data(
                                                Collections.singletonList(
                                                    new FindingData()
                                                        .id(
                                                            "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=")
                                                        .type(FindingDataType.FINDINGS))))
                                    .project(
                                        new CaseManagementProject()
                                            .data(
                                                new CaseManagementProjectData()
                                                    .id("959a6f71-bac8-4027-b1d3-2264f569296f")
                                                    .type(CaseManagementProjectDataType.PROJECTS))))
                            .type(CaseDataType.CASES)));
    
        try {
          FindingCaseResponseArray result = apiInstance.createCases(body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling SecurityMonitoringApi#createCases");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    """
    Create case for security finding returns "Created" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
    from datadog_api_client.v2.model.case_data_type import CaseDataType
    from datadog_api_client.v2.model.case_management_project import CaseManagementProject
    from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
    from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
    from datadog_api_client.v2.model.create_case_request_array import CreateCaseRequestArray
    from datadog_api_client.v2.model.create_case_request_data import CreateCaseRequestData
    from datadog_api_client.v2.model.create_case_request_data_attributes import CreateCaseRequestDataAttributes
    from datadog_api_client.v2.model.create_case_request_data_relationships import CreateCaseRequestDataRelationships
    from datadog_api_client.v2.model.finding_data import FindingData
    from datadog_api_client.v2.model.finding_data_type import FindingDataType
    from datadog_api_client.v2.model.findings import Findings
    
    body = CreateCaseRequestArray(
        data=[
            CreateCaseRequestData(
                attributes=CreateCaseRequestDataAttributes(
                    title="A title",
                    description="A description",
                ),
                relationships=CreateCaseRequestDataRelationships(
                    findings=Findings(
                        data=[
                            FindingData(
                                id="YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                                type=FindingDataType.FINDINGS,
                            ),
                        ],
                    ),
                    project=CaseManagementProject(
                        data=CaseManagementProjectData(
                            id="959a6f71-bac8-4027-b1d3-2264f569296f",
                            type=CaseManagementProjectDataType.PROJECTS,
                        ),
                    ),
                ),
                type=CaseDataType.CASES,
            ),
        ],
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = SecurityMonitoringApi(api_client)
        response = api_instance.create_cases(body=body)
    
        print(response)
    
    """
    Create case for security findings returns "Created" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
    from datadog_api_client.v2.model.case_data_type import CaseDataType
    from datadog_api_client.v2.model.case_management_project import CaseManagementProject
    from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
    from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
    from datadog_api_client.v2.model.create_case_request_array import CreateCaseRequestArray
    from datadog_api_client.v2.model.create_case_request_data import CreateCaseRequestData
    from datadog_api_client.v2.model.create_case_request_data_attributes import CreateCaseRequestDataAttributes
    from datadog_api_client.v2.model.create_case_request_data_relationships import CreateCaseRequestDataRelationships
    from datadog_api_client.v2.model.finding_data import FindingData
    from datadog_api_client.v2.model.finding_data_type import FindingDataType
    from datadog_api_client.v2.model.findings import Findings
    
    body = CreateCaseRequestArray(
        data=[
            CreateCaseRequestData(
                attributes=CreateCaseRequestDataAttributes(
                    title="A title",
                    description="A description",
                ),
                relationships=CreateCaseRequestDataRelationships(
                    findings=Findings(
                        data=[
                            FindingData(
                                id="ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==",
                                type=FindingDataType.FINDINGS,
                            ),
                            FindingData(
                                id="c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==",
                                type=FindingDataType.FINDINGS,
                            ),
                        ],
                    ),
                    project=CaseManagementProject(
                        data=CaseManagementProjectData(
                            id="959a6f71-bac8-4027-b1d3-2264f569296f",
                            type=CaseManagementProjectDataType.PROJECTS,
                        ),
                    ),
                ),
                type=CaseDataType.CASES,
            ),
        ],
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = SecurityMonitoringApi(api_client)
        response = api_instance.create_cases(body=body)
    
        print(response)
    
    """
    Create cases for security findings returns "Created" response
    """
    
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
    from datadog_api_client.v2.model.case_data_type import CaseDataType
    from datadog_api_client.v2.model.case_management_project import CaseManagementProject
    from datadog_api_client.v2.model.case_management_project_data import CaseManagementProjectData
    from datadog_api_client.v2.model.case_management_project_data_type import CaseManagementProjectDataType
    from datadog_api_client.v2.model.create_case_request_array import CreateCaseRequestArray
    from datadog_api_client.v2.model.create_case_request_data import CreateCaseRequestData
    from datadog_api_client.v2.model.create_case_request_data_attributes import CreateCaseRequestDataAttributes
    from datadog_api_client.v2.model.create_case_request_data_relationships import CreateCaseRequestDataRelationships
    from datadog_api_client.v2.model.finding_data import FindingData
    from datadog_api_client.v2.model.finding_data_type import FindingDataType
    from datadog_api_client.v2.model.findings import Findings
    
    body = CreateCaseRequestArray(
        data=[
            CreateCaseRequestData(
                attributes=CreateCaseRequestDataAttributes(
                    title="A title",
                    description="A description",
                ),
                relationships=CreateCaseRequestDataRelationships(
                    findings=Findings(
                        data=[
                            FindingData(
                                id="YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                                type=FindingDataType.FINDINGS,
                            ),
                        ],
                    ),
                    project=CaseManagementProject(
                        data=CaseManagementProjectData(
                            id="959a6f71-bac8-4027-b1d3-2264f569296f",
                            type=CaseManagementProjectDataType.PROJECTS,
                        ),
                    ),
                ),
                type=CaseDataType.CASES,
            ),
            CreateCaseRequestData(
                attributes=CreateCaseRequestDataAttributes(
                    title="A title",
                    description="A description",
                ),
                relationships=CreateCaseRequestDataRelationships(
                    findings=Findings(
                        data=[
                            FindingData(
                                id="OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=",
                                type=FindingDataType.FINDINGS,
                            ),
                        ],
                    ),
                    project=CaseManagementProject(
                        data=CaseManagementProjectData(
                            id="959a6f71-bac8-4027-b1d3-2264f569296f",
                            type=CaseManagementProjectDataType.PROJECTS,
                        ),
                    ),
                ),
                type=CaseDataType.CASES,
            ),
        ],
    )
    
    configuration = Configuration()
    with ApiClient(configuration) as api_client:
        api_instance = SecurityMonitoringApi(api_client)
        response = api_instance.create_cases(body=body)
    
        print(response)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Create case for security finding returns "Created" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
    
    body = DatadogAPIClient::V2::CreateCaseRequestArray.new({
      data: [
        DatadogAPIClient::V2::CreateCaseRequestData.new({
          attributes: DatadogAPIClient::V2::CreateCaseRequestDataAttributes.new({
            title: "A title",
            description: "A description",
          }),
          relationships: DatadogAPIClient::V2::CreateCaseRequestDataRelationships.new({
            findings: DatadogAPIClient::V2::Findings.new({
              data: [
                DatadogAPIClient::V2::FindingData.new({
                  id: "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                  type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
                }),
              ],
            }),
            project: DatadogAPIClient::V2::CaseManagementProject.new({
              data: DatadogAPIClient::V2::CaseManagementProjectData.new({
                id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
              }),
            }),
          }),
          type: DatadogAPIClient::V2::CaseDataType::CASES,
        }),
      ],
    })
    p api_instance.create_cases(body)
    
    # Create case for security findings returns "Created" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
    
    body = DatadogAPIClient::V2::CreateCaseRequestArray.new({
      data: [
        DatadogAPIClient::V2::CreateCaseRequestData.new({
          attributes: DatadogAPIClient::V2::CreateCaseRequestDataAttributes.new({
            title: "A title",
            description: "A description",
          }),
          relationships: DatadogAPIClient::V2::CreateCaseRequestDataRelationships.new({
            findings: DatadogAPIClient::V2::Findings.new({
              data: [
                DatadogAPIClient::V2::FindingData.new({
                  id: "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==",
                  type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
                }),
                DatadogAPIClient::V2::FindingData.new({
                  id: "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==",
                  type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
                }),
              ],
            }),
            project: DatadogAPIClient::V2::CaseManagementProject.new({
              data: DatadogAPIClient::V2::CaseManagementProjectData.new({
                id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
              }),
            }),
          }),
          type: DatadogAPIClient::V2::CaseDataType::CASES,
        }),
      ],
    })
    p api_instance.create_cases(body)
    
    # Create cases for security findings returns "Created" response
    
    require "datadog_api_client"
    api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new
    
    body = DatadogAPIClient::V2::CreateCaseRequestArray.new({
      data: [
        DatadogAPIClient::V2::CreateCaseRequestData.new({
          attributes: DatadogAPIClient::V2::CreateCaseRequestDataAttributes.new({
            title: "A title",
            description: "A description",
          }),
          relationships: DatadogAPIClient::V2::CreateCaseRequestDataRelationships.new({
            findings: DatadogAPIClient::V2::Findings.new({
              data: [
                DatadogAPIClient::V2::FindingData.new({
                  id: "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                  type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
                }),
              ],
            }),
            project: DatadogAPIClient::V2::CaseManagementProject.new({
              data: DatadogAPIClient::V2::CaseManagementProjectData.new({
                id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
              }),
            }),
          }),
          type: DatadogAPIClient::V2::CaseDataType::CASES,
        }),
        DatadogAPIClient::V2::CreateCaseRequestData.new({
          attributes: DatadogAPIClient::V2::CreateCaseRequestDataAttributes.new({
            title: "A title",
            description: "A description",
          }),
          relationships: DatadogAPIClient::V2::CreateCaseRequestDataRelationships.new({
            findings: DatadogAPIClient::V2::Findings.new({
              data: [
                DatadogAPIClient::V2::FindingData.new({
                  id: "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=",
                  type: DatadogAPIClient::V2::FindingDataType::FINDINGS,
                }),
              ],
            }),
            project: DatadogAPIClient::V2::CaseManagementProject.new({
              data: DatadogAPIClient::V2::CaseManagementProjectData.new({
                id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                type: DatadogAPIClient::V2::CaseManagementProjectDataType::PROJECTS,
              }),
            }),
          }),
          type: DatadogAPIClient::V2::CaseDataType::CASES,
        }),
      ],
    })
    p api_instance.create_cases(body)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Create case for security finding returns "Created" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
    use datadog_api_client::datadogV2::model::CaseDataType;
    use datadog_api_client::datadogV2::model::CaseManagementProject;
    use datadog_api_client::datadogV2::model::CaseManagementProjectData;
    use datadog_api_client::datadogV2::model::CaseManagementProjectDataType;
    use datadog_api_client::datadogV2::model::CreateCaseRequestArray;
    use datadog_api_client::datadogV2::model::CreateCaseRequestData;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataAttributes;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataRelationships;
    use datadog_api_client::datadogV2::model::FindingData;
    use datadog_api_client::datadogV2::model::FindingDataType;
    use datadog_api_client::datadogV2::model::Findings;
    
    #[tokio::main]
    async fn main() {
        let body =
            CreateCaseRequestArray::new(
                vec![
                    CreateCaseRequestData::new(CaseDataType::CASES)
                        .attributes(
                            CreateCaseRequestDataAttributes::new()
                                .description("A description".to_string())
                                .title("A title".to_string()),
                        )
                        .relationships(
                            CreateCaseRequestDataRelationships::new(
                                Findings
                                ::new().data(
                                    vec![
                                        FindingData::new(
                                            "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=".to_string(),
                                            FindingDataType::FINDINGS,
                                        )
                                    ],
                                ),
                                CaseManagementProject::new(
                                    CaseManagementProjectData::new(
                                        "959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
                                        CaseManagementProjectDataType::PROJECTS,
                                    ),
                                ),
                            ),
                        )
                ],
            );
        let configuration = datadog::Configuration::new();
        let api = SecurityMonitoringAPI::with_config(configuration);
        let resp = api.create_cases(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    
    // Create case for security findings returns "Created" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
    use datadog_api_client::datadogV2::model::CaseDataType;
    use datadog_api_client::datadogV2::model::CaseManagementProject;
    use datadog_api_client::datadogV2::model::CaseManagementProjectData;
    use datadog_api_client::datadogV2::model::CaseManagementProjectDataType;
    use datadog_api_client::datadogV2::model::CreateCaseRequestArray;
    use datadog_api_client::datadogV2::model::CreateCaseRequestData;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataAttributes;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataRelationships;
    use datadog_api_client::datadogV2::model::FindingData;
    use datadog_api_client::datadogV2::model::FindingDataType;
    use datadog_api_client::datadogV2::model::Findings;
    
    #[tokio::main]
    async fn main() {
        let body = CreateCaseRequestArray::new(vec![CreateCaseRequestData::new(CaseDataType::CASES)
            .attributes(
                CreateCaseRequestDataAttributes::new()
                    .description("A description".to_string())
                    .title("A title".to_string()),
            )
            .relationships(CreateCaseRequestDataRelationships::new(
                Findings::new().data(vec![
                    FindingData::new(
                        "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==".to_string(),
                        FindingDataType::FINDINGS,
                    ),
                    FindingData::new(
                        "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==".to_string(),
                        FindingDataType::FINDINGS,
                    ),
                ]),
                CaseManagementProject::new(CaseManagementProjectData::new(
                    "959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
                    CaseManagementProjectDataType::PROJECTS,
                )),
            ))]);
        let configuration = datadog::Configuration::new();
        let api = SecurityMonitoringAPI::with_config(configuration);
        let resp = api.create_cases(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    
    // Create cases for security findings returns "Created" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;
    use datadog_api_client::datadogV2::model::CaseDataType;
    use datadog_api_client::datadogV2::model::CaseManagementProject;
    use datadog_api_client::datadogV2::model::CaseManagementProjectData;
    use datadog_api_client::datadogV2::model::CaseManagementProjectDataType;
    use datadog_api_client::datadogV2::model::CreateCaseRequestArray;
    use datadog_api_client::datadogV2::model::CreateCaseRequestData;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataAttributes;
    use datadog_api_client::datadogV2::model::CreateCaseRequestDataRelationships;
    use datadog_api_client::datadogV2::model::FindingData;
    use datadog_api_client::datadogV2::model::FindingDataType;
    use datadog_api_client::datadogV2::model::Findings;
    
    #[tokio::main]
    async fn main() {
        let body =
            CreateCaseRequestArray::new(
                vec![
                    CreateCaseRequestData::new(CaseDataType::CASES)
                        .attributes(
                            CreateCaseRequestDataAttributes::new()
                                .description("A description".to_string())
                                .title("A title".to_string()),
                        )
                        .relationships(
                            CreateCaseRequestDataRelationships::new(
                                Findings
                                ::new().data(
                                    vec![
                                        FindingData::new(
                                            "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=".to_string(),
                                            FindingDataType::FINDINGS,
                                        )
                                    ],
                                ),
                                CaseManagementProject::new(
                                    CaseManagementProjectData::new(
                                        "959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
                                        CaseManagementProjectDataType::PROJECTS,
                                    ),
                                ),
                            ),
                        ),
                    CreateCaseRequestData::new(CaseDataType::CASES)
                        .attributes(
                            CreateCaseRequestDataAttributes::new()
                                .description("A description".to_string())
                                .title("A title".to_string()),
                        )
                        .relationships(
                            CreateCaseRequestDataRelationships::new(
                                Findings
                                ::new().data(
                                    vec![
                                        FindingData::new(
                                            "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=".to_string(),
                                            FindingDataType::FINDINGS,
                                        )
                                    ],
                                ),
                                CaseManagementProject::new(
                                    CaseManagementProjectData::new(
                                        "959a6f71-bac8-4027-b1d3-2264f569296f".to_string(),
                                        CaseManagementProjectDataType::PROJECTS,
                                    ),
                                ),
                            ),
                        )
                ],
            );
        let configuration = datadog::Configuration::new();
        let api = SecurityMonitoringAPI::with_config(configuration);
        let resp = api.create_cases(body).await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Create case for security finding returns "Created" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.SecurityMonitoringApi(configuration);
    
    const params: v2.SecurityMonitoringApiCreateCasesRequest = {
      body: {
        data: [
          {
            attributes: {
              title: "A title",
              description: "A description",
            },
            relationships: {
              findings: {
                data: [
                  {
                    id: "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                    type: "findings",
                  },
                ],
              },
              project: {
                data: {
                  id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                  type: "projects",
                },
              },
            },
            type: "cases",
          },
        ],
      },
    };
    
    apiInstance
      .createCases(params)
      .then((data: v2.FindingCaseResponseArray) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    
    /**
     * Create case for security findings returns "Created" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.SecurityMonitoringApi(configuration);
    
    const params: v2.SecurityMonitoringApiCreateCasesRequest = {
      body: {
        data: [
          {
            attributes: {
              title: "A title",
              description: "A description",
            },
            relationships: {
              findings: {
                data: [
                  {
                    id: "ZTd5LWNuYi1seWV-aS0wMjI2NGZjZjRmZWQ5ODMyMg==",
                    type: "findings",
                  },
                  {
                    id: "c2FuLXhyaS1kZnN-aS0wODM3MjVhMTM2MDExNzNkOQ==",
                    type: "findings",
                  },
                ],
              },
              project: {
                data: {
                  id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                  type: "projects",
                },
              },
            },
            type: "cases",
          },
        ],
      },
    };
    
    apiInstance
      .createCases(params)
      .then((data: v2.FindingCaseResponseArray) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    
    /**
     * Create cases for security findings returns "Created" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    const apiInstance = new v2.SecurityMonitoringApi(configuration);
    
    const params: v2.SecurityMonitoringApiCreateCasesRequest = {
      body: {
        data: [
          {
            attributes: {
              title: "A title",
              description: "A description",
            },
            relationships: {
              findings: {
                data: [
                  {
                    id: "YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE=",
                    type: "findings",
                  },
                ],
              },
              project: {
                data: {
                  id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                  type: "projects",
                },
              },
            },
            type: "cases",
          },
          {
            attributes: {
              title: "A title",
              description: "A description",
            },
            relationships: {
              findings: {
                data: [
                  {
                    id: "OGRlMDIwYzk4MjFmZTZiNTQwMzk2ZjUxNzg0MDc0NjR-MTk3Yjk4MDI4ZDQ4YzI2ZGZiMWJmMTNhNDEwZGZkYWI=",
                    type: "findings",
                  },
                ],
              },
              project: {
                data: {
                  id: "959a6f71-bac8-4027-b1d3-2264f569296f",
                  type: "projects",
                },
              },
            },
            type: "cases",
          },
        ],
      },
    };
    
    apiInstance
      .createCases(params)
      .then((data: v2.FindingCaseResponseArray) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    

    Instructions

    First install the library and its dependencies and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"