Support API Overview

DoiT provides unlimited advisory and technical support for Amazon Web Services, Google Cloud, and Microsoft Azure. As a customer, you aren't limited to any number of support requests or on how much time DoiT invests in supporting you as a client. Read more about working with support requests here.

Support API lets you programmatically log support or advisory requests with DoiT with an easy-to-use RESTful API.

πŸ‘

API Reference

The Support API reference is available at https://developer.doit.com/reference/support-requests

πŸ“˜

Required Permissions

No permission is required to access Support API

Support API has the following methods:

tickets.list

The tickets.list method provides a list of all historical and active tickets as explained in Manage Known Issues section.

You can filter the list by using one or more of the following parameters:

ParameterDescription
minCreationTimestring
Min value for a ticket's creation time, in milliseconds since the POSIX epoch. If set, only tickets created after or at this timestamp are returned."
maxCreationTimestring
Max value for a ticket's creation time, in milliseconds since the POSIX epoch. If set, only tickets created before or at this timestamp are returned."
filterstring
An expression for filtering the results of the request. The syntax is key:[<value>]. For example, the priority:high will filter the list to include only tickets with high priority or severity.

Multiple filters can be AND'ed together by connecting with a |. For example: priority:amazon-web-services|status:active will filter the list to include only active AWS tickets.

Learn more about how to properly use filter *.list requests

Sample tickets.list Request to list all tickets with priority set to "high":

curl --location --request GET 'https://api.doit.com/support/v1/tickets?filter=priority:high' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your-api-key' \
--data-raw ''

πŸ“˜

your-api-key

Always replace "your-api-key" with your actual API key as explained at Getting Started

Sample tickets.list Response:

{
    "tickets": [
        {
            "id": 35266,
            "subject": "getting error when running a query",
            "severity": "high",
            "requester": "[email protected]",
            "platform": "google_cloud_platform",
            "category": "analytics___etls__google_bigquery",
            "lastModified": 1606215498000,
            "status": "hold",
            "url": "https://app.doit.com/customers/2Gi0e4pPA3wsfJNOOohW/support/tickets/35266"
        },
        {
            "id": 28739,
            "subject": "S3 object download not fetching the latest version ",
            "severity": "high",
            "requester": "[email protected]",
            "platform": "amazon_web_services",
            "category": "storage__amazon_s3",
            "lastModified": 1591885317000,
            "status": "closed",
            "url": "https://app.doit.com/customers/2Gi0e4pPA3wsfJNOOohW/support/tickets/28739"
        }
    ]
}

πŸ“˜

(Ticket) object

See object reference here

tickets.create

The tickets.create method gets the full details of an individual ticket using the issue id. Please note, the issue id is not the same id as reported by the cloud provider.

Sample tickets.create Request:

curl --location --request POST 'https://api.doit.com/support/v1/tickets' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your-api-key' \
--data-raw '{
    "ticket": {
        "subject": "Pod restart every few minutes",
        "body": "One of my pods in the GKE cluster keep restarting every few minutes. I checked the log and could not see any obvious reasons. What else should I look for?",
        "requester": "[email protected]",
        "severity": "low",
        "platform": "Google Cloud",
        "category": "containers___kubernetes__google_gke"
    }
}'

πŸ“˜

your-api-key

Always replace "your-api-key" with your actual API key as explained at Getting Started

Sample tickets.create Response:

{
    "id": 35519,
    "subject": "Pod restart every few minutes",
    "requester": "[email protected]",
    "severity": "low",
    "platform": "google_cloud_platform",
    "category": "containers___kubernetes__google_gke",
    "status": "new",
    "url": "https://app.doit.com/customers/2Gi0e4pPA3wsfJNOOohW/support/tickets/35519"
}

Response Body
If successful, the response body contains an instance of Ticket

{
    "id": number,
    "subject": string,
    "requester": string,
    "severity": string,
    "platform": string,
    "category": string,
    "status": string,
    "url": string
}

Ticket Object Fields

FieldDescription
idnumber
This is the id of the created ticket.
subjectstring
The subject of a ticket, as provided in the request.
requesterstring
The email address of the ticket's requester. All notification emails will be sent to this email address.
severitystring
The severity this ticket was created with. Can be either low (default), normal, high or urgent.
platformstring
The cloud platform referenced in this ticket as listed here.
categorystring
The component of the platform for this ticket, possible values are listed here.
statusstring
Status of the ticket. All new tickets are created with the status new. Other possible values are open, solved and closed.
urlstring
The link to the ticket comments in the Cloud Management Platform.

What’s Next