Introduction
Keystash's APIs belong to the Representational State Transfer (REST) category. They allow you to perform 'RESTful' operations such as reading, modifying, adding or deleting data from your SSH key management system.
What API commands are used by Keystash?
Keystash APIs are plain JSON over HTTP and use the following HTTP verbs:
Command | Purpose |
---|---|
POST | Create an object |
GET | Fetch one or more objects |
PUT | Set an objects state or replaces an object |
PATCH | Update an object |
DELETE | Remove an object |
Note
All API requests should hit the secured HTTPS endpoint.
Base Endpoint URL
The base REST endpoint URL is:
https://app.keystash.io/api/v1/
All the of the Resources and Methods prefix this base URL.
Example
Resource: Users
Method: List Users
Final URL: https://app.keystash.io/api/v1/users/list
Rate Limit
Keystash implements a rate limit on connections to the API. The API allows:
5 connections/second.
Should you you reach the API limit you will receive the following error response body. The Retry-After value in the response header will tell you how long you need to wait before you can send another API request.
HTTP/1.1 429
X-Ratelimit-Remaining: 0
X-RateLimit-Limit: 1
X-RateLimit-Reset: {datetime}
Retry-After: 10
Header Name | Description |
---|---|
X-RateLimit-Remaining | The number of requests remaining in the current rate limit window. |
X-RateLimit-Limit | The number of requests used in the current rate limit window. |
X-RateLimit-Reset | The date and time at which point you can resume submitting requests. |
Retry-After | The number in seconds that you will have to wait to fire your next API request. |
Dates and Times
All dates and times in the Keystash API are in UTC time. The date and time format used across the platform is ISO 8601 YYYY-MM-DD HH:mm:ss
. Example: 2020-02-26 18:30:26