Case Management API v1 Resources

This API manages support requests to resolve questions or issues with your Akamai applications and services.

API Summary

Operation Method Endpoint
Categories
List Cases per Category GET /cases/v1/{category}
Create a Case POST /cases/v1/{category}
List Professional Services Cases GET /cases/v1/PS
Create a Professional Services Case POST /cases/v1/PS
Cases
List Cases GET /cases/v1/portal-user{?status,type,category}
Get a Case GET /cases/v1/portal-user/case/{caseId}
Comment on a Case POST /cases/v1/portal-user/case/{caseId}/notes
Upload a File Attachment POST /cases/v1/portal-user/case/{caseId}/files
Close a Request PUT /cases/v1/portal-user/case/{caseId}/request-close

List Cases per Category

Retrieves product and problem lists for the category and logged-in user.

GET /cases/v1/{category}

Example: /cases/v1/Technical_Support

Parameter Type Sample Description
Required
category Enumeration Technical_Support Category of lists to retrieve. Possible values: Billing_Support, Business_Support, Technical_Support.

Status 200 application/json

Response:

{
    "productProblemsList": {
        "errorString": null,
        "productProblems": {
            "Alta": [
                "Dynamic Page Caching",
                "Edge Load Balancing",
                "End User DNS Mapping"
            ],
            "Compliance Management": [
                "Audit Issue",
                "Compliance Configuration",
                "Compliance Documentation",
                "Other - Compliance"
            ]
        }
    }
}

Create a Case

Creates a support case for the logged-in user. Provide as much data as you can to create an appropriate case.

POST /cases/v1/{category}

Example: /cases/v1/Technical_Support

Content-Type: application/json

Request:

{
    "description": "...",
    "endUserAccountName": "...",
    "endUserEmail": "...",
    "endUserName": "...",
    "endUserPhoneNumber": "...",
    "problem": "...",
    "product": "...",
    "severity": "...",
    "title": "...",
    "indirectCustomerAccountId": "..."
}

Parameter Type Sample Description
Required
category Enumeration Technical_Support Category of lists to retrieve. Possible values: Billing_Support, Business_Support, Technical_Support.

Status 201 application/json

Headers:

  • Location: /resolve/ws/rest/v1.0/cases/portal-user/case/B-3-WC95F3

Response:

{
    "caseId": "B-3-WC95F3",
    "message": "Case has been successfully created with Ticket Id: B-3-WC95F3",
    "links": [
        {
            "href": "/resolve/rest/v1.0/cases/portal-user/case/B-3-W5F3",
            "rel": "self"
        }
    ]
}

List Professional Services Cases

Retrieves product lists for the PS category and logged-in user.

GET /cases/v1/PS

Status 200 application/json

Response:

{
    "productList": {
        "errorString": null,
        "products": [
            "Aqua Ion",
            "Aqua Mobile",
            "Cloud Catalyst",
            "Compliance Management"
        ]
    }
}

Create a Professional Services Case

Creates a PS case for the logged-in user. Provide as much data as you can to create an appropriate case.

POST /cases/v1/PS

Content-Type: application/json

Request:

{
    "description": "...",
    "endUserAccountName": "...",
    "endUserEmail": "...",
    "endUserName": "...",
    "endUserPhoneNumber": "...",
    "product": "...",
    "severity": "...",
    "title": "...",
    "indirectCustomerAccountId": "..."
}

Status 201 application/json

Headers:

  • Location: /resolve/ws/rest/v1.0/cases/portal-user/case/B-3-WC95F3

Response:

{
    "caseId": "B-3-WC95F3",
    "message": "Case has been successfully created with Ticket Id: B-3-WC95F3",
    "links": [
        {
            "href": "/resolve/rest/v1.0/cases/portal-user/case/B-3-W5F3",
            "rel": "self"
        }
    ]
}

List Cases

Retrieve cases for the logged-in portal user. Depending on query params this method may be used to retrieved active, closed, user, and/or company cases.

GET /cases/v1/portal-user{?status,type,category}

Example: /cases/v1/portal-user?status=active&type=user&category=ts

Parameter Type Sample Description
Required
category Enumeration ts ts for technicalSupport, or etc (currently ignored). Possible values: ts.
Optional
status String active Retrieves all if missing, both active and closed cases.
type String user Retrieves all if missing, both user and company cases.

Status 200 application/json

Response:

{
    "caseList": {
        "errorString": "...",
        "cases": [
            {
                "id": "...",
                "severity": "...",
                "description": "...",
                "status": "...",
                "title": "...",
                "category": "...",
                "supportEngineer": "...",
                "customerName": "...",
                "dateCreated": "...",
                "dateLastModified": "...",
                "dateClosed": "...",
                "url": "...",
                "errorString": "...",
                "epochTimeCreated": "...",
                "dateTimeCreated": "...",
                "links": [
                    {
                        "href": "...",
                        "rel": "..."
                    },
                    ...
                ]
            },
            ...
        ]
    }
}

Get a Case

Retrieve details for a given case.

GET /cases/v1/portal-user/case/{caseId}

Example: /cases/v1/portal-user/case/B–3-WC95F3

Parameter Type Sample Description
Required
caseId String B-3-WC95F3 Unique identifier for the support ticket.

Status 200 application/json

Response:

{
    "caseId": "...",
    "severity": "...",
    "description": "...",
    "createdOn": "...",
    "supportEng": "...",
    "customer": "...",
    "status": "...",
    "title": "...",
    "problem": "...",
    "closed": "...",
    "createdDate": "...",
    "product": "...",
    "modifiedDate": "...",
    "endUserPhone": "...",
    "endUserCompany": "...",
    "endUserEmail": "...",
    "resolution": "...",
    "investigation": "...",
    "currentStatus": "...",
    "indirectCustomer": "...",
    "SLA": "...",
    "caseMilestones": {
        "...": "...",
        "---": "..."
    },
    "activities": [
        {
            "id": "...",
            "createdOn": "...",
            "activityType": "...",
            "subject": "...",
            "description": "...",
            "direction": "...",
            "status": "...",
            "filename": "...",
            "fileext": "...",
            "createdBy": "...",
            "links": [
                {
                    "href": "...",
                    "rel": "..."
                },
                ...
            ]
        },
        ...
    ],
    "caseQNA": [
        {
            "question": "...",
            "answer": "..."
        },
        ...
    ],
    "errorString": "..."
}

Comment on a Case

Add a comment to a case. Specify the case ID to which you want to add a comment.

POST /cases/v1/portal-user/case/{caseId}/notes

Example: /cases/v1/portal-user/case/B–3-WC95F3/notes

Content-Type: application/json

Request:

{ "comment": "Please give update on this case" }

Parameter Type Sample Description
Required
caseId String B-3-WC95F3 Unique identifier for the support ticket.

Status 201 application/json

Headers:

  • Location: /resolve/ws/rest/v1.0/cases/portal-user/case/B-3-WC95F3

Response:

{
    "caseId": "B-3-WC95F3",
    "message": "Case has been successfully updated with notes",
    "links": [
        {
            "href": "/resolve/rest/v1.0/cases/portal-user/case/B-3-WC95F3",
            "rel": "self"
        }
    ]
}

Upload a File Attachment

Uploads a file to attach to a case, with comments.

POST /cases/v1/portal-user/case/{caseId}/files

Example: /cases/v1/portal-user/case/B–3-WC95F3/files

Content-Type: multipart/form-data

Request:

------WebKitFormBoundaryKeXAMngH3JpO4JB2x7
Content-Disposition: form-data; name="comment"
please check attached file for details
------WebKitFormBoundaryKeXngH3JpO4JB2x7
Content-Disposition: form-data; name="file"; filename="sample.txt"
Content-Type: text/plain
This is Sample file for Case file attachment.
------WebKitFormBoundaryKeXngH3JpO4JB2x7

Parameter Type Sample Description
Required
caseId String B-3-WC95F3 Unique identifier for the support ticket.

Status 201 application/json

Headers:

  • Location: /resolve/ws/rest/v1.0/cases/portal-user/case/B-3-WC95F3

Response:

{
    "caseId": "B-3-WC95F3",
    "message": "Case has been successfully updated with file",
    "links": [
        {
            "href": "/resolve/rest/v1.0/cases/portal-user/case/B-3-WC95F3",
            "rel": "self"
        }
    ]
}

Close a Request

Add Comments to the case. Use case ID in the path for which you want to add comment.

PUT /cases/v1/portal-user/case/{caseId}/request-close

Example: /cases/v1/portal-user/case/B–3-WC95F3/request-close

Content-Type: application/json

Request:

{ "comment": "Issue is resolved. close the case" }

Parameter Type Sample Description
Required
caseId String B-3-WC95F3 Unique identifier for the support ticket.

Status 201 application/json

Headers:

  • Location: /resolve/ws/rest/v1.0/cases/portal-user/case/B-3-WC95F3

Response:

{
    "caseId": "B-3-WC95F3",
    "message": "Case has been successfully requested to close",
    "links": [
        {
            "href": "/resolve/rest/v1.0/cases/portal-user/case/B-3-WC95F3",
            "rel": "self"
        }
    ]
}


Last modified: 12/13/2016