# Wishlistme API and MCP server
> Everything the web app does, for agents and scripts: creators claim slots and get tracking links; developers post jobs from a Steam link, send direct offers and read job reports. One shared state with the web app.

## Sign in
Public tools and reads need no token. To act as an account send `Authorization: Bearer <token>` (MCP clients without headers: `/mcp?token=<token>`). Demo tokens:
- `wlm_demo_creator`: Mara Quill, the creator the web app signs in as
- `wlm_demo_creator_<id>`: Any creator, e.g. wlm_demo_creator_c-2 (ids from /api/creators)
- `wlm_demo_studio`: Devolver Digital, the studio the web app signs in as
- `wlm_demo_studio_<name>`: Any studio, e.g. wlm_demo_studio_Lone_Pixel for a solo developer

## MCP
Endpoint: https://wishlistme.me/mcp (Streamable HTTP).
- Everyone: `search_campaigns`, `get_campaign`, `estimate_earnings`, `estimate_job`, `draft_job_from_steam`, `get_rules`, `whoami`
- Creators: `claim_slot`, `decline_offer`, `add_tracking_link`, `my_slots`, `my_earnings`, `connect_channel`
- Developers: `post_job`, `check_game`, `my_jobs`, `job_report`, `set_job_status`, `find_creators`, `connect_steamworks`, `sync_steam`

## REST
- GET https://wishlistme.me/api/campaigns?query=&channel=&min_rate=&sort=rate|budget|ending
- GET https://wishlistme.me/api/campaigns/{id}
- GET https://wishlistme.me/api/campaigns/{id}/estimate?clicks=1000&conversion=0.12
- GET https://wishlistme.me/api/estimate?rate=0.25&creators=3&per_creator=50
- GET https://wishlistme.me/api/me: Your dashboard (creator or developer, from the token)
- GET https://wishlistme.me/api/creators: Creator directory with track records. Query: query, channel, min_followers
- GET https://wishlistme.me/api/creators/{id}: One creator’s channels and track record
- POST https://wishlistme.me/api/demo/reset: Put the demo back to its starting data (for everyone)
- GET https://wishlistme.me/api/me/slots (creator token): Your claimed slots with links, clicks and verified wishlists
- GET https://wishlistme.me/api/me/offers (creator token): Direct offers waiting for your answer
- GET https://wishlistme.me/api/me/earnings (creator token): Pending, available and paid earnings with ledger lines
- GET https://wishlistme.me/api/me/channels (creator token): Your connected channels
- POST https://wishlistme.me/api/me/channels (creator token): Connect a channel. Body: { kind }
- DELETE https://wishlistme.me/api/me/channels/{kind} (creator token): Disconnect a channel
- POST https://wishlistme.me/api/campaigns/{id}/claim (creator token): Claim a slot or accept a direct offer. Body: { pitch? }
- POST https://wishlistme.me/api/campaigns/{id}/decline (creator token): Decline a direct offer
- POST https://wishlistme.me/api/campaigns/{id}/links (creator token): New tracking link for a video. Body: { label, channel? }
- GET https://wishlistme.me/api/studio/jobs (developer token): Your jobs with claims, clicks, verified wishlists and spend
- POST https://wishlistme.me/api/studio/jobs (developer token): Post and fund a job. Body: { steam_url | game_id, rate_usd, creators, wishlists_per_creator, min_followers?, channels?, brief?, invite? }. With invite it is a direct offer.
- GET https://wishlistme.me/api/studio/jobs/{id} (developer token): Job report, slot by slot
- PATCH https://wishlistme.me/api/studio/jobs/{id} (developer token): Pause, resume or end. Body: { status: live | paused | ended }
- GET https://wishlistme.me/api/studio/games (developer token): Your games and their Steamworks connection
- POST https://wishlistme.me/api/studio/games (developer token): Add a game from its Steam link. Body: { steam_url }
- PUT https://wishlistme.me/api/studio/games/{id}/steamworks (developer token): Connect Steamworks (read-only analytics). Body: { connected }
- POST https://wishlistme.me/api/studio/sync (developer token): Pull the Steam UTM report for your games now
OpenAPI 3.1 spec: https://wishlistme.me/openapi.json

## Discovery
- https://wishlistme.me/llms.txt
- https://wishlistme.me/.well-known/api-catalog
- https://wishlistme.me/.well-known/mcp/server-card.json
- https://wishlistme.me/.well-known/agent-skills/index.json