Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/WyattBrashear/CLIF/llms.txt

Use this file to discover all available pages before exploring further.

CLIF exposes a REST API where every endpoint uses the POST method. The same API powers the official CLI client — anything the clif command does, you can do directly over HTTP. This page covers the base URL format, authentication model, how to compute pass_hash, and the standard error response shape.

Base URL

The server binds to the host and port configured when you start clif-server. There is no path prefix; endpoints are at the root.
http://<your-server>:<port>
For a locally running server on the default port:
http://127.0.0.1:8000

Authentication model

Most endpoints require authentication. Instead of session tokens or API keys, CLIF uses a request-level credential scheme: every protected request must include user_id and pass_hash in the JSON body (or as form fields for multipart uploads).
FieldTypeDescription
user_idstringThe unique user identifier returned at registration
pass_hashstringSHA-256 hex digest of your plaintext password
pass_hash is a SHA-256 hex digest, not the plaintext password. The server never receives your password in plain text.

Computing pass_hash

import hashlib

pass_hash = hashlib.sha256("your_password".encode()).hexdigest()
Or from a shell:
echo -n "your_password" | sha256sum | awk '{print $1}'

All-POST design

Every endpoint — including reads like listing files or fetching user data — uses POST. This simplifies client implementation and keeps credentials out of URL query strings.

Error response format

When a request fails (bad credentials, missing file, quota exceeded), the server responds with HTTP 200 and a JSON body in this shape:
{
  "status": "fail",
  "message": "Description of what went wrong"
}
The server returns HTTP 200 even for logical errors. Always check the status field in the response body rather than relying solely on the HTTP status code. The only exception is POST /retrieve-file, which returns HTTP 404 when the file does not exist.

Endpoint groups

Authentication

Register accounts, verify credentials, and resolve usernames to user IDs

Files

Upload, list, download, and delete files in your storage allocation

Users

Fetch account statistics including storage used and allocation limit

Build docs developers (and LLMs) love