ManageEngine ServiceDesk Plus
Create and update IT helpdesk requests (tickets) and browse assets in ManageEngine ServiceDesk Plus Cloud via the SDP REST API v3.
Operations
| operation | Description | Required extra inputs |
|---|---|---|
list_requests |
List open requests in the portal | — |
get_request |
Fetch a single request by id | requestId |
create_request |
Open a new IT helpdesk request | subject (+ optional description, requesterEmail, priority) |
update_request |
Edit an existing request | requestId + at least one of subject, description, priority, status |
list_assets |
List assets registered in the portal | — |
get_asset |
Fetch a single asset by id | assetId |
Authentication — Zoho OAuth 2.0
ServiceDesk Plus Cloud authenticates via Zoho OAuth 2.0. The apiKey
input must be a Zoho access token (not an API key string).
How to get one:
- Go to https://api-console.zoho.com/ and create a Self Client application.
- Generate a token with scope
SDPOnDemand.requests.ALL,SDPOnDemand.assets.READ. - Copy the access token. It expires in 1 hour by default — use a refresh flow or a long-lived token for automation.
Required inputs for every call
| Input | Example | Notes |
|---|---|---|
apiKey |
1000.abc123... |
Zoho OAuth access token |
operation |
create_request |
See table above |
domain |
sdpondemand.manageengine.com |
Your SDP service domain |
portal |
mycompany |
Portal name (visible in the SDP URL: /app/{portal}/) |
Examples
List open requests
{
"apiKey": "1000.abc...",
"operation": "list_requests",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany"
}
Create a request
{
"apiKey": "1000.abc...",
"operation": "create_request",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"subject": "Laptop keyboard not working",
"description": "The spacebar is stuck on my ThinkPad.",
"requesterEmail": "[email protected]",
"priority": "High"
}
Update a request
{
"apiKey": "1000.abc...",
"operation": "update_request",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"requestId": "1234",
"status": "Resolved",
"description": "Replaced keyboard. Issue fixed."
}
Get an asset
{
"apiKey": "1000.abc...",
"operation": "get_asset",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"assetId": "5001"
}
Outputs
| Output | Description |
|---|---|
result |
Response body from the SDP API (JSON string) |
status |
HTTP status code (e.g. 200, 201, 400) |