Skip to main content
Use the official Recoup clients to call the platform’s JSON API from your application. Both SDKs support an API key or an existing Bearer token, bounded responses, structured HTTP errors, and an account-identity helper. Their licenses are MIT.

Packages

The Go and Python SDKs handle JSON endpoints. They do not implement streaming, multipart uploads, OAuth login, automatic pagination, or generated methods for every endpoint. Use each endpoint’s reference to check its availability, required permissions, request shape, and response type. A package installation does not grant account access.

Go

Install the published version:
Read an existing API key from your application’s secret environment:
Use Options{AccessToken: ...} for an existing Bearer token. The generic Request(ctx, method, path, query, body, out) method supports other documented JSON endpoints. Pass query parameters as url.Values and an unencoded /api/ path. See the Go package reference for method signatures and error types.

Python

Until the PyPI release is available, install the reviewed source revision:
Use Client(access_token=...) for an existing Bearer token. The generic request(method, path, query=..., body=...) method returns decoded JSON or None for an empty successful response. Read the Python client reference for configuration and error handling.

Authentication and response handling

Supply exactly one credential. Create a key in Recoup account settings, or follow the authentication guide for supported access methods. The default API origin is https://api.recoupable.dev. A custom HTTPS origin is an explicit destination for your credential. Redirects are not followed. Both clients cap responses at 16 MiB by default and accept empty successful responses. Python uses a 30-second timeout per blocking socket operation; Go uses a 30-second total request deadline and supports earlier context deadlines. These limits are configurable. HTTP errors retain their status and headers, including Retry-After; oversized error bodies are truncated. Inspect the error’s fields when deciding what to do. Error messages omit credentials and response bodies. Treat a response body as potentially private if you log it. The SDKs add no retry loop. Go’s standard HTTP transport may retry an idempotent request on a reused connection. A transport failure can occur after a write has completed; check the operation’s outcome before repeating it.