Skip to content
NewSee how

Monitor API keys: logs & usage

Inspect Developer API request logs and usage stats (per-key and per-route request counts, error rates, and latency) to debug integrations and spot abuse.

  1. What you can monitor

    Every Developer API key's requests: per-key and per-route counts, error rate, latency, and individual request logs with request IDs.

  2. Open Settings → API

    The API section has three tabs: API Keys, Logs, and Usage. This section is admin/owner only — other roles see a notice that key management is restricted.

  3. Read the Usage tab

    Totals over a rolling window (default 7 days): total requests and overall error rate, then a breakdown by key and by route so you can see which key or endpoint drives traffic and errors.

    Read the Usage tab
  4. Drill into the Logs tab

    Each request row shows the method, route pattern, HTTP status, latency (ms), the key prefix that made it, an error code (if any), and a request ID for support.

  5. Debug a failing integration

    Scan Logs for non-2xx status values, read the errorCode, and match the keyPrefix to the key doing the damage. Quote the requestId when contacting support.

  6. Spot abuse or a runaway script

    A spike in a single key's requests in the by key breakdown, or a climbing error rate in Usage, is your signal to revoke that key in the API Keys tab and reissue a properly scoped one.

Pro tips

  • Start in Usage, drop into Logs

    Use Usage to see the shape of the problem (which key, which route, how bad) then jump to Logs for the individual failing requests. Top-down is faster than scrolling raw logs.

  • The request ID is what support needs

    Copy the request ID from a failing log row instead of describing "a 500 earlier today": it's the fastest way to get help.

  • Check scopes before blaming the API

    A rising error rate on one key usually means an expired assumption in that integration (renamed field, revoked scope): check that key's scopes first.

  • Role-check before debugging access

    Only admins/owners see this section; if a teammate "can't find API logs," check their role before assuming something's broken.

Frequently asked questions

Does FirstSales expose API request logs?

Yes — Settings → API → Logs shows per-request method, route, status, latency, key prefix, error code, and a request ID.

Where do I see how much my keys are used?

The Usage tab: total requests, error rate, and breakdowns by key and by route over a rolling window (7 days by default).

Who can view API logs and usage?

Only organization admins and owners. Other roles see a notice that key management is admin/owner-only.

How do I debug a failing API call?

In Logs, find the request by non-2xx status, read its errorCode, note the keyPrefix and requestId, and share that ID with support.

A key looks compromised: what do I do?

Revoke it in the API Keys tab and issue a new one with only the scopes it needs; watch Usage's per-key counts to confirm the traffic stops.

Can I change the usage window?

The Usage view defaults to the last 7 days. Use the Logs tab (with its filters) for narrower, request-level inspection.

Developer & CLI

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.