Skip to main content
The dreep Go package wraps every endpoint in this reference, decodes errors into a typed *dreep.Error, retries safe requests, and generates signed URLs locally.
  • Zero dependencies. Built entirely on the standard library (net/http, mime/multipart, crypto/hmac).
  • Context first. Every method that makes a request takes a context.Context as its first argument, so deadlines and cancellation work the way they do everywhere else in Go.
  • Safe for concurrent use. One *dreep.Client can be shared across goroutines.

Installation

Requires Go 1.22 or later. The full API reference is on pkg.go.dev.

Authentication

Create an API key on the API Keys page of your dashboard.
dreep.New returns an error when the API key is empty.
Your API key is a full-project credential and must stay server-side. Anyone holding it can read, upload and delete every asset in the project.To upload from a browser, use the presigned upload flow, where your Go backend hands the client a short-lived URL and the key never leaves your server.

Client options

Quickstart

A runnable version lives in examples/upload.

Method reference

Timeouts and cancellation

The default http.Client applies no global timeout, because uploading a large file can legitimately take minutes. Bound each call with a context deadline instead:
Cancelling the context aborts the request, including any pending retry wait.