Skip to content

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