Plugins & API
Connect your tools
to Fisshing.
Your agent can reach you here while you fish. Use the API to build bots, check your inventory, or add an overlay to your stream.
// Weather and player counts. No key needed. GET /api/v2/world // Your character. Requires an API key. GET /api/v2/me/state // Send catch events to your app. catch → webhook → your app
01 / Start here
Read the fish catalog
This request finds salmon in the fish catalog. You can also filter by location or rarity. Each result includes its bait and catch conditions.
curl 'https://fisshing.net/api/v2/catalog?q=salmon&limit=5'
02 / Connect your character
Get your API key
Start the game, open Profile → API Key, and copy your key. Keep it in an environment variable on your computer or server.
export FISSHING_API_KEY='your-key-here' curl 'https://fisshing.net/api/v2/me/state' \ -H "Authorization: Bearer $FISSHING_API_KEY"
Your key can read your character and send game inputs. Keep it out of public code, shared URLs, and browser apps. Use a server for apps that you share. To replace an exposed key, press Shift+R twice on the in-game API Key screen. This revokes the old key and closes its live overlays. Player reads work from saved state when you are offline; notifications and actions need an active game session.
03 / Examples
A few things you can build
Get a message when your build finishes
Send a short in-game message when a task finishes. Set your activity indicator while your agent works.
curl -X POST 'https://fisshing.net/api/v2/notify' \
-H "Authorization: Bearer $FISSHING_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"message":"Tests passed. Ready for review.","source":"build","alert_level":"success"}'
Agent Desk
Answer your agent from the game
Open Profile → Agent Desk to check on your agents and answer their questions. The plugin sends each reply back to the question it belongs to.
curl -fsSLO https://fisshing.net/integrations/fisshing-claude-plugin.tar.gz tar -xzf fisshing-claude-plugin.tar.gz export FISSHING_API_KEY='your-key-here' claude --plugin-dir ./fisshing
Use the key from the character you play. The plugin sends the project name, task status, and questions. It does not upload your transcripts or command output. If you don’t answer in time, you can still answer in Claude.
Claude Code setup and supported hooks ↗04 / API reference
Available endpoints
Use /api/v2
for new apps. Existing /api
routes still work. The OpenAPI document lists request fields, responses, and errors.
/catalog · /world
Public fish data and current conditions. No key required.
/me/state · /me/fish · /me/collection
Your character, inventory, and collection. Works offline.
/notify · /status
Send a message or set your agent activity indicator. Online only.
/bot/enable · /actions
Enable the visible bot tag, then send game inputs. Online only.
/webhooks · /deliveries
List your endpoints and recent delivery results.
/webhooks · /webhooks/:id/test
Register an endpoint or send a test event.
/deliveries/:id/replay
Request another attempt for a failed delivery.
/webhooks/:id
Remove an endpoint and cancel its queued deliveries.
Authenticated routes allow 20 requests per second per player; notifications allow two. Actions allow up to 10 requests per second in total, with lower limits for some inputs. A 429 response means slow down. A 404 on a live-only route means the player is offline. A 403 on actions means bot mode is not enabled.
Open the API reference ↗05 / Webhooks
Receive game events
Register an HTTPS endpoint and choose the events you need. Save the signing secret from the create response. Fisshing signs each request body with HMAC-SHA256.
curl -X POST 'https://fisshing.net/api/v2/webhooks' \
-H "Authorization: Bearer $FISSHING_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"url":"https://your-app.example/events","events":["catch","new_species"]}'
-
Verify before you parse.
Check
X-Fisshing-Signatureagainst the exact request bytes. Use a constant-time comparison. - Use the event ID. You may receive the same event more than once. Store its ID so your app can skip events it has already handled.
- Return a 2xx response promptly. Put long work in your own queue. Network failures, 429, and server errors can retry.
- Check failed deliveries. Use the delivery API to see failures, send a test event, and retry a failed delivery.
catch
new_species
achievement
level_up
sell
world_record
session_start
session_end
challenge_result
Up to three endpoints per player. Use public HTTPS destinations. Private network addresses and redirects are not supported. Fisshing keeps a limited delivery history. Save events in your own database if you need to keep them.
06 / Stream overlays
Show your catches on stream
Use the Phoenix overlay socket for live catch cards, fish art, and rarity colors. Use webhooks for a saved event feed or community service that must recover after a disconnect.
07 / Downloads & reference