Developers

CLI

Command line tooling for environments, keys and local development.

Status
Planned — nothing to install yet
Wraps
The v1 REST API
Audience
The engineer’s working loop

Overview

The loop an engineer actually works in

The dashboard is for operating a live economy. The CLI is for the loop before that: create a key, point it at sandbox, watch events arrive, replay the one that failed, and check what a rule would do before publishing it.

It is deliberately not the dashboard in a terminal. Reviewing an approval or managing a treasury belongs where the approval workflow lives; tailing events while your integration runs belongs next to your code.

Commands

The designed surface

Each command names the endpoint it wraps. If an endpoint is not in the specification, the command does not exist here either.

matinee login

Authenticate a session, including the second factor when the account requires one. Wraps POST /auth/login.

Planned

matinee keys create · revoke

Create a key — the secret is printed once, at creation, and never retrievable again — and revoke one without deleting its history. Wraps POST and DELETE on /developer/api-keys.

Planned

matinee events tail

Follow incoming events and their processing status while your integration runs. Wraps GET /events with cursor pagination.

Planned

matinee events replay <id>

Reprocess an event that failed. Safe because consumers are idempotent — a replay cannot double-issue. Wraps POST /events/{id}/replay.

Planned

matinee webhooks test · replay

Send a test delivery to an endpoint, or replay a specific failed delivery. Wraps POST /webhooks/{id}/test and the delivery replay endpoint.

Planned

matinee rules simulate

Evaluate a rule against a sample event without issuing anything. Wraps POST /reward-rules/{id}/simulate, which writes nothing.

Planned

matinee logs · usage

Request logs filtered by status and path, and API usage over a period. Wraps GET /developer/logs and GET /developer/usage.

Planned

Examples

What a session is designed to feel like

Illustrative throughout — the commands map to specified endpoints, but no binary exists to run them.

sessionshell
$ matinee login
$ matinee keys create --environment sandbox --name integration-dev
# Secret printed once. Store it now; only the prefix is shown from here on.

$ matinee events tail --environment sandbox
# order.completed      received    cus_9f2…   just now
# order.completed      processed   cus_9f2…   2s

$ matinee rules simulate rule_31c… --event samples/order.json

Illustrative. The CLI is planned; the endpoints these commands wrap are specified but not yet served.

Error handling

Failures behave like the API, because they are the API

  • Every failure surfaces the error code and the request id from the response envelope — the same two things you would log in an integration.
  • A key is scoped to one organization and one environment, and the CLI inherits that: pointing a sandbox key at production fails as environment_mismatch rather than switching silently.
  • Rate limiting is visible, not hidden: the RateLimit headers arrive on every response, and a tail backs off when the budget runs low.

Would the CLI change your workflow?

Access is reviewed. Tell us what you are building — knowing who wants the CLI first is exactly what sequences it.