Référence API

Sam AI

Sam AI écrit tes réponses dans les conversations de tes campagnes. Il lit des instructions et des fichiers à trois niveaux, le compte X pour ton business, le persona pour savoir comment vendre à ce type d'acheteur, et la conversation pour ce lead en particulier. Quand deux niveaux se contredisent, le plus précis l'emporte.

Une conversation fonctionne dans l'un de ces trois modes. off te la laisse. draft correspond à Semi-auto, Sam AI écrit une suggestion et tu l'envoies. auto laisse Sam AI envoyer ses réponses tout seul depuis ton compte X. Un persona fixe le mode de ses conversations, et une conversation peut avoir le sien ou suivre celui de son persona avec inherit.

Sam AI fonctionne avec les plans Business et Enterprise, et seulement dans les campagnes en cours. Sous Business, il n'écrit rien, en draft comme en auto. Une réponse de Sam AI coûte 30 crédits à son envoi, quel que soit le nombre de messages qu'elle contient. Une suggestion que tu n'envoies pas est gratuite, mais Sam AI n'en écrit une que si ton solde couvre une réponse. Les nouvelles suggestions, les réponses envoyées par Sam AI et les conversations qu'il te passe arrivent aussi par les webhooks sam.suggestion.ready, sam.reply.sent et sam.handoff.

L'objet Sam AI du compte

Sam AI sur l'ensemble du compte X, son activation et ce qu'il sait de ton business.

Attributs

  • objectstring
    Toujours account_sam.
  • account_idstring
    L'ID du compte X, comme dans l'objet compte.
  • enabledboolean
    false quand Sam AI est désactivé dans toutes les conversations du compte X, quel que soit leur mode.
  • instructionsstring
    La présentation de ton business, que Sam AI lit dans chaque conversation, comme ton offre, tes prix, ta garantie et tes liens. 3 000 caractères au plus.
  • filestableau d'objects
    Les fichiers que Sam AI lit dans chaque conversation, en objets fichier Sam AI.
L'objet Sam AI du compte
{
  "object": "account_sam",
  "account_id": "a9PzK2vRtM",
  "enabled": true,
  "instructions": "Acme lets creators charge for their Discord. 5 percent a sale, no monthly fee, payouts every week. Sign up at https://acme.com/start.",
  "files": [
    {
      "id": "sf_4c1e9a07d2b35f68e190",
      "object": "sam_file",
      "name": "Pricing and payouts.pdf",
      "size": 182344,
      "mime_type": "application/pdf",
      "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
    }
  ]
}

Récupérer le Sam AI du compte

GET/v1/account/samScope readMCPget_sam_settings

Indique si Sam AI est activé sur le compte X, et renvoie les infos de ton business et ses fichiers.

Renvoie

L'objet Sam AI du compte.

GET/v1/account/sam
curl https://gemlead.ai/api/v1/account/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "object": "account_sam",
  "account_id": "a9PzK2vRtM",
  "enabled": true,
  "instructions": "Acme lets creators charge for their Discord. 5 percent a sale, no monthly fee, payouts every week. Sign up at https://acme.com/start.",
  "files": [
    {
      "id": "sf_4c1e9a07d2b35f68e190",
      "object": "sam_file",
      "name": "Pricing and payouts.pdf",
      "size": 182344,
      "mime_type": "application/pdf",
      "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
    }
  ]
}

Modifier le Sam AI du compte

PATCH/v1/account/samScope writeMCPupdate_sam_settings

Active ou désactive Sam AI sur tout le compte X, ou modifie les infos de ton business que lit chaque conversation. Seuls les champs que tu envoies changent.

Paramètres du corps

  • enabledboolean
    false désactive Sam AI dans toutes les conversations du compte X, true le réactive.
  • instructionsstring
    La présentation de ton business, 3 000 caractères au plus. Une chaîne vide l'efface.

Renvoie

L'objet Sam AI du compte à jour.

Erreurs

  • Un paramètre a une valeur que l'API n'accepte pas. param indique lequel.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
PATCH/v1/account/sam
curl -X PATCH https://gemlead.ai/api/v1/account/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "Acme lets creators charge for their Discord. 5 percent a sale, no monthly fee, payouts every week. Sign up at https://acme.com/start."
  }'
Réponse200
{
  "object": "account_sam",
  "account_id": "a9PzK2vRtM",
  "enabled": true,
  "instructions": "Acme lets creators charge for their Discord. 5 percent a sale, no monthly fee, payouts every week. Sign up at https://acme.com/start.",
  "files": [
    {
      "id": "sf_4c1e9a07d2b35f68e190",
      "object": "sam_file",
      "name": "Pricing and payouts.pdf",
      "size": 182344,
      "mime_type": "application/pdf",
      "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
    }
  ]
}

L'objet Sam AI du persona

Sam AI sur un persona, pour les conversations avec ses leads.

Attributs

  • objectstring
    Toujours persona_sam.
  • persona_idstring
    L'ID du persona.
  • modestring
    Le mode des conversations du persona qui n'ont pas le leur. off te les laisse, draft correspond à Semi-auto, où Sam AI propose et tu envoies, auto laisse Sam AI envoyer tout seul. draft tant que tu ne le changes pas.
    offdraftauto
  • instructionsstring
    Comment écrire et vendre à ce type d'acheteur. Ce sont les Instructions du persona dans l'app. 6 000 caractères au plus.
  • filestableau d'objects
    Les fichiers que Sam AI lit dans les conversations du persona, en objets fichier Sam AI.
L'objet Sam AI du persona
{
  "object": "persona_sam",
  "persona_id": "lvWBPnytpS",
  "mode": "draft",
  "instructions": "Tipsters want to get paid on time. Lead with the weekly payouts, keep it to two short messages, and offer the link once they ask how.",
  "files": []
}

Récupérer le Sam AI d'un persona

GET/v1/personas/:persona_id/samScope readMCPget_sam_settings

Renvoie le mode de Sam AI pour les conversations du persona, ses instructions et ses fichiers.

Paramètres de chemin

  • persona_idstringObligatoire
    L'ID du persona.

Renvoie

L'objet Sam AI du persona.

Erreurs

GET/v1/personas/:persona_id/sam
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "object": "persona_sam",
  "persona_id": "lvWBPnytpS",
  "mode": "draft",
  "instructions": "Tipsters want to get paid on time. Lead with the weekly payouts, keep it to two short messages, and offer the link once they ask how.",
  "files": []
}

Modifier le Sam AI d'un persona

PATCH/v1/personas/:persona_id/samScope writeMCPupdate_sam_settings

Modifie le mode de Sam AI dans les conversations du persona qui n'ont pas de mode à elles, ou les instructions du persona. Seuls les champs que tu envoies changent. auto envoie les réponses depuis ton compte X sans passer par toi.

Paramètres de chemin

  • persona_idstringObligatoire
    L'ID du persona.

Paramètres du corps

  • modestring
    Le mode de Sam AI dans les conversations du persona.
    offdraftauto
  • instructionsstring
    Comment écrire et vendre à ce type d'acheteur, 6 000 caractères au plus. Une chaîne vide l'efface.

Renvoie

L'objet Sam AI du persona à jour.

Erreurs

  • Aucun persona avec cet ID sur le compte de la clé.
  • Un paramètre a une valeur que l'API n'accepte pas. param indique lequel.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • auto sur un compte en dessous du plan Business.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
PATCH/v1/personas/:persona_id/sam
curl -X PATCH \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "draft"
  }'
Réponse200
{
  "object": "persona_sam",
  "persona_id": "lvWBPnytpS",
  "mode": "draft",
  "instructions": "Tipsters want to get paid on time. Lead with the weekly payouts, keep it to two short messages, and offer the link once they ask how.",
  "files": []
}

L'objet Sam AI de la conversation

Sam AI dans une conversation, son mode, la réponse qu'il a prête et ce qu'il sait de ce lead.

Attributs

  • objectstring
    Toujours conversation_sam.
  • conversation_idstring
    L'ID de la conversation.
  • modestring
    Le mode propre à la conversation, ou inherit quand elle suit celui de son persona.
    offdraftautoinherit
  • effective_modestring
    Le mode qui s'applique vraiment. off quand Sam AI est désactivé sur le compte X, que la conversation n'est dans aucune campagne en cours ou que le compte est sous le plan Business.
    offdraftauto
  • personaobject ou null
    Le persona que lit Sam AI, avec son id, son name et son mode.
  • campaignobject ou null
    La campagne de la conversation, avec son id et son name. Sam AI ne répond que dans une campagne en cours.
  • statusstring
    Ce que fait Sam AI. writing quand il écrit une réponse, suggested quand une réponse t'attend, scheduled quand elle part toute seule à suggestion.send_at, sending, sent, no_reply quand il a choisi de ne pas répondre, handoff quand il te passe la conversation, no_credits quand le solde est sous les 30 crédits d'une réponse, off ou idle.
    idlewritingsuggestedscheduledsendingsentno_replyhandoffno_creditsoff
  • reasonstring ou null
    La raison, pour no_reply et handoff, telle que Sam AI l'a écrite.
  • suggestionobject ou null
    La réponse que Sam AI a prête, tant que status vaut suggested, scheduled ou sending.
  • instructionsstring
    Ce que Sam AI doit savoir sur ce lead en particulier. 3 000 caractères au plus.
  • filestableau d'objects
    Les fichiers que Sam AI lit dans cette conversation seulement, en objets fichier Sam AI.
  • updated_atstring ou null
    Date du dernier changement d'état de Sam AI, en ISO 8601.
L'objet Sam AI de la conversation
{
  "object": "conversation_sam",
  "conversation_id": "msgOtJ8dvT",
  "mode": "inherit",
  "effective_mode": "draft",
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters",
    "mode": "draft"
  },
  "campaign": {
    "id": "c7RkQ2wLxe",
    "name": "Tipsters warm intro"
  },
  "status": "suggested",
  "reason": null,
  "suggestion": {
    "messages": [
      "It takes two minutes. You set a price, members pay, and they get their Discord role right away.",
      "Want the link to set it up?"
    ],
    "edited": false,
    "stage": "answer_question",
    "why": "She asked how it works, so the reply explains it in one line and offers the link.",
    "replying_to_message_id": "1985321409876543210",
    "created_at": "2026-11-06T08:13:20.000Z",
    "send_at": null
  },
  "instructions": "She runs two Discords. Talk about the bigger one first.",
  "files": [],
  "updated_at": "2026-11-06T08:13:20.000Z"
}

Récupérer le Sam AI d'une conversation

GET/v1/conversations/:conversation_id/samScope readMCPget_sam_settings

Renvoie le mode de Sam AI dans la conversation et celui qui s'applique vraiment, la réponse qu'il a prête, et les instructions et fichiers propres à la conversation.

Paramètres de chemin

  • conversation_idstringObligatoire
    L'ID de la conversation.

Renvoie

L'objet Sam AI de la conversation.

Erreurs

GET/v1/conversations/:conversation_id/sam
curl https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "object": "conversation_sam",
  "conversation_id": "msgOtJ8dvT",
  "mode": "inherit",
  "effective_mode": "draft",
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters",
    "mode": "draft"
  },
  "campaign": {
    "id": "c7RkQ2wLxe",
    "name": "Tipsters warm intro"
  },
  "status": "suggested",
  "reason": null,
  "suggestion": {
    "messages": [
      "It takes two minutes. You set a price, members pay, and they get their Discord role right away.",
      "Want the link to set it up?"
    ],
    "edited": false,
    "stage": "answer_question",
    "why": "She asked how it works, so the reply explains it in one line and offers the link.",
    "replying_to_message_id": "1985321409876543210",
    "created_at": "2026-11-06T08:13:20.000Z",
    "send_at": null
  },
  "instructions": "She runs two Discords. Talk about the bigger one first.",
  "files": [],
  "updated_at": "2026-11-06T08:13:20.000Z"
}

Modifier le Sam AI d'une conversation

PATCH/v1/conversations/:conversation_id/samScope writeMCPupdate_sam_settings

Fixe le mode de Sam AI pour cette conversation seulement, ou la rend au mode de son persona avec inherit, ou modifie ce que Sam AI sait de ce lead. Seuls les champs que tu envoies changent. auto envoie les réponses depuis ton compte X sans passer par toi.

Paramètres de chemin

  • conversation_idstringObligatoire
    L'ID de la conversation.

Paramètres du corps

  • modestring
    Le mode de Sam AI ici. inherit suit celui du persona.
    offdraftautoinherit
  • instructionsstring
    Ce que Sam AI doit savoir sur ce lead, 3 000 caractères au plus. Une chaîne vide l'efface.

Renvoie

L'objet Sam AI de la conversation à jour.

Erreurs

  • Aucune conversation avec cet ID sur le compte de la clé.
  • Un paramètre a une valeur que l'API n'accepte pas. param indique lequel.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • auto sur un compte en dessous du plan Business.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
PATCH/v1/conversations/:conversation_id/sam
curl -X PATCH \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/sam \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "auto"
  }'
Réponse200
{
  "object": "conversation_sam",
  "conversation_id": "msgOtJ8dvT",
  "mode": "auto",
  "effective_mode": "auto",
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters",
    "mode": "draft"
  },
  "campaign": {
    "id": "c7RkQ2wLxe",
    "name": "Tipsters warm intro"
  },
  "status": "scheduled",
  "reason": null,
  "suggestion": {
    "messages": [
      "It takes two minutes. You set a price, members pay, and they get their Discord role right away.",
      "Want the link to set it up?"
    ],
    "edited": false,
    "stage": "answer_question",
    "why": "She asked how it works, so the reply explains it in one line and offers the link.",
    "replying_to_message_id": "1985321409876543210",
    "created_at": "2026-11-06T08:13:20.000Z",
    "send_at": "2026-11-06T08:14:05.000Z"
  },
  "instructions": "She runs two Discords. Talk about the bigger one first.",
  "files": [],
  "updated_at": "2026-11-06T08:13:20.000Z"
}

L'objet fichier Sam AI

Un document que Sam AI lit avant chaque réponse, un fichier PDF, DOCX, TXT, MD ou CSV. Chaque niveau contient 30 fichiers et 100 Mo au plus.

Attributs

  • idstring
    Identifiant unique du fichier sur son niveau.
  • objectstring
    Toujours sam_file.
  • namestring
    Le nom du fichier, tel que l'app l'affiche.
  • sizeinteger
    Sa taille en octets.
  • mime_typestring ou null
    Son type, comme application/pdf.
  • urlstring
    Où Gemlead le conserve.
L'objet fichier Sam AI
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "name": "Pricing and payouts.pdf",
  "size": 182344,
  "mime_type": "application/pdf",
  "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
}

Ajouter un fichier au compte

POST/v1/account/sam/filesScope writeMCPedit_sam_files

Donne à Sam AI un document à lire dans chaque conversation du compte X. Envoie son URL publique ou son contenu en base64. Gemlead le lit une seule fois, vérifie que c'est un fichier PDF, DOCX, TXT, MD ou CSV et en garde sa propre copie.

Paramètres du corps

  • urlstring
    Le fichier, à une URL HTTPS publique. Gemlead le lit une seule fois et en garde sa propre copie. Donne url ou data.
  • datastring
    Le fichier, encodé en base64, à la place de url. Envoie un gros fichier avec url.
  • namestring
    Le nom affiché dans l'app, 200 caractères au plus. Obligatoire avec data. Sans lui, c'est la dernière partie de l'URL. Gemlead ajoute l'extension quand elle manque.

Renvoie

Le nouvel objet fichier Sam AI.

Erreurs

  • Il manque un paramètre obligatoire. param indique lequel.
  • Le fichier n'est pas un PDF, DOCX, TXT, MD ou CSV, il est vide ou dépasse 25 Mo, ou son URL est illisible. param indique le paramètre concerné.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • Le niveau contient déjà 30 fichiers ou 100 Mo de fichiers. Supprimes-en un d'abord.
  • Plus de 100 fichiers dans l'heure sur ce compte X.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
POST/v1/account/sam/files
curl -X POST https://gemlead.ai/api/v1/account/sam/files \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://acme.com/docs/pricing-and-payouts.pdf",
    "name": "Pricing and payouts.pdf"
  }'
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "name": "Pricing and payouts.pdf",
  "size": 182344,
  "mime_type": "application/pdf",
  "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
}

Supprimer un fichier du compte

DELETE/v1/account/sam/files/:file_idScope writeMCPedit_sam_files

Retire un fichier du niveau. Sam AI arrête de le lire dès sa prochaine réponse.

Paramètres de chemin

  • file_idstringObligatoire
    L'ID du fichier Sam AI.

Renvoie

Un objet avec l'id du fichier et deleted à true.

Erreurs

  • Aucun fichier Sam AI avec cet ID sur le compte de la clé.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
DELETE/v1/account/sam/files/:file_id
curl -X DELETE \
  https://gemlead.ai/api/v1/account/sam/files/sf_4c1e9a07d2b35f68e190 \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "deleted": true
}

Ajouter un fichier à un persona

POST/v1/personas/:persona_id/sam/filesScope writeMCPedit_sam_files

Donne à Sam AI un document à lire dans les conversations du persona. Envoie son URL publique ou son contenu en base64. Gemlead le lit une seule fois, vérifie que c'est un fichier PDF, DOCX, TXT, MD ou CSV et en garde sa propre copie.

Paramètres de chemin

  • persona_idstringObligatoire
    L'ID du persona.

Paramètres du corps

  • urlstring
    Le fichier, à une URL HTTPS publique. Gemlead le lit une seule fois et en garde sa propre copie. Donne url ou data.
  • datastring
    Le fichier, encodé en base64, à la place de url. Envoie un gros fichier avec url.
  • namestring
    Le nom affiché dans l'app, 200 caractères au plus. Obligatoire avec data. Sans lui, c'est la dernière partie de l'URL. Gemlead ajoute l'extension quand elle manque.

Renvoie

Le nouvel objet fichier Sam AI.

Erreurs

  • Aucun persona avec cet ID sur le compte de la clé.
  • Il manque un paramètre obligatoire. param indique lequel.
  • Le fichier n'est pas un PDF, DOCX, TXT, MD ou CSV, il est vide ou dépasse 25 Mo, ou son URL est illisible. param indique le paramètre concerné.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • Le niveau contient déjà 30 fichiers ou 100 Mo de fichiers. Supprimes-en un d'abord.
  • Plus de 100 fichiers dans l'heure sur ce compte X.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
POST/v1/personas/:persona_id/sam/files
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sam/files \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://acme.com/docs/pricing-and-payouts.pdf",
    "name": "Pricing and payouts.pdf"
  }'
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "name": "Pricing and payouts.pdf",
  "size": 182344,
  "mime_type": "application/pdf",
  "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
}

Supprimer un fichier d'un persona

DELETE/v1/personas/:persona_id/sam/files/:file_idScope writeMCPedit_sam_files

Retire un fichier du niveau. Sam AI arrête de le lire dès sa prochaine réponse.

Paramètres de chemin

  • persona_idstringObligatoire
    L'ID du persona.
  • file_idstringObligatoire
    L'ID du fichier Sam AI.

Renvoie

Un objet avec l'id du fichier et deleted à true.

Erreurs

  • Aucun fichier Sam AI avec cet ID sur le compte de la clé.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
DELETE/v1/personas/:persona_id/sam/files/:file_id
curl -X DELETE \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sam/files/sf_4c1e9a07d2b35f68e190 \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "deleted": true
}

Ajouter un fichier à une conversation

POST/v1/conversations/:conversation_id/sam/filesScope writeMCPedit_sam_files

Donne à Sam AI un document sur ce lead en particulier. Envoie son URL publique ou son contenu en base64. Gemlead le lit une seule fois, vérifie que c'est un fichier PDF, DOCX, TXT, MD ou CSV et en garde sa propre copie.

Paramètres de chemin

  • conversation_idstringObligatoire
    L'ID de la conversation.

Paramètres du corps

  • urlstring
    Le fichier, à une URL HTTPS publique. Gemlead le lit une seule fois et en garde sa propre copie. Donne url ou data.
  • datastring
    Le fichier, encodé en base64, à la place de url. Envoie un gros fichier avec url.
  • namestring
    Le nom affiché dans l'app, 200 caractères au plus. Obligatoire avec data. Sans lui, c'est la dernière partie de l'URL. Gemlead ajoute l'extension quand elle manque.

Renvoie

Le nouvel objet fichier Sam AI.

Erreurs

  • Aucune conversation avec cet ID sur le compte de la clé.
  • Il manque un paramètre obligatoire. param indique lequel.
  • Le fichier n'est pas un PDF, DOCX, TXT, MD ou CSV, il est vide ou dépasse 25 Mo, ou son URL est illisible. param indique le paramètre concerné.
  • Le corps contient un champ que cet endpoint n'accepte pas.
  • Le niveau contient déjà 30 fichiers ou 100 Mo de fichiers. Supprimes-en un d'abord.
  • Plus de 100 fichiers dans l'heure sur ce compte X.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
POST/v1/conversations/:conversation_id/sam/files
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/sam/files \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://acme.com/docs/pricing-and-payouts.pdf",
    "name": "Pricing and payouts.pdf"
  }'
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "name": "Pricing and payouts.pdf",
  "size": 182344,
  "mime_type": "application/pdf",
  "url": "https://upcdn.io/W142hYH/raw/uploads/GemleadSamFiles/api/7f3a9c21e5b04d18/Pricing-and-payouts.pdf"
}

Supprimer un fichier d'une conversation

DELETE/v1/conversations/:conversation_id/sam/files/:file_idScope writeMCPedit_sam_files

Retire un fichier du niveau. Sam AI arrête de le lire dès sa prochaine réponse.

Paramètres de chemin

  • conversation_idstringObligatoire
    L'ID de la conversation.
  • file_idstringObligatoire
    L'ID du fichier Sam AI.

Renvoie

Un objet avec l'id du fichier et deleted à true.

Erreurs

  • Aucun fichier Sam AI avec cet ID sur le compte de la clé.
  • La clé d'un membre de l'équipe modifie une zone que son rôle peut seulement consulter. L'activation sur le compte X et les conversations relèvent de la zone chat, les infos de ton business et les fichiers du compte de la zone settings, et le Sam AI d'un persona de la zone personas.
DELETE/v1/conversations/:conversation_id/sam/files/:file_id
curl -X DELETE \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/sam/files/sf_4c1e9a07d2b35f68e190 \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Réponse200
{
  "id": "sf_4c1e9a07d2b35f68e190",
  "object": "sam_file",
  "deleted": true
}