API Reference

Introduction


Our goal is to provide you a reliable, scalable, and easy-to-use API for creating and remotely managing JSON blobs. View the reference materials below for examples on how to control our services using the API. Or, continue exploring our docs for in-depth tutorials on how to automate workflows, extend existing JSON-enabled products, or otherwise combine HighContext JSON blobs with other services.

Authentication


HighContext uses API keys to permit access to restricted API methods. You can create a new HighContext API key at https://api.highcontext.ai/v1/blobs/api.

All requests to restricted API methods require an API key present in the header like the following:
Authorization: Basic base64-encoded(:api_key)

curl -L https://api.highcontext.ai/v1/blobs \
-H "Authorization: Basic base64-encoded(:api_key)"

Object Methods


Navigate to the following object-specific methods to create, read, update, and destroy resources on HighContext.

Blobs

Organizations

Workspaces

API Keys

Blob Methods

Use the following methods to create and manage your remote JSON blobs.

Create
Read
Update
Destroy

Create

Use the following endpoint to write new JSON blobs to HighContext's remote storage.

HTTP Request

POST https://api.highcontext.ai/v1/blobs

Query Parameters
Parameter Required Description
blob_name true The name of your blob. Only URL-safe names and characters are permitted.
blob_data true The arbitrary JSON blob. Maximum size 100 MB.
blob_permissions_policy true The rules controlling how your blob may be accessed.
blob_workspace_id false The id of the workspace where your blob will be saved.
blob_database_region_id false The id of the database region where your blob will reside.

curl -L https://api.highcontext.ai/v1/blobs \
-H "Authorization: Basic base64-encoded(:api_key)"
-d '{ "blob_name":"helloworld", "blob_data": {"key1": "value1", "key2": 2, "key3": true}, "blob_permissions_policy": {"expires_at":"2099-01-01 00:00:01", "public":false } }'

Read

Use the following endpoint to fetch a JSON blob from HighContext's remote storage.

HTTP Request

GET https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug>
GET https://api.highcontext.ai/v1/blobs/<:blob_id>

Header Parameters
Parameter Required Description
blob_password false The base64-encoded password for your blob.

curl -L https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug> \
-H "Authorization: Basic base64-encoded(:api_key)"

curl -L https://api.highcontext.ai/v1/blobs/<:blob_id> \
-H "Authorization: Basic base64-encoded(:api_key)"

Update

Use the following endpoint to edit a JSON blob in HighContext's remote storage.

HTTP Request

PUT https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug>

Query Parameters
Parameter Required Description
blob_name false The name of your blob. Only URL-safe names and characters are permitted.
blob_data false The arbitrary JSON blob. Maximum size 100 MB.
blob_permissions_policy false The rules controlling how your blob may be accessed.
blob_workspace_id false The id of the workspace where your blob will be saved.
blob_database_region_id false The id of the database region where your blob will reside.

curl -L https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug> \
-H "Authorization: Basic base64-encoded(:api_key)" \
-X PUT \
-d '{ "blob_name":"helloworld", "blob_data": {"key1": "value1", "key2": 2, "key3": true}, "blob_permissions_policy": {"expires_at":"2099-01-01 00:00:01", "public":false } }'

Destroy

Use the following endpoint to remove a JSON blob from HighContext's remote storage.

HTTP Request

DELETE https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug>

curl -L https://api.highcontext.ai/v1/blobs/<:blob_database_region_id>/r/<:blob_workspace_id>/<:blob_slug> \
-H "Authorization: Basic base64-encoded(:api_key)" \
-X DELETE

Organization Methods

Use the following methods to create and manage your organization's workspaces.

List Workspaces

List Workspaces

Use the following endpoint to list the workspaces within an organization.

HTTP Request

GET https://api.highcontext.ai/v1/workspaces

Query Parameters
Parameter Required Description
page false Sort by page through the list of the organization's workspaces ordered by last get, descending order.

curl -L https://api.highcontext.ai/v1/workspaces \
-H "Authorization: Basic base64-encoded(:api_key)"

Workspace Methods

Use the following methods to create and manage your workspace's blobs.

List Blobs

List Blobs

Use the following endpoint to list the blobs within a workspace.

HTTP Request

GET https://api.highcontext.ai/v1/workspaces/<:workspace_id>

Query Parameters
Parameter Required Description
page false Sort by page through the list of the workspace's blobs ordered by last set, descending order.

curl -L https://api.highcontext.ai/v1/api-keys \
-H "Authorization: Basic base64-encoded(:api_key)"

API Key Methods

Use the following methods to create and manage your organization's api keys.

Create API Key
List API Keys

Create

Use the following endpoint to write new JSON blobs to HighContext's remote storage.

HTTP Request

POST https://api.highcontext.ai/v1/api-keys

Query Parameters
Parameter Required Description
api_key_name true The name of your api key. Maximum 120 characters.
api_key_role true The permissions level of your api key. Must be set to 'admin'.
api_key_expires_at true The date your api key expires. Must be a future date.

curl -L https://api.highcontext.ai/v1/blobs \
-H "Authorization: Basic base64-encoded(:api_key)"
-d '{ "api_key_name":"myfirstkey", "api_key_role":"admin","api_key_expires_at":"2099-01-01" }'

List API Keys

Use the following endpoint to list the blobs within a workspace.

HTTP Request

GET https://api.highcontext.ai/v1/api-keys

Query Parameters
Parameter Required Description
page false Sort by page through the list of the organization's api keys ordered by last used at, descending order.

curl -L https://api.highcontext.ai/v1/workspaces/<:workspace_id> \
-H "Authorization: Basic base64-encoded(:api_key)"

Errors

The HighContext API uses the following error codes:

Error Code Meaning
400 Bad Request — Your request is invalid.
401 Unauthorized — Your API key is wrong.
404 Not Found — The specified resource could not be found.
429 Too Many Requests — We permit 1,800 requests/min to the API.
500 Internal Server Error — We had a problem with our server. Try again later.
503 Service Unavailable — We're temporarily offline for maintenance. Please try again later.

Blob Database Regions

Every blob has a primary database region. Below are the possible regions and their ids.

Slug City Id State
us-east-1 Ashburn Tg6tS6PhRufCLy7gbkl3E Default
eu-central-1 Frankfurt 8DTSvtMg2JfYid52yxBZQ Available on Request
ap-southeast-2 Sydney 415SbPSsZPh4eaCCPVflAf Available on Request
sa-east-1 Sao Paulo 3ifNJzQTkLxDsJ7VUD8XYv Available on Request

Get Hands-on Help


Have a question about HighContext? We'd be glad to assist you. Send us a message on our Contact page, or email us directly at [email protected].

Contact Us