RopelyStart with a supported check.
ropely.
Menu

Developer tools / Preview 0.1.0

Start with a working request.

Small server-side clients. Explicit credentials, bounded pagination and errors you can act on.

TypeScript & JavaScript

Download SDK ↓

Node 22+. Download the archive and install it locally. This package is not yet published to npm.

npm install ./ropely-sdk-0.1.0.tgz

import { Ropely } from "@ropely/sdk";
const ropely = new Ropely({
  origin: process.env.ROPELY_ORIGIN,
  key: process.env.ROPELY_API_KEY
});
const page = await ropely.list("findings", { limit: 20 });

Use get(resource, id) for detail, pages(resource) for bounded iteration and submitSnapshot(evidence, idempotencyKey) for a new check.

Python

Download Python package ↓

Python 3.10+. Standard-library transport; no runtime dependencies. Not yet published to PyPI.

python -m pip install ./ropely-python-0.1.0.tar.gz

from ropely import Ropely
import os
client = Ropely(os.environ["ROPELY_ORIGIN"],
                os.environ["ROPELY_API_KEY"])
page = client.list("findings")

Starters & database exports

Node and Next.js starters ↓

Both starters call the API from the server. The Next.js example includes an operator-token gate; replace it with your application authorization before exposing evidence to users.

Postgres and Supabase exports use the existing read-only exporter and a view adapted to your schema. Keep exact purchase references and all historical corrections; do not trim the view to recent rows. Supabase compatibility uses its PostgreSQL connection, not a native OAuth integration.

Review the SQL adapter ↓

Source contract and export setup →

Keep credentials on the server.

Never put keys in NEXT_PUBLIC_ variables or client-side code. Requests reject redirects and time out after 15 seconds. Neither SDK retries automatically; use the same idempotency key after uncertain writes and respect Retry-After.

Authentication, errors and limits →