Free trial
One anonymous call to a 1 GB bucket: signup, a dedicated AWS profile, limits, and the agent skill.
A 1 GB Ramo bucket, no signup form and no card. One POST returns S3
keys good for 365 days. This walkthrough doubles as a fetchable skill at
https://ramo.io/skill.md, built for agents to run end to end on their own, and
just as usable by hand.
01 — Create the trial
One anonymous call. The response carries endpoint, bucket,
access_key, secret_key (shown once), portal_token (a Bearer token
for the management API), quota_bytes, and expires_at. Store the keys
immediately: the secret is not retrievable again.
# 1 GB free tier, no signup form, keys in one callcurl -s -X POST https://api.ramo.io/api/portal/trials \ -H 'content-type: application/json' -d '{"name": "my-demo"}'{"endpoint": "https://s3-trial.ramo.io", "bucket": "trial-my-demo-x7k2", ...}02 — Configure a dedicated profile
Path-style addressing is the supported and documented mode. Configure the keys
under a named profile, ramo-trial, never the default one, so the trial can
never clobber your existing AWS config.
# keeps the trial isolated from your default AWS configaws configure set --profile ramo-trial aws_access_key_id <access_key>aws configure set --profile ramo-trial aws_secret_access_key <secret_key>aws configure set --profile ramo-trial region us-east-1aws configure set --profile ramo-trial s3.addressing_style path03 — Use the bucket
Standard S3 calls against https://s3-trial.ramo.io. Every command carries
--profile ramo-trial. This is illustrative: the signup response's own endpoint
field is authoritative, so a remapped or staging-style host should be read from
there instead. Uploads are capped at roughly 100 MB per request
(Cloudflare's proxied body limit on this path); aws s3 cp stays under it via its
own automatic multipart upload.
aws s3 cp <file> s3://<bucket>/ --profile ramo-trial --endpoint-url https://s3-trial.ramo.ioaws s3 ls s3://<bucket>/ --profile ramo-trial --endpoint-url https://s3-trial.ramo.ioaws s3 cp s3://<bucket>/<key> . --profile ramo-trial --endpoint-url https://s3-trial.ramo.ioaws s3 rm s3://<bucket>/<key> --profile ramo-trial --endpoint-url https://s3-trial.ramo.ioReference
Listing format
Render every bucket listing this way, whether it comes from the helper script or
a raw S3 call. The header line is scoped to the bucket being listed; the
trial-wide aggregate across every bucket lives at
GET https://api.ramo.io/api/portal/usage.
<bucket> · <n> objects · <used (this bucket)> / 1 GB trial quota | Object | Size | Modified ||--------|------|----------|| <key> | <human size> | <YYYY-MM-DD HH:MM UTC> |Limits and errors
| Limit | Response | What to do |
|---|---|---|
| Signup cap (5/IP/day) | 429 JSON | Back off. The edge counts every request against the cap, not just successful signups; retrying a malformed call still burns it. |
| Trial over 1 GB aggregate | S3 writes denied at the storage layer; 403 on new buckets; credentials can still be minted to delete data | Delete objects to get under quota; access restores on the next watchdog pass. |
| Trial expiry (after 365 days) | Credentials revoked; bucket data deleted after a grace period | Chat with us about a paid migration before expiry if you want to keep the data. |
| Trials disabled | 503, terminal for now | Try later. This is a kill switch, not a per-trial condition. |
| Trial creation failed | 503 | One retry is safe. |
Buckets and credentials beyond the first count against the same 1 GB
quota and 365-day expiry, up to 3 buckets per
trial. Usage, more buckets, and key rotation live behind the management API:
Bearer portal_token against
https://api.ramo.io/api/portal/* (OpenAPI at
https://api.ramo.io/api/openapi).
Helper script
Skip the client setup with the packaged script: POSIX sh, subcommands signup,
put, get, ls, rm, usage. Uses aws-cli when present, falling back to a raw
SigV4 signer via curl and openssl.
# subcommands: signup | put | get | ls | rm | usagecurl -fsSL https://ramo.io/ramo.sh | sh -s -- signupramo.sh ls --json emits the listing as raw JSON, for programmatic use instead of
the rendered table. On a shared machine, install aws-cli first: the script's
fallback signer briefly exposes the secret key in local process listings, while
aws-cli keeps credentials in the environment instead. Re-running signup requires
--force, which protects any existing stored credentials from being overwritten
by accident.
Skip the docs. Hand the skill to an agent.
1 GB free, 365 days, no card