API

Identity operations

The authenticated principal and public profiles.

The authenticated principal and public profiles. Paths are relative to https://reuseforge.com/api/v1.

Operations in this area
OperationMethodPath
Who am IGET/me
Get a public profileGET/accounts/{handle}

Who am I

GET /me Enabled on reuseforge.com

The authenticated account, the credential used (scopes, spend limit) and the organizations you can act for.

Who am I: facts
PropertyValue
Operation IDget_me
AuthenticationAny valid bearer token.
Rate tierread: 60/min per IP anonymous, 600/min per token with a token
Python SDKclient.get_me(...)
JavaScript SDKclient.getMe(...)
CLIrf whoami
MCP toolget_me
Deploymentsreuseforge.com: enabled. Python node: implemented.

Responses

Who am I: responses
StatusMeaningBody
200 OKThe principal.application/json: Me
401Missing, malformed, expired or revoked credentials.Problem. Codes: unauthorized, invalid_token, token_expired
429Rate limit for the operation's tier exceeded. Wait Retry-After seconds.Problem. Codes: rate_limited

Example

curl

bash
curl 'https://reuseforge.com/api/v1/me' \
  -H "Authorization: Bearer $REUSEFORGE_TOKEN"

Python

python
import reuseforge

client = reuseforge.Client()  # token from REUSEFORGE_TOKEN, or the file `rf login` wrote

result = client.get_me()
print(result["id"])

JavaScript

javascript
import { ReuseForge } from '@reuseforge/sdk';

const client = new ReuseForge({ token: process.env.REUSEFORGE_TOKEN });

const result = await client.getMe();
console.log(result.id);

CLI

bash
rf whoami

# rf whoami
# all options: rf whoami --help

Response 200 OK:

json
{
  "id": "acc_samdevuser22",
  "object": "account",
  "type": "user",
  "handle": "samdev",
  "display_name": "Sam Okafor",
  "avatar_url": "",
  "email": "sam@example.com",
  "email_verified": true,
  "role": "user",
  "created_at": "2026-08-14T07:30:00Z",
  "auth": {
    "via": "token",
    "scopes": [
      "items:read",
      "items:publish",
      "orders:create",
      "orders:pay"
    ],
    "token_id": "tok_agentreader2",
    "spend_limit_cents": 5000,
    "spent_cents": 1200
  },
  "orgs": [
    {
      "account": {
        "id": "acc_acmelabsorg2",
        "type": "org",
        "handle": "acme",
        "display_name": "Acme Labs",
        "verified": true,
        "avatar_url": ""
      },
      "role": "write"
    }
  ]
}

Get a public profile

GET /accounts/{handle} Enabled on reuseforge.com

Public profile of a user or organization.

Get a public profile: facts
PropertyValue
Operation IDget_account
AuthenticationNone required. A token raises your rate limits and shows your private items.
Rate tierread: 60/min per IP anonymous, 600/min per token with a token
Python SDKclient.get_account(...)
JavaScript SDKclient.getAccount(...)
CLIrf accounts get
MCP toolget_account
Deploymentsreuseforge.com: enabled. Python node: implemented.

Parameters

Get a public profile: parameters
NameInTypeRequiredDescription
handlepathstringyes

Responses

Get a public profile: responses
StatusMeaningBody
200 OKThe profile.application/json: Account
404No such resource, or it is private and the caller may not know it exists.Problem. Codes: not_found
429Rate limit for the operation's tier exceeded. Wait Retry-After seconds.Problem. Codes: rate_limited

Example

curl

bash
curl 'https://reuseforge.com/api/v1/accounts/acme'

Python

python
import reuseforge

client = reuseforge.Client()  # token from REUSEFORGE_TOKEN, or the file `rf login` wrote

result = client.get_account("acme")
print(result["id"])

JavaScript

javascript
import { ReuseForge } from '@reuseforge/sdk';

const client = new ReuseForge({ token: process.env.REUSEFORGE_TOKEN });

const result = await client.getAccount("acme");
console.log(result.id);

CLI

bash
rf accounts get acme

# rf accounts get <handle>
# all options: rf accounts get --help

Response 200 OK:

json
{
  "id": "acc_acmelabsorg2",
  "object": "account",
  "type": "org",
  "handle": "acme",
  "display_name": "Acme Labs",
  "bio": "Document automation building blocks for agents.",
  "avatar_url": "",
  "website": "https://acme.example",
  "location": "Berlin",
  "links": {
    "github": "acme",
    "huggingface": "acme-labs"
  },
  "verified": true,
  "followers_count": 318,
  "following_count": 4,
  "stats": {
    "items": 14,
    "stars_received": 2210
  },
  "created_at": "2026-01-11T09:00:00Z"
}