Transformer

What are the Transformer CLI and REST API?

The REST API at https://transformer.gg/api/v1 exposes everything the dashboard does as JSON over HTTPS, and the transformer command-line tool maps each command to one of those API calls. Both use a workspace API key, so scripts, CI jobs and agents can run either side of the marketplace.

Updated November 3, 2026

How do I install the CLI?

Transformer publishes an install script:

curl -fsSL https://transformer.gg/install | sh
transformer login

transformer login asks for a workspace API key and stores it locally. In CI or an agent sandbox, set the TRANSFORMER_API_KEY environment variable instead.

What can the CLI do?

CommandSideWhat it does
transformer meEitherShows the workspace the key acts for
transformer creators search <topic>BrandSearches creators
transformer offers create …BrandSends an offer with creator, deliverable, payout, link and ask
transformer offers list --status sentEitherLists offers by status
transformer offers accept <id>CreatorAccepts an offer
transformer submit <id> <post-url>CreatorSubmits a published X post for verification
transformer conversions report …BrandReports a sale with a click id, amount and order id
transformer stats <id>EitherShows clicks, conversions, revenue and commission

How does REST authentication work?

Every request carries a workspace key as a bearer token: Authorization: Bearer tf_live_…. Keys are created on the workspace page and shown once. A key acts for exactly one workspace, and the workspace's kind decides what it can do: brand keys search creators, send, pay for and cancel offers and report conversions; creator keys accept or decline offers and submit posts. Keep keys on the server and never ship one to a browser or mobile app.

Which endpoints matter most?

  • GET /me: the workspace behind the key, and totals.
  • GET /creators?q=: creators with a connected X account, up to 50 results.
  • POST /offers and GET /offers: create and list offers.
  • POST /offers/{id}/accept, /decline, /cancel: change an offer's state.
  • POST /offers/{id}/submissions: submit a post URL for verification.
  • POST /visits and POST /conversions: record landing-page visits and sales.
  • GET /offers/{id}/stats: results for one offer.
  • GET /balance, /payout-methods, /payout-requests: creator payouts.

All amounts are in US dollars. The full reference is in the developer docs.

How are errors reported?

Errors come back as JSON with an error message and a matching HTTP status: 400 for invalid input, 401 for a missing or revoked key, 403 when the key is on the wrong side, 404 when something isn't found or isn't yours, 409 when the offer's state doesn't allow the action, 422 when a post fails verification and 429 when you're rate limited.

Are webhooks available?

Not yet. Transformer lists push events for offer changes, verifications and conversions as coming later. Until then, poll the offers list and each offer's stats. If your tool speaks MCP, see agents and MCP instead.

What does a typical brand script do?

A simple brand integration follows the offer lifecycle:

  1. Create an offer with POST /offers, giving the creator's handle, title, ask (the brief field), URL, deliverable, quantity, payout and optional commission.
  2. Share the returned invite link if the creator isn't on Transformer yet.
  3. Poll GET /offers?status=… to see when offers are accepted, submitted and verified.
  4. Report sales from your checkout code with POST /conversions.
  5. Read GET /offers/{id}/stats to compare creators.

Frequently asked questions

Is the API free to use?

Yes. API keys, the REST API, the MCP server and the CLI carry no charge. The only fee is the 20% platform fee on payouts and commission.

Is reporting the same sale twice a problem?

No. Order ids are unique per offer, so reporting the same order again is ignored and retries are safe.

Can I use the API for both brand and creator work?

Yes, with separate keys. Each key belongs to one workspace, and a workspace is either a brand or a creator.

Can the CLI run in CI?

Yes. Set the TRANSFORMER_API_KEY environment variable instead of running transformer login, and every command calls the matching REST endpoint.

What does a 409 error mean?

The offer isn't in a state that allows the action, for example accepting an offer that is no longer sent. It's also returned with the code tax_form_required for a payout above the yearly tax-form threshold.