Docs

API

A clean and documented REST API to automate your infrastructure.

Base URL

All endpoints live under https://api.popug.cloud/v1. Requests and responses use JSON. See Authentication for how to send your token.

Service status

A request to the root returns the service name, status and version:

GET https://api.popug.cloud/
{"service":"popug-api","status":"ok","version":"2.9.1"}

Endpoints

MethodPathDescription
GET/v1/bucketsList buckets
POST/v1/bucketsCreate a bucket
DELETE/v1/buckets/{name}Delete an empty bucket
GET/v1/buckets/{name}/objectsList objects in a bucket
POST/v1/purgePurge objects from the CDN

Example

curl
curl https://api.popug.cloud/v1/buckets \
  -H "Authorization: Bearer $POPUG_TOKEN"
200 OK
{
  "data": [
    { "name": "my-bucket", "region": "eu", "public": true, "created_at": "2026-03-14T09:21:07Z" }
  ]
}

Errors

StatusCodeMeaning
401unauthorizedMissing or invalid API token
403forbiddenThe token does not have the required scope
404not_foundThe requested resource does not exist
429rate_limitedToo many requests; retry after the time in Retry-After

Rate limits

The default limit is 600 requests per minute per token. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining headers.