Aller au contenu
NouveauDécouvrir comment

Comment créer et gérer des clés API développeur dans FirstSales

Générez des clés API à privilège minimal avec des portées par ressource, utilisez-les avec la CLI et l'API REST, et faites-les tourner ou révoquez-les en toute sécurité sans interruption.

  1. Ouvrez Settings → API

    Les clés API se trouvent dans Settings → API. C'est ici que vous générez l'identifiant qui authentifie la CLI et tout appel direct à https://api.app.firstsales.io. Il vous faut la permission adéquate pour voir cet onglet.

  2. Créez une clé avec des scopes à privilège minimal

    Cliquez pour créer une clé, donnez-lui un nom (quelque chose qui indique où elle est utilisée, par exemple « ci-contact-sync »), et cochez uniquement les scopes nécessaires. Les scopes sont par ressource et séparent lecture et écriture : par exemple contacts:read, contacts:write, campaigns:read, kb:read. Il existe un scope * qui accorde tous les droits ; évitez-le sauf besoin réel d'accès complet.

    Créez une clé avec des scopes à privilège minimal
  3. Copiez la clé immédiatement

    La clé complète est affichée une seule fois : « Copy this key now. It will not be shown again. » Copiez-la directement dans votre gestionnaire de secrets ou votre gestionnaire de mots de passe. Si vous la perdez, elle ne peut pas être récupérée ; vous devez la révoquer et en créer une nouvelle. Ne la collez jamais dans du code, un chat, ou un commit.

  4. Utilisez-la avec la CLI

    Exportez la clé sous FIRSTSALES_API_KEY et la CLI la récupère automatiquement. Vérifiez avec whoami avant toute autre action :

    export FIRSTSALES_API_KEY="fs_live_..."   # from your secret store, never hardcoded
    firstsales whoami --json
  5. Utilisez-la directement avec l'API

    Pour du HTTP brut, envoyez la clé comme jeton Bearer. Commencez par whoami pour confirmer que la clé est valide et connaître l'org/workspace auquel elle donne accès :

    curl -s https://api.app.firstsales.io/api/v1/whoami \
      -H "Authorization: Bearer $FIRSTSALES_API_KEY"
  6. Faites une rotation et révoquez

    Chaque clé de la liste peut être révoquée, et la révocation est immédiate et sans annulation possible : toute CLI ou tout service qui l'utilise échoue au prochain appel. Pour la rotation : créez la nouvelle clé, déployez-la dans votre gestionnaire de secrets, confirmez qu'elle fonctionne, puis révoquez l'ancienne. Révoquez instantanément si une clé est un jour exposée.

Astuces de pro

  • Une clé par consommateur

    Donnez à votre CI, votre ordinateur portable, et chaque intégration sa propre clé nommée. Quand l'une fuite ou qu'un service est retiré, vous ne révoquez que cette clé au lieu de tout casser.

  • Le privilège minimal prime sur la commodité

    Une synchronisation en lecture seule n'a pas besoin de contacts:write, et presque rien n'a besoin de `*`. Restez précis dans les scopes : une clé en lecture seule qui fuite ne peut pas modifier vos données.

  • Copiez une fois, stockez dans un gestionnaire de secrets

    La clé n'est affichée qu'une seule fois. Collez-la directement dans votre gestionnaire de secrets CI ou votre gestionnaire de mots de passe : jamais dans le code source, un .env que vous pourriez commiter, ou un message de chat.

  • Faites une rotation avec chevauchement, pas de coupure

    Créer-déployer-vérifier-puis-révoquer. Révoquer avant que le remplacement soit actif provoque une interruption ; la fenêtre de chevauchement maintient les appels pendant la rotation.

Questions fréquentes

Où créer une clé API ?

Settings → API. Donnez-lui un nom, cochez les scopes nécessaires, et créez-la. La clé authentifie à la fois la CLI et les appels API directs.

Que sont les scopes ?

Des permissions par ressource, séparant lecture et écriture : par exemple contacts:read, campaigns:write, kb:read, plus un * qui accorde tous les droits. Ne cochez que ce dont le consommateur de la clé a besoin.

J'ai perdu ma clé : puis-je la revoir ?

Non. La clé complète est affichée une seule fois à la création (“It will not be shown again”). Si vous la perdez, révoquez cette clé et créez-en une nouvelle.

Comment la CLI utilise-t-elle la clé ?

Définissez-la comme variable d'environnement FIRSTSALES_API_KEY ; la CLI la lit automatiquement. Exécutez firstsales whoami pour confirmer que ça fonctionne.

Comment révoquer une clé ?

Dans la liste des paramètres API, révoquez-la. La révocation est immédiate et permanente : tout ce qui utilise cette clé échoue au prochain appel, donc faites d'abord la rotation vers un remplacement.

Comment faire une rotation de clés en toute sécurité ?

Créez la nouvelle clé, déployez-la, confirmez qu'elle fonctionne, puis révoquez l'ancienne. Ce chevauchement évite une interruption. Ne révoquez immédiatement (sans chevauchement) que si une clé est exposée.

Développeur & CLI

Une prospection qui continue quand vous vous déconnectez.Leads, emails, relances et réponses, gérés.

Connectez des boîtes illimitées et laissez les agents IA trouver les leads, écrire chaque email et relancer. Ou envoyez vos propres modèles en mode manuel. À partir de $29/mois.

$1 pour 3 jours · Annulez quand vous voulez · Sans engagement

Installer avec l'IA

Votre agent de code installe la CLI et les skills FirstSales pour vous.

Prompt pour 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.