Introduction

With the IBM Cloud® Support Center, you can get the help that you need to determine the cause of a problem and find a solution for issues that you encounter on your account. The Case Management API provides a RESTful public interface to create and manage your support cases. SDKs for Java, Node, Python, and Go are available to make it easier to programmatically access the API from your code. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write. The tab for each language includes code examples that demonstrate how to use the client libraries. For more information about using the SDKs, see the IBM Cloud SDK Common project on GitHub.

The code examples on this tab use the client library that is provided for Java.

Maven

<dependency>
    <groupId>com.ibm.cloud</groupId>
	<artifactId>case-management</artifactId>
	<version>{version}</version>
</dependency>

Gradle

'com.ibm.cloud:case-management:{version}'

View on GitHub

The code examples on this tab use the client library that is provided for Node.js.

Installation

npm install @ibm-cloud/platform-services

View on GitHub

The code examples on this tab use the client library that is provided for Python.

Installation

To install, use pip or easy_install:

pip install --upgrade "ibm-platform-services"

or

easy_install --upgrade "ibm-platform-services"

View on GitHub

Installing the Go SDK

Go modules (recommended): Add the following import in your code, and then run go build or go mod tidy

import (
	"github.com/IBM/platform-services-go-sdk/casemanagementv1"
)

Go get

go get -u github.com/IBM/platform-services-go-sdk/casemanagementv1

View on GitHub

Endpoint URL

The Case Management API uses the following global endpoint URL. When you call the API, add the path for each method to form the complete API endpoint for your requests.

https://support-center.cloud.ibm.com

Example API request

curl -X {request_method} "https://support-center.cloud.ibm.com/{method_endpoint}"

Replace {request_method} and {method_endpoint} in this example with the values for your particular API call.

Authentication

Authentication to the case management REST API is enforced by using an IAM access token. The token is used to determine the identity and access roles for management services. All cases are in the scope of the account that is specified in an IAM token. You need the IAM token that has account information. If you generate an IAM token through an API, don't forget to add the account information. For information about how to obtain an IAM token for an authenticated user or service ID, see the IAM Identity Service API documentation.

Use of the IAM Policy Management REST API is done by adding a valid IAM Token to the HTTP Authorization request header. Example: -H 'Authorization: Bearer $TOKEN'

Obtaining an IAM token for an authenticated user or service ID is described in the IAM Identity Services API documentation.

To use the API, add a valid IAM token to the HTTP Authorization request header, for example, -H 'Authorization: Bearer <TOKEN>'.

When you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in either of two ways:

  • Programmatically by constructing an IAM authenticator instance and supplying your IAM API key
  • By defining the API key in external configuration properties and then using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key

In this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.

For more information, see the Authentication section of the IBM Cloud SDK Common documentation.

To call each method, you need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see Assigning access to account management services.

To retrieve your access token:

curl -X POST   "https://iam.test.cloud.ibm.com/identity/token"   --header 'Content-Type: application/x-www-form-urlencoded'   --header 'Accept: application/json'   --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey'   --data-urlencode 'apikey=<API_KEY>'

Replace <API_KEY> with your IAM API key.

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export CASE_MANAGEMENT_URL=<SERVICE_URL>
export CASE_MANAGEMENT_AUTHTYPE=iam
export CASE_MANAGEMENT_APIKEY=<API_KEY>

Example of constructing the service client

import {
    "github.com/IBM/platform-services-go-sdk/casemanagementv1"
}
...
serviceClientOptions := &casemanagementv1.CaseManagementV1Options{}
serviceClient, err := casemanagementv1.NewCaseManagementV1UsingExternalConfig(serviceClientOptions)

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export CASE_MANAGEMENT_URL=<SERVICE_URL>
export CASE_MANAGEMENT_AUTHTYPE=iam
export CASE_MANAGEMENT_APIKEY=<API_KEY>

Example of constructing the service client

import com.ibm.cloud.platform_services.case_management.v1.CaseManagement;
...
GlobalSearch serviceClient = CaseManagement.newInstance(serviceName);

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export CASE_MANAGEMENT_URL=<SERVICE_URL>
export CASE_MANAGEMENT_AUTHTYPE=iam
export CASE_MANAGEMENT_APIKEY=<API_KEY>

Example of constructing the service client

const CaseManagementV1 = require('@ibm-cloud/platform-services/case-management/v1');
...
const serviceClient = CaseManagementV1.newInstance({});

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export CASE_MANAGEMENT_URL=<SERVICE_URL>
export CASE_MANAGEMENT_AUTHTYPE=iam
export CASE_MANAGEMENT_APIKEY=<API_KEY>

Example of constructing the service client

from ibm_platform_services import CaseManagementV1
...
service_client = CaseManagementV1.new_instance()

Error handling

The Case Management API returns standard HTTP status codes to indicate the success or failure of a request. The format of the response is represented in JSON as follows:

{
    "trace": "cd4f7573121a4cf99f0079f8482b3d6b",
    "errors": [
        {
            "code": "invalid_token",
            "message": "The provided IAM token is invalid."
        }
    ],
    "status_code": 401
}

If an operation cannot be fulfilled, an appropriate 400 or 500 series HTTP response is returned from the server. The operations that are defined in the Reference section describe example errors that can be returned from a failed request. All responses from the IAM Policy Management API are in the JSON format.

The following are potential error codes that the API can return.

HTTP Error Code Description Recovery
200 Success The request was successful.
201 Created The resource was successfully created.
204 No Content The request was successful. No response body is provided.
400 Bad Request The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request.
401 Unauthorized You are not authorized to make this request. The token is either invalid, missing or expired. Get a new valid token and try again.
403 Forbidden The token is valid, but the subject of the token is not authorized to perform the operation. If this error persists, contact the account owner to check your permissions.
404 Not Found The requested resource could not be found.
409 Conflict The entity is already in the requested state.
415 Unsupported Media Type Request body sent was formatted by using an unsupported media type.
429 Too Many Requests Too many requests were made within a given time window. Wait before you call the API again.
500 Service Unavailable IAM Policy Management Point is unavailable. Your request might not be processed. Wait a few minutes and try again.

Methods

Get cases in account

Get cases in the account that are specified by the content of the IAM token.

Get cases in the account which is specified by the content of the IAM token.

Get cases in the account which is specified by the content of the IAM token.

Get cases in the account which is specified by the content of the IAM token.

Get cases in the account which is specified by the content of the IAM token.

GET /cases
(caseManagement *CaseManagementV1) GetCases(getCasesOptions *GetCasesOptions) (result *CaseList, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) GetCasesWithContext(ctx context.Context, getCasesOptions *GetCasesOptions) (result *CaseList, response *core.DetailedResponse, err error)
ServiceCall<CaseList> getCases(GetCasesOptions getCasesOptions)
getCases(params)
get_cases(self,
        *,
        offset: int = None,
        limit: int = None,
        search: str = None,
        sort: str = None,
        status: List[str] = None,
        fields: List[str] = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following actions. You can check your access by going to Users > name > Access policies.

  • support.case.read

  • support.case.list

Request

Instantiate the GetCasesOptions struct and set the fields to provide parameter values for the GetCases method.

Use the GetCasesOptions.Builder to create a GetCasesOptions object that contains the parameter values for the getCases method.

Query Parameters

  • Number of cases that are skipped

    Default: 0

  • Number of cases that are returned

    Default: 10

  • String that a case might contain

  • Sort field and direction. If omitted, default to descending of updated date. Prefix "~" signifies sort in descending.

    Allowable values: [number,short_description,severity,updated_at,created_at,~number,~short_description,~severity,~updated_at,~created_at]

  • Case status filter

    Allowable values: [new,in_progress,waiting_on_client,resolution_provided,resolved,closed]

  • Selected fields of interest instead of all of the case information

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

WithContext method only

The GetCases options.

The getCases options.

parameters

  • Number of cases should be skipped.

  • Number of cases should be returned.

  • String that a case might contain.

  • Sort field and direction. If omitted, default to descending of updated date. Prefix "~" signifies sort in descending.

    Allowable values: [number,short_description,severity,updated_at,created_at,~number,~short_description,~severity,~updated_at,~created_at]

  • Case status filter.

    Allowable values: [new,in_progress,waiting_on_client,resolution_provided,resolved,closed]

  • Seleted fields of interest instead of the entire case information.

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

parameters

  • Number of cases should be skipped.

  • Number of cases should be returned.

  • String that a case might contain.

  • Sort field and direction. If omitted, default to descending of updated date. Prefix "~" signifies sort in descending.

    Allowable values: [number,short_description,severity,updated_at,created_at,~number,~short_description,~severity,~updated_at,~created_at]

  • Case status filter.

    Allowable values: [new,in_progress,waiting_on_client,resolution_provided,resolved,closed]

  • Seleted fields of interest instead of the entire case information.

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

  • curl -X GET 'https://support-center.cloud.ibm.com/case-management/v1/cases?offset=0&limit=10&status=new,in_progress,waiting_on_client,resolution_provided' -H 'Authorization: TOKEN' \
  • getCasesOptions := caseManagementService.NewGetCasesOptions()
    getCasesOptions.SetSearch("blocker")
    getCasesOptions.SetSort(casemanagementv1.GetCasesOptionsFieldsUpdatedAtConst)
    getCasesOptions.SetOffset(0)
    getCasesOptions.SetLimit(100)
    
    caseList, response, err := caseManagementService.GetCases(getCasesOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(caseList, "", "  ")
    fmt.Println(string(b))
  • GetCasesOptions getCasesOptions = new GetCasesOptions.Builder()
      .offset(0)
      .limit(100)
      .search("blocker")
      .sort(GetCasesOptions.Fields.UPDATED_AT)
      .build();
    
    Response<CaseList> response = service.getCases(getCasesOptions).execute();
    CaseList caseList = response.getResult();
    
    System.out.println(caseList);
  • const params = {
      offset: 0,
      limit: 100,
      search: 'blocker',
      sort: CaseManagementV1.GetCasesConstants.Fields.UPDATED_AT,
    };
    
    caseManagementService.getCases({})
      .then(res => {
        console.log(JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • case_list = case_management_service.get_cases(
      offset=0,
      limit=100,
      search='blocker',
      sort=GetCasesEnums.Fields.UPDATED_AT,
    ).get_result()
    
    print(json.dumps(case_list, indent=2))

Response

Response of a GET /cases request

Response of a GET /cases request.

Response of a GET /cases request.

Response of a GET /cases request.

Response of a GET /cases request.

Status Code

  • Success

  • Forbidden - insufficient permission. The client has been authenticated successfully, but the permissions set for the operation forbid this operation to the specified user.

Example responses
  • {
      "total_count": 69,
      "first": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=0"
      },
      "next": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=10&offset=10"
      },
      "last": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=10&offset=60"
      },
      "cases": [
        {
          "number": "CS1234567",
          "short_description": "Test",
          "description": "test",
          "created_at": "2019-07-21 05:20:12",
          "created_by": {
            "name": "Example Name",
            "user_id": "email@example.com",
            "realm": "IBMid",
            "type": "customer"
          },
          "updated_at": "2019-07-30 21:39:40",
          "updated_by": {
            "name": "Example Name",
            "user_id": "Example Name",
            "realm": "IBMid",
            "type": "customer"
          },
          "contact": {
            "name": "Example Name",
            "user_id": "email@example.com",
            "realm": "IBMid",
            "type": "customer"
          },
          "contact_type": "Cloud Support Center",
          "status": "In Progress",
          "severity": 4,
          "support_tier": "Premium",
          "resolution": "",
          "close_notes": "",
          "invoice_number": "",
          "agent_close_only": false,
          "eu": {
            "support": false,
            "data_center": ""
          },
          "watchlist": [
            {
              "name": "Example Name",
              "user_id": "email@example.com",
              "realm": "IBMid",
              "type": "customer"
            }
          ],
          "attachments": [
            {
              "id": "28ccc7e0db12fb123456dd4b5e96191f",
              "filename": "example.png",
              "size_in_bytes": 1000,
              "created_at": "2019-06-24 15:19:36"
            }
          ],
          "url": "https://support-center.cloud.ibm.com/case-management/v1/cases/CS1234567/attachments/28acc7e0db12fb801785dd4b5e96191f",
          "resources": null,
          "comments": [
            {
              "value": "Test comment",
              "added_at": "2019-06-21 18:08:01",
              "added_by": {
                "name": "Example Name",
                "user_id": "email@example.com",
                "realm": "IBMid",
                "type": "customer"
              }
            }
          ]
        }
      ]
    }
  • {
      "total_count": 69,
      "first": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=0"
      },
      "next": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=10&offset=10"
      },
      "last": {
        "href": "http://support-center.cloud.ibm.com/cases?limit=10&offset=60"
      },
      "cases": [
        {
          "number": "CS1234567",
          "short_description": "Test",
          "description": "test",
          "created_at": "2019-07-21 05:20:12",
          "created_by": {
            "name": "Example Name",
            "user_id": "email@example.com",
            "realm": "IBMid",
            "type": "customer"
          },
          "updated_at": "2019-07-30 21:39:40",
          "updated_by": {
            "name": "Example Name",
            "user_id": "Example Name",
            "realm": "IBMid",
            "type": "customer"
          },
          "contact": {
            "name": "Example Name",
            "user_id": "email@example.com",
            "realm": "IBMid",
            "type": "customer"
          },
          "contact_type": "Cloud Support Center",
          "status": "In Progress",
          "severity": 4,
          "support_tier": "Premium",
          "resolution": "",
          "close_notes": "",
          "invoice_number": "",
          "agent_close_only": false,
          "eu": {
            "support": false,
            "data_center": ""
          },
          "watchlist": [
            {
              "name": "Example Name",
              "user_id": "email@example.com",
              "realm": "IBMid",
              "type": "customer"
            }
          ],
          "attachments": [
            {
              "id": "28ccc7e0db12fb123456dd4b5e96191f",
              "filename": "example.png",
              "size_in_bytes": 1000,
              "created_at": "2019-06-24 15:19:36"
            }
          ],
          "url": "https://support-center.cloud.ibm.com/case-management/v1/cases/CS1234567/attachments/28acc7e0db12fb801785dd4b5e96191f",
          "resources": null,
          "comments": [
            {
              "value": "Test comment",
              "added_at": "2019-06-21 18:08:01",
              "added_by": {
                "name": "Example Name",
                "user_id": "email@example.com",
                "realm": "IBMid",
                "type": "customer"
              }
            }
          ]
        }
      ]
    }

Create a case

Create a support case to resolve issues in your account.

Create a case in the account.

Create a case in the account.

Create a case in the account.

Create a case in the account.

POST /cases
(caseManagement *CaseManagementV1) CreateCase(createCaseOptions *CreateCaseOptions) (result *Case, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) CreateCaseWithContext(ctx context.Context, createCaseOptions *CreateCaseOptions) (result *Case, response *core.DetailedResponse, err error)
ServiceCall<Case> createCase(CreateCaseOptions createCaseOptions)
createCase(params)
create_case(self,
        type: str,
        subject: str,
        description: str,
        *,
        severity: int = None,
        eu: 'CasePayloadEu' = None,
        offering: 'Offering' = None,
        resources: List['ResourcePayload'] = None,
        watchlist: List['User'] = None,
        invoice_number: str = None,
        sla_credit_request: bool = None,
        **kwargs
    ) -> DetailedResponse

Request

Instantiate the CreateCaseOptions struct and set the fields to provide parameter values for the CreateCase method.

Use the CreateCaseOptions.Builder to create a CreateCaseOptions object that contains the parameter values for the createCase method.

payload to create a support case

WithContext method only

The CreateCase options.

The createCase options.

parameters

  • Case type.

    Allowable values: [technical,account_and_access,billing_and_invoice,sales]

  • Subject of the case.

    Possible values: length ≤ 160

  • Detailed description of the issue.

    Possible values: length ≤ 4000

  • Severity of the case. Smaller values mean higher severity.

    Allowable values: [1,2,3,4]

  • Specify if the case should be treated as EU regulated. Only one of the following properties is required. Call EU support utility endpoint to determine which property must be specified for your account.

    Examples:
    View
  • Offering details.

  • List of resources to attach to case. If attaching Classic IaaS devices use type and id fields if Cloud Resource Name (CRN) is unavialable. Otherwise pass the resource CRN. The resource list must be consistent with the value selected for the resource offering.

    Possible values: 1 ≤ number of items ≤ 5

    Examples:
    View
  • Array of user IDs to add to the watchlist.

    Possible values: 1 ≤ number of items ≤ 100

    Examples:
    View
  • Invoice number of "Billing and Invoice" case type.

    Possible values: length ≤ 200

    Default:

  • Flag to indicate if case is for an Service Level Agreement (SLA) credit request.

    Default: false

parameters

  • Case type.

    Allowable values: [technical,account_and_access,billing_and_invoice,sales]

  • Subject of the case.

    Possible values: length ≤ 160

  • Detailed description of the issue.

    Possible values: length ≤ 4000

  • Severity of the case. Smaller values mean higher severity.

    Allowable values: [1,2,3,4]

  • Specify if the case should be treated as EU regulated. Only one of the following properties is required. Call EU support utility endpoint to determine which property must be specified for your account.

    Examples:
    View
  • Offering details.

  • List of resources to attach to case. If attaching Classic IaaS devices use type and id fields if Cloud Resource Name (CRN) is unavialable. Otherwise pass the resource CRN. The resource list must be consistent with the value selected for the resource offering.

    Possible values: 1 ≤ number of items ≤ 5

    Examples:
    View
  • Array of user IDs to add to the watchlist.

    Possible values: 1 ≤ number of items ≤ 100

    Examples:
    View
  • Invoice number of "Billing and Invoice" case type.

    Possible values: length ≤ 200

    Default:

  • Flag to indicate if case is for an Service Level Agreement (SLA) credit request.

    Default: false

  • curl --location --request POST 'https://support-center.cloud.ibm.com/case-management/v1/cases' --header 'Content-Type: application/json' --header 'Authorization: TOKEN' --data-raw '{ "type": "technical",
      "subject": "Case subject",
      "description": "Case description",
      "severity":4,
       "offering": {
        "name": "Cloud Object Storage",
        "type": {
          "group": "crn_service_name",
          "key": "cloud-object-storage",
          "kind": "service",
          "id": "dff97f5c-bc5e-4455-b470-411c3edbe49c"
        }
      },
      "resources": [
        {
          "crn": "crn:v1:staging:public:cloud-object-storage:global:a/2dded3de4a4d4a098ebd0998be5cc845:723a59c4-9338-43fe-9dc4-e4a87cc78c8e::",
          "note": "Resource note"
        }
      ]
    }'
  • offeringType, _ := caseManagementService.NewOfferingType(
      casemanagementv1.OfferingTypeGroupCRNServiceNameConst,
      "cloud-object-storage",
    )
    offeringPayload, _ := caseManagementService.NewOffering(
      "Cloud Object Storage",
      offeringType,
    )
    
    createCaseOptions := caseManagementService.NewCreateCaseOptions(
      "technical",
      "Example technical case",
      "This is an example case description. This is where the problem would be described.",
    )
    createCaseOptions.SetSeverity(4)
    createCaseOptions.SetOffering(offeringPayload)
    
    caseVar, response, err := caseManagementService.CreateCase(createCaseOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(caseVar, "", "  ")
    fmt.Println(string(b))
  • OfferingType offeringType = new OfferingType.Builder()
      .group(OfferingType.Group.CRN_SERVICE_NAME)
      .key("cloud-object-storage")
      .build();
    Offering offeringPayload = new Offering.Builder()
      .name("Cloud Object Storage")
      .type(offeringType)
      .build();
    CreateCaseOptions createCaseOptions = new CreateCaseOptions.Builder()
      .type("technical")
      .subject("Example technical case")
      .description("This is an example case description. This is where the problem would be described.")
      .offering(offeringPayload)
      .severity(4)
      .build();
    
    Response<Case> response = service.createCase(createCaseOptions).execute();
    Case xCase = response.getResult();
    
    System.out.println(xCase);
  • const offeringType = {
      group: 'crn_service_name',
      key: 'cloud-object-storage',
    };
    
    const offeringPayload = {
      name: 'Cloud Object Storage',
      type: offeringType,
    };
    
    const params = {
      type: 'technical',
      subject: 'Example technical case',
      description: 'This is an example case description. This is where the problem would be described.',
      offering: offeringPayload,
      severity: 4,
    };
    
    caseManagementService.createCase(params)
      .then(res => {
        caseNumber = res.result.number
        console.log(JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • offering_type = OfferingType(
      group='crn_service_name',
      key='cloud-object-storage'
    )
    offering_payload = Offering(
      name='Cloud Object Storage',
      type=offering_type
    )
    
    case = case_management_service.create_case(
      type='technical',
      subject='Example technical case',
      description='This is an example case description. This is where the problem would be described.',
      offering=offering_payload,
      severity=4,
    ).get_result()
    
    print(json.dumps(case, indent=2))

Response

The support case

The support case.

The support case.

The support case.

The support case.

Status Code

  • Success

  • Forbidden - insufficient permission. The client has been authenticated successfully, but the permissions set for the operation forbid this operation to the specified user.

Example responses
  • {
      "number": "CS12345",
      "short_description": "string",
      "description": "string",
      "created_at": "2019-07-21 05:20:12",
      "created_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "updated_at": "2019-07-30 06:26:38",
      "updated_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "contact_type": "Cloud Support Center",
      "contact": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "status": "string",
      "severity": 0,
      "support_tier": "Free",
      "resolution": "string",
      "close_notes": "string",
      "eu": {
        "support": true,
        "data_center": "string"
      },
      "watchlist": [
        {
          "name": "John Doe",
          "realm": "IBMid",
          "user_id": "johndoe@ibm.com"
        }
      ],
      "attachments": [
        {
          "id": "string",
          "filename": "string",
          "size_in_bytes": 0,
          "created_at": "2019-07-30 06:26:38",
          "url": "string"
        }
      ],
      "offering": {
        "id": "string",
        "value": "string"
      },
      "resources": [
        {
          "crn": "string",
          "name": "string",
          "type": "string",
          "url": "string",
          "note": "string"
        }
      ],
      "comments": [
        {
          "value": "string",
          "added_at": "2019-07-30 06:26:38",
          "added_by": {
            "name": "John Doe",
            "realm": "IBMid",
            "user_id": "johndoe@ibm.com"
          }
        }
      ]
    }
  • {
      "number": "CS12345",
      "short_description": "string",
      "description": "string",
      "created_at": "2019-07-21 05:20:12",
      "created_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "updated_at": "2019-07-30 06:26:38",
      "updated_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "contact_type": "Cloud Support Center",
      "contact": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "status": "string",
      "severity": 0,
      "support_tier": "Free",
      "resolution": "string",
      "close_notes": "string",
      "eu": {
        "support": true,
        "data_center": "string"
      },
      "watchlist": [
        {
          "name": "John Doe",
          "realm": "IBMid",
          "user_id": "johndoe@ibm.com"
        }
      ],
      "attachments": [
        {
          "id": "string",
          "filename": "string",
          "size_in_bytes": 0,
          "created_at": "2019-07-30 06:26:38",
          "url": "string"
        }
      ],
      "offering": {
        "id": "string",
        "value": "string"
      },
      "resources": [
        {
          "crn": "string",
          "name": "string",
          "type": "string",
          "url": "string",
          "note": "string"
        }
      ],
      "comments": [
        {
          "value": "string",
          "added_at": "2019-07-30 06:26:38",
          "added_by": {
            "name": "John Doe",
            "realm": "IBMid",
            "user_id": "johndoe@ibm.com"
          }
        }
      ]
    }

Get a case in account

View a case in the account that is specified by the case number.

Get a case in the account that is specified by the case number.

Get a case in the account that is specified by the case number.

Get a case in the account that is specified by the case number.

Get a case in the account that is specified by the case number.

GET /cases/{case_number}
(caseManagement *CaseManagementV1) GetCase(getCaseOptions *GetCaseOptions) (result *Case, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) GetCaseWithContext(ctx context.Context, getCaseOptions *GetCaseOptions) (result *Case, response *core.DetailedResponse, err error)
ServiceCall<Case> getCase(GetCaseOptions getCaseOptions)
getCase(params)
get_case(self,
        case_number: str,
        *,
        fields: List[str] = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • support.case.read

Request

Instantiate the GetCaseOptions struct and set the fields to provide parameter values for the GetCase method.

Use the GetCaseOptions.Builder to create a GetCaseOptions object that contains the parameter values for the getCase method.

Path Parameters

  • Unique identifier of a case

Query Parameters

  • Selected fields of interest instead of all of the case information

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

WithContext method only

The GetCase options.

The getCase options.

parameters

  • Unique identifier of a case.

  • Seleted fields of interest instead of the entire case information.

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

parameters

  • Unique identifier of a case.

  • Seleted fields of interest instead of the entire case information.

    Allowable values: [number,short_description,description,created_at,created_by,updated_at,updated_by,contact,contact_type,status,severity,support_tier,resolution,close_notes,invoice_number,agent_close_only,eu,watchlist,attachments,resources,comments,offering]

    Possible values: number of items ≥ 1, contains only unique items

  • curl -X GET 'https://support-center.cloud.ibm.com/case-management/v1/cases/{case_number}?fields=number,updated_at,resources' -H 'Authorization: TOKEN' \
  • getCaseOptions := caseManagementService.NewGetCaseOptions(
      caseNumber,
    )
    getCaseOptions.SetFields([]string{
      casemanagementv1.GetCaseOptionsFieldsDescriptionConst,
      casemanagementv1.GetCaseOptionsFieldsStatusConst,
      casemanagementv1.GetCaseOptionsFieldsSeverityConst,
      casemanagementv1.GetCaseOptionsFieldsCreatedByConst,
    })
    
    caseVar, response, err := caseManagementService.GetCase(getCaseOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(caseVar, "", "  ")
    fmt.Println(string(b))
  • GetCaseOptions getCaseOptions = new GetCaseOptions.Builder()
      .caseNumber(caseNumber)
      .addFields(GetCaseOptions.Fields.DESCRIPTION)
      .addFields(GetCaseOptions.Fields.STATUS)
      .addFields(GetCaseOptions.Fields.SEVERITY)
      .addFields(GetCaseOptions.Fields.CREATED_BY)
      .build();
    
    Response<Case> response = service.getCase(getCaseOptions).execute();
    Case xCase = response.getResult();
    
    System.out.println(xCase);
  • const fieldsToReturn = [
      CaseManagementV1.GetCaseConstants.Fields.DESCRIPTION,
      CaseManagementV1.GetCaseConstants.Fields.STATUS,
      CaseManagementV1.GetCaseConstants.Fields.SEVERITY,
      CaseManagementV1.GetCaseConstants.Fields.CREATED_BY,
    ];
    
    const params = {
      caseNumber: caseNumber,
      fields: fieldsToReturn,
    };
    
    caseManagementService.getCase(params)
      .then(res => {
        console.log(JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • fields_to_return = [
      GetCaseEnums.Fields.DESCRIPTION,
      GetCaseEnums.Fields.STATUS,
      GetCaseEnums.Fields.SEVERITY,
      GetCaseEnums.Fields.CREATED_BY,
    ]
    
    case = case_management_service.get_case(
      case_number=case_number,
      fields=fields_to_return
    ).get_result()
    
    print(json.dumps(case, indent=2))

Response

The support case

The support case.

The support case.

The support case.

The support case.

Status Code

  • Success

  • Forbidden - insufficient permission. The client has been authenticated successfully, but the permissions set for the operation forbid this operation to the specified user.

  • Not Found - The requested resource does not exist.

Example responses
  • {
      "number": "CS0264883",
      "short_description": "Test case that is created by a linked account",
      "description": "Test",
      "created_at": "2019-05-24 16:30:20",
      "created_by": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "updated_at": "2019-08-21 17:09:35",
      "updated_by": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "contact": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "contact_type": "Cloud Support Center",
      "status": "In Progress",
      "severity": 4,
      "support_tier": "Premium",
      "resolution": "",
      "close_notes": "",
      "invoice_number": "",
      "agent_close_only": false,
      "eu": {
        "support": false,
        "data_center": ""
      },
      "watchlist": [
        {
          "name": "Jane Doe",
          "user_id": "JaneDoe@example.com",
          "realm": "IBMid",
          "type": "customer"
        },
        {
          "name": "Jorge Doe",
          "user_id": "JorgeDoe@example.com",
          "realm": "IBMid",
          "type": "customer"
        }
      ],
      "attachments": [
        {
          "id": "f2222514dbbbf7c01785dd4b5e111973",
          "filename": "add--solid.svg",
          "size_in_bytes": 135,
          "created_at": "2019-05-29 16:42:07",
          "url": "localhost:8080/case-management/v1/cases/CS0264883/attachments/f7262514db7df7c01785dd4b5e961973"
        }
      ],
      "resources": [
        {
          "crn": "211770",
          "name": "ir-origin01.sliad.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/211770/details",
          "note": null
        },
        {
          "crn": "274300",
          "name": "rts-am269.sliad.dataxu.net",
          "type": "SoftLayer_Hardware",
          "url": null,
          "note": null
        },
        {
          "crn": "242458",
          "name": "lb108.wdc01.dataxu.com",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/242458/details",
          "note": null
        },
        {
          "crn": "244120",
          "name": "rts-am058.sliad.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/244120/details",
          "note": null
        },
        {
          "crn": "211883",
          "name": "analytics06.sldc.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/211883/details",
          "note": null
        }
      ],
      "comments": [
        {
          "value": "Test another comment",
          "added_at": "2019-05-24 16:58:58",
          "added_by": {
            "name": "June Doe",
            "user_id": "JuneDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Test unresolved",
          "added_at": "2019-05-24 16:33:52",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Close notes: ",
          "added_at": "2019-05-24 16:33:52",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Close notes: Solution provided by an IBM support engineer",
          "added_at": "2019-05-24 16:32:09",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Test comment",
          "added_at": "2019-05-24 16:31:32",
          "added_by": {
            "name": "John does",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        }
      ],
      "offering": {
        "name": "Compute: Bare Metal",
        "type": {
          "group": "category",
          "key": "iaas:classic"
        }
      }
    }
  • {
      "number": "CS0264883",
      "short_description": "Test case that is created by a linked account",
      "description": "Test",
      "created_at": "2019-05-24 16:30:20",
      "created_by": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "updated_at": "2019-08-21 17:09:35",
      "updated_by": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "contact": {
        "name": "John Doe",
        "user_id": "JohnDoe@example.com",
        "realm": "IBMid",
        "type": "customer"
      },
      "contact_type": "Cloud Support Center",
      "status": "In Progress",
      "severity": 4,
      "support_tier": "Premium",
      "resolution": "",
      "close_notes": "",
      "invoice_number": "",
      "agent_close_only": false,
      "eu": {
        "support": false,
        "data_center": ""
      },
      "watchlist": [
        {
          "name": "Jane Doe",
          "user_id": "JaneDoe@example.com",
          "realm": "IBMid",
          "type": "customer"
        },
        {
          "name": "Jorge Doe",
          "user_id": "JorgeDoe@example.com",
          "realm": "IBMid",
          "type": "customer"
        }
      ],
      "attachments": [
        {
          "id": "f2222514dbbbf7c01785dd4b5e111973",
          "filename": "add--solid.svg",
          "size_in_bytes": 135,
          "created_at": "2019-05-29 16:42:07",
          "url": "localhost:8080/case-management/v1/cases/CS0264883/attachments/f7262514db7df7c01785dd4b5e961973"
        }
      ],
      "resources": [
        {
          "crn": "211770",
          "name": "ir-origin01.sliad.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/211770/details",
          "note": null
        },
        {
          "crn": "274300",
          "name": "rts-am269.sliad.dataxu.net",
          "type": "SoftLayer_Hardware",
          "url": null,
          "note": null
        },
        {
          "crn": "242458",
          "name": "lb108.wdc01.dataxu.com",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/242458/details",
          "note": null
        },
        {
          "crn": "244120",
          "name": "rts-am058.sliad.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/244120/details",
          "note": null
        },
        {
          "crn": "211883",
          "name": "analytics06.sldc.dataxu.net",
          "type": "ims",
          "url": "https://cloud.ibm.com/gen1/infrastructure/bare-metal/211883/details",
          "note": null
        }
      ],
      "comments": [
        {
          "value": "Test another comment",
          "added_at": "2019-05-24 16:58:58",
          "added_by": {
            "name": "June Doe",
            "user_id": "JuneDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Test unresolved",
          "added_at": "2019-05-24 16:33:52",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Close notes: ",
          "added_at": "2019-05-24 16:33:52",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Close notes: Solution provided by an IBM support engineer",
          "added_at": "2019-05-24 16:32:09",
          "added_by": {
            "name": "John Doe",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        },
        {
          "value": "Test comment",
          "added_at": "2019-05-24 16:31:32",
          "added_by": {
            "name": "John does",
            "user_id": "JohnDoe@example.com",
            "realm": "IBMid",
            "type": "customer"
          }
        }
      ],
      "offering": {
        "name": "Compute: Bare Metal",
        "type": {
          "group": "category",
          "key": "iaas:classic"
        }
      }
    }

Update case status

Mark the case as resolved or unresolved, or accept the provided resolution.

Mark the case as resolved or unresolved, or accept the provided resolution.

Mark the case as resolved or unresolved, or accept the provided resolution.

Mark the case as resolved or unresolved, or accept the provided resolution.

Mark the case as resolved or unresolved, or accept the provided resolution.

PUT /cases/{case_number}/status
(caseManagement *CaseManagementV1) UpdateCaseStatus(updateCaseStatusOptions *UpdateCaseStatusOptions) (result *Case, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) UpdateCaseStatusWithContext(ctx context.Context, updateCaseStatusOptions *UpdateCaseStatusOptions) (result *Case, response *core.DetailedResponse, err error)
ServiceCall<Case> updateCaseStatus(UpdateCaseStatusOptions updateCaseStatusOptions)
updateCaseStatus(params)
update_case_status(self,
        case_number: str,
        status_payload: 'StatusPayload',
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • support.case.update

Request

Instantiate the UpdateCaseStatusOptions struct and set the fields to provide parameter values for the UpdateCaseStatus method.

Use the UpdateCaseStatusOptions.Builder to create a UpdateCaseStatusOptions object that contains the parameter values for the updateCaseStatus method.

Path Parameters

  • Unique identifier of a case

Payload to update status of the case

Examples:
resolve
unresolve
accept

WithContext method only

The UpdateCaseStatus options.

The updateCaseStatus options.

parameters

  • Unique identifier of a case.

  • Payload to resolve the case.

parameters

  • Unique identifier of a case.

  • Payload to resolve the case.

  • curl -X PUT 'https://support-center.cloud.ibm.com/case-management/v1/cases/{case_number}/status' -H 'Authorization: TOKEN' -d '{
    "action": "resolve",
    "comment": "The issue is resolved. Thank you!"
    'resolution_code: 1'
    }'
  • curl -X PUT 'https://support-center.cloud.ibm.com/case-management/v1/cases/{case_number}/status' -H 'Authorization: TOKEN' -d '{
    "action": "unresolve",
    "comment": "The issue is not resolved!"
    }'
  • curl -X PUT 'https://support-center.cloud.ibm.com/case-management/v1/cases/{case_number}/status' -H 'Authorization: TOKEN' -d '{
    "action": "accept",
    "comment": "I accept the provided resolution."
    }'
  • statusPayloadModel := &casemanagementv1.ResolvePayload{
      Action:         core.StringPtr("resolve"),
      Comment:        core.StringPtr("The problem has been resolved."),
      ResolutionCode: core.Int64Ptr(int64(1)),
    }
    
    updateCaseStatusOptions := caseManagementService.NewUpdateCaseStatusOptions(
      caseNumber,
      statusPayloadModel,
    )
    
    caseVar, response, err := caseManagementService.UpdateCaseStatus(updateCaseStatusOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(caseVar, "", "  ")
    fmt.Println(string(b))
  • ResolvePayload statusPayloadModel = new ResolvePayload.Builder()
      .action("resolve")
      .comment("The problem has been resolved.")
      .resolutionCode(1)
      .build();
    UpdateCaseStatusOptions updateCaseStatusOptions = new UpdateCaseStatusOptions.Builder()
      .caseNumber(caseNumber)
      .statusPayload(statusPayloadModel)
      .build();
    
    Response<Case> response = service.updateCaseStatus(updateCaseStatusOptions).execute();
    Case xCase = response.getResult();
    
    System.out.println(xCase);
  • const statusPayloadModel = {
      action: 'resolve',
      comment: 'The problem has been resolved.',
      resolution_code: 1,
    };
    
    const params = {
      caseNumber: caseNumber,
      statusPayload: statusPayloadModel,
    };
    
    caseManagementService.updateCaseStatus(params)
      .then(res => {
        console.log(JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • status_payload_model = {
      'action': 'resolve',
      'comment': 'The problem has been resolved.',
      'resolution_code': 1,
    }
    
    case = case_management_service.update_case_status(
      case_number=case_number,
      status_payload=status_payload_model
    ).get_result()
    
    print(json.dumps(case, indent=2))

Response

The support case

The support case.

The support case.

The support case.

The support case.

Status Code

  • Success

  • Forbidden - insufficient permission. The client has been authenticated successfully, but the permissions set for the operation forbid this operation to the specified user.

  • Not Found - The requested resource does not exist.

  • Conflict - The requested resource is being modified in a different request

Example responses
  • {
      "number": "string",
      "short_description": "string",
      "description": "string",
      "created_at": "2019-07-30 06:26:38",
      "created_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "updated_at": "2019-07-31 07:26:36",
      "updated_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "contact_type": "Cloud Support Center",
      "contact": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "status": "string",
      "severity": 0,
      "support_tier": "Free",
      "resolution": "string",
      "close_notes": "string",
      "agent_close_only": false,
      "eu": {
        "support": true,
        "data_center": "string"
      },
      "watchlist": [
        {
          "name": "John Doe",
          "realm": "IBMid",
          "user_id": "johndoe@ibm.com"
        }
      ],
      "attachments": [
        {
          "id": "string",
          "filename": "string",
          "size_in_bytes": 0,
          "created_at": "2019-07-30 06:26:38",
          "url": "string"
        }
      ],
      "offering": {
        "id": "string",
        "value": "string"
      },
      "resources": [
        {
          "crn": "string",
          "name": "string",
          "type": "string",
          "url": "string",
          "note": "string"
        }
      ],
      "comments": [
        {
          "value": "string",
          "added_at": "2019-07-30 06:26:38",
          "added_by": {
            "name": "John Doe",
            "realm": "IBMid",
            "user_id": "johndoe@ibm.com"
          }
        }
      ]
    }
  • {
      "number": "string",
      "short_description": "string",
      "description": "string",
      "created_at": "2019-07-30 06:26:38",
      "created_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "updated_at": "2019-07-31 07:26:36",
      "updated_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "contact_type": "Cloud Support Center",
      "contact": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      },
      "status": "string",
      "severity": 0,
      "support_tier": "Free",
      "resolution": "string",
      "close_notes": "string",
      "agent_close_only": false,
      "eu": {
        "support": true,
        "data_center": "string"
      },
      "watchlist": [
        {
          "name": "John Doe",
          "realm": "IBMid",
          "user_id": "johndoe@ibm.com"
        }
      ],
      "attachments": [
        {
          "id": "string",
          "filename": "string",
          "size_in_bytes": 0,
          "created_at": "2019-07-30 06:26:38",
          "url": "string"
        }
      ],
      "offering": {
        "id": "string",
        "value": "string"
      },
      "resources": [
        {
          "crn": "string",
          "name": "string",
          "type": "string",
          "url": "string",
          "note": "string"
        }
      ],
      "comments": [
        {
          "value": "string",
          "added_at": "2019-07-30 06:26:38",
          "added_by": {
            "name": "John Doe",
            "realm": "IBMid",
            "user_id": "johndoe@ibm.com"
          }
        }
      ]
    }

Add comment to case

Add a comment to a case to be viewed by a support engineer.

Add a comment to a case.

Add a comment to a case.

Add a comment to a case.

Add a comment to a case.

PUT /cases/{case_number}/comments
(caseManagement *CaseManagementV1) AddComment(addCommentOptions *AddCommentOptions) (result *Comment, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) AddCommentWithContext(ctx context.Context, addCommentOptions *AddCommentOptions) (result *Comment, response *core.DetailedResponse, err error)
ServiceCall<Comment> addComment(AddCommentOptions addCommentOptions)
addComment(params)
add_comment(self,
        case_number: str,
        comment: str,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • support.case.update

Request

Instantiate the AddCommentOptions struct and set the fields to provide parameter values for the AddComment method.

Use the AddCommentOptions.Builder to create a AddCommentOptions object that contains the parameter values for the addComment method.

Path Parameters

  • Unique identifier of a case

Payload to add a comment to the case

Examples:
View

WithContext method only

The AddComment options.

The addComment options.

parameters

  • Unique identifier of a case.

  • Comment to add to the case.

    Possible values: length ≤ 8000

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Unique identifier of a case.

  • Comment to add to the case.

    Possible values: length ≤ 8000

    Examples:
    value
    _source
    _lines
    _html
  • curl -X PUT 'https://support-center.cloud.ibm.com/case-management/v1/cases/{case_number}/comments' -H 'Authorization: TOKEN' -d '{
    "comment": "Test comment api"
    }'
  • addCommentOptions := caseManagementService.NewAddCommentOptions(
      caseNumber,
      "This is an example comment.",
    )
    
    comment, response, err := caseManagementService.AddComment(addCommentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(comment, "", "  ")
    fmt.Println(string(b))
  • AddCommentOptions addCommentOptions = new AddCommentOptions.Builder()
      .caseNumber(caseNumber)
      .comment("This is an example comment.")
      .build();
    
    Response<Comment> response = service.addComment(addCommentOptions).execute();
    Comment comment = response.getResult();
    
    System.out.println(comment);
  • const params = {
      caseNumber: caseNumber,
      comment: 'This is an example comment,',
    };
    
    caseManagementService.addComment(params)
      .then(res => {
        console.log(JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • comment = case_management_service.add_comment(
      case_number=case_number,
      comment='This is an example comment.'
    ).get_result()
    
    print(json.dumps(comment, indent=2))

Response

A comment in a case

A comment in a case.

A comment in a case.

A comment in a case.

A comment in a case.

Status Code

  • Success

  • Forbidden - insufficient permission. The client has been authenticated successfully, but the permissions set for the operation forbid this operation to the specified user.

  • Not Found - The requested resource does not exist.

Example responses
  • {
      "value": "string",
      "added_at": "2019-07-30 06:26:38",
      "added_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      }
    }
  • {
      "value": "string",
      "added_at": "2019-07-30 06:26:38",
      "added_by": {
        "name": "John Doe",
        "realm": "IBMid",
        "user_id": "johndoe@ibm.com"
      }
    }

Add users to watchlist of case

Add users to the watchlist of case. By adding a user to the watchlist of the case, you are granting them read and write permissions, so the user can view the case, receive updates, and make updates to the case. Note that the user must be in the account to be added to the watchlist.

Add users to the watchlist of case. By adding a user to the watchlist of the case, you are granting them read and write permissions, so the user can view the case, receive updates, and make updates to the case. Note that the user must be in the account to be added to the watchlist.

Add users to the watchlist of case. By adding a user to the watchlist of the case, you are granting them read and write permissions, so the user can view the case, receive updates, and make updates to the case. Note that the user must be in the account to be added to the watchlist.

Add users to the watchlist of case. By adding a user to the watchlist of the case, you are granting them read and write permissions, so the user can view the case, receive updates, and make updates to the case. Note that the user must be in the account to be added to the watchlist.

Add users to the watchlist of case. By adding a user to the watchlist of the case, you are granting them read and write permissions, so the user can view the case, receive updates, and make updates to the case. Note that the user must be in the account to be added to the watchlist.

PUT /cases/{case_number}/watchlist
(caseManagement *CaseManagementV1) AddWatchlist(addWatchlistOptions *AddWatchlistOptions) (result *WatchlistAddResponse, response *core.DetailedResponse, err error)
(caseManagement *CaseManagementV1) AddWatchlistWithContext(ctx context.Context, addWatchlistOptions *AddWatchlistOptions) (result *WatchlistAddResponse, response *core.DetailedResponse, err error)
ServiceCall<WatchlistAddResponse> addWatchlist(AddWatchlistOptions addWatchlistOptions)