Introduction

Welcome to the Nasuni Portal API.

The Portal API allows you to monitor and configure Nasuni resources managed by Portal in a simple programmatic way using conventional HTTP requests.

All endpoints should be prefixed with the appropriate regional base domain for your account:

  • eu1.portal.api.nasuni.com
  • as1.portal.api.nasuni.com
  • am1.portal.api.nasuni.com

You can determine your regional base domain by logging into Portal and observing the URL in the address bar.

Requests & Responses

The Portal API is based on REST principles and is only reachable via HTTPS. In general, the API uses standard HTTP methods as described below:

MethodUsage
GETRetrieve resources
POSTCreate resources
PATCHUpdate resources
DELETEDelete resources
HEADDetermine if a resource exists

In the case of all PATCH and some POST requests, a JSON-formatted body is used to add the necessary arguments to the request.

When a request is successful, a response body will typically be sent back as JSON. A typical successful request will return with a status code in the 200 range.

Return codes in the 400 range typically indicate that there was an issue with the request that was sent. A status code in the 500 range generally indicates a server-side problem. If you receive a 500 error, please contact support@nasuni.com.

Authentication

You will need either a user or service key to authenticate. Keys can be administered from the API Keys Management page in Portal. Once you have a key, you can request an access token via the /auth/token endpoint. See the Auth endpoint docmentation for more details.

The /auth/token endpoint supports both legacy header-based authentication and standard OAuth2 Client Credentials requests (application/x-www-form-urlencoded). For third-party integrations (for example, Grafana, Datadog, Splunk, and ServiceNow), use the OAuth2 request format shown below:

Copy
Copied
curl -X POST "https://<region>.portal.api.nasuni.com/auth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=client_credentials" \
  --data-urlencode "client_id=<service_key_id>" \
  --data-urlencode "client_secret=<service_key_secret>"

The token response format is unchanged (access_token, refresh_token, token_type, expires_in). The expires_in value is in seconds.

Rate Limiting

The Portal API enforces per-account rate limits to ensure fair usage and protect service availability.

Limit Default
Burst 500 requests per 30-second window
Daily 1,000,000 requests per day

Telemetry endpoints (/telemetry/*) share the same default limits but may be configured with separate thresholds.

If a request exceeds the rate limit, a 429 Too Many Requests response is returned with an ErrorResponse body. When a burst limit is exceeded, the response includes a Retry-After header indicating the number of seconds to wait before retrying. Daily limit responses do not include the Retry-After header.





Copyright © 2025 Nasuni Corporation. All rights reserved.