Spaceship MCP — Référence des outils

Spaceship MCP connecte votre assistant IA (tel que Claude) à votre compte Spaceship. Grâce à lui, l’assistant peut vérifier et enregistrer des domaines, obtenir des liens de paiement pour acheter des domaines dans votre navigateur, gérer les contacts de domaine, et lire ou modifier des enregistrements DNS en votre nom — il vous suffit de demander en langage naturel, et l’assistant appelle les bons outils.

Premiers pas

Vous avez besoin d’un compte Spaceship. Spaceship MCP est disponible à l’adresse https://mcp.spaceship.com/mcp.

La façon de vous connecter dépend de votre assistant IA :

  • Claude (web et bureau) — ouvrez Settings, choisissez Connectors, ajoutez un connecteur personnalisé et pointez-le vers https://mcp.spaceship.com/mcp. Le Claude d’Anthropic est actuellement le client dont nous avons vérifié la compatibilité avec Spaceship MCP.

  • Autres clients MCP — ajoutez un serveur MCP distant et pointez-le vers https://mcp.spaceship.com/mcp. D’autres clients peuvent fonctionner, mais nous ne les avons pas encore vérifiés.

Lorsque vous vous connectez, il vous sera demandé de vous connecter à Spaceship et d’accorder à l’assistant l’accès à votre compte. Les outils que l’assistant peut utiliser dépendent de l’accès que vous approuvez — si un outil est refusé parce que l’accès n’a pas été accordé, reconnectez-vous et approuvez l’accès dont il a besoin.

Conditions et confidentialité

Les accords et politiques qui s’appliquent à Spaceship MCP et à tout ce que vous achetez par son intermédiaire :

Aperçu des outils

  • Outil : contacts_save

    Ce qu’il fait : Enregistrer les coordonnées d’un contact et obtenir un ID de contact

  • Outil : contacts_get

    Ce qu’il fait : Lire un contact enregistré à partir de son ID

  • Outil : contacts_list

    Ce qu’il fait : Lister tous les contacts enregistrés pour en trouver un et le réutiliser

  • Outil : domains_list

    Ce qu’il fait : Lister vos domaines ou rechercher un domaine

  • Outil : domains_check_availability

    Ce qu’il fait : Vérifier si des domaines sont disponibles à l’enregistrement

  • Outil : domain_register

    Ce que cela fait : Enregistrer (acheter) un domaine — dépense de l'argent

  • Outil : domain_purchase_link

    Ce que cela fait : Obtenir des liens de paiement pour acheter des domaines sur la page de paiement de Spaceship — aucun montant n'est facturé par l'appel

  • Outil : domain_set_contacts

    Ce que cela fait : Attribuer des contacts à un domaine que vous possédez

  • Outil : domain_set_nameservers

    Ce que cela fait : Basculer un domaine vers des nameservers de base ou personnalisés

  • Outil : dns_records_get

    Ce que cela fait : Lire les enregistrements DNS d'un domaine

  • Outil : dns_records_save

    Ce que cela fait : Ajouter des enregistrements DNS ou mettre à jour leur TTL

  • Outil : dns_records_delete

    Ce que cela fait : Supprimer des enregistrements DNS

  • Outil : async_operation_get

    Ce que cela fait : Vérifier le statut d’une opération de longue durée

Contacts : référencés par ID

Partout où un contact est requis (domain_register, domain_purchase_link, domain_set_contacts), chaque rôle prend une contactId chaîne — jamais de coordonnées de contact en ligne. Enregistrez d’abord le contact avec contacts_save (qui renvoie son contactId), puis transmettez cet ID là où le contact est accepté. Il n’existe pas d’enregistrement automatique en ligne ; un rôle ne peut pas recevoir un objet contact complet. Vous pouvez également réutiliser un contactId issu d’un résultat contacts_list ou lu dans un résultat domains_list.

Un contactId est une chaîne de 27 à 32 caractères alphanumériques. Il suffit de la retransmettre là où un contact est accepté.

Flux de travail courants

Plusieurs outils sont conçus pour être utilisés ensemble : la sortie de l’un devient l’entrée du suivant.

Enregistrer (acheter) un domaine

  1. contacts_save — enregistrez les contacts titulaire, admin, technique et facturation (si vous ne possédez pas déjà leurs ID) et conservez le contactId renvoyé pour chacun. Les contacts doivent exister avant que vous puissiez enregistrer le domaine.

  2. domains_check_availability — vérifiez le ou les noms souhaités. Ne poursuivez que lorsque result vaut available. Chaque nom disponible inclut le price en USD pour l’enregistrer (standard comme premium), ou priceUnavailableReason lorsqu’il ne peut pas être déterminé, ainsi que minRegisterPeriodInYears et maxRegisterPeriodInYears — la durée autorisée par ce TLD. Notez que le price couvre price.pricedYears années, ce qui correspond à la durée minimale autorisée par le TLD et n’est pas toujours de 1.

  3. domain_register (aperçu) — appelez-le avec confirmationToken non défini pour obtenir status: confirmation_required, un nouveau confirmationToken et le price qui sera facturé. Rien n’est débité. Omettez paymentMethodId pour laisser l’outil proposer le moyen de paiement par défaut du compte (ou les fonds lorsqu’il n’existe aucun moyen par défaut utilisable) — la réponse contient alors aussi paymentMethods afin qu’un autre puisse être choisi ; transmettez un id spécifique comme paymentMethodId pour débiter ce moyen à la place. Le texte de réponse de l’outil constitue une confirmation complète — durée, détail du prix, renouvellement automatique, confidentialité WHOIS, source de paiement et contacts titulaire/admin/technique/facturation — affichez-le à l’utilisateur tel quel. Choisissez years entre minRegisterPeriodInYears et maxRegisterPeriodInYears à l’étape 2 — une valeur hors plage est rejetée immédiatement. Transmettez chaque rôle de contact sous la forme du contactId enregistré à l’étape 1.

  4. domain_register (accepter/refuser) — une fois que l’utilisateur a accepté, appelez-le de nouveau avec exactement les mêmes arguments plus ce confirmationToken et confirmationResponse: "accept". Cela débite le moyen de paiement résolu et est irréversible. L’appel renvoie immédiatement status: pending et un operationId — l’enregistrement se termine en arrière-plan. Pour annuler à la place, appelez-le de nouveau avec le même confirmationToken et confirmationResponse: "decline" — rien n’est débité. Le jeton expire après un court délai et est lié aux arguments exacts, au prix et au moyen de paiement pour lesquels il a été émis ; s’il manque, a expiré ou ne correspond plus, l’appel renvoie une toute nouvelle confirmation au lieu d’une erreur — jamais un débit. Si le prix ne peut pas être déterminé lors de l’un ou l’autre appel, l’outil renvoie à la place status: price_unavailable et rien n’est débité. Si aucun moyen de paiement ne peut être utilisé, il renvoie status: payment_unavailable avec les moyens enregistrés sur le compte et rien n’est débité.

  5. async_operation_get — transmettez l’operationId de l’étape 4 pour vérifier la progression. Répétez jusqu’à ce que status devienne success ou failed.

contacts_save ──▶ domains_check_availability ──▶ domain_register ──▶ domain_register ──▶ async_operation_get
(ids contactId) (disponible ? + prix + (jeton non défini : (jeton + (pending →
min/maxRegisterPeriod) confirmation, accept : operationId, success/failed)
confirmationToken, pending)
aucun débit)

Utilisez ceci à la place de domain_register lorsque vous demandez un lien de paiement, lorsque l’achat direct dans le chat a échoué, ou lorsque vous souhaitez payer avec un moyen de paiement que l’achat dans le chat ne peut pas utiliser.

  1. domains_check_availability — vérifiez le ou les noms souhaités. Ne poursuivez que lorsque result vaut available, et lisez minRegisterPeriodInYears/maxRegisterPeriodInYears pour choisir une valeur years valide.

  2. domain_purchase_link — transmettez les domaines comme items et les contacts à leur attribuer comme contacts — IDs de contact issus de contacts_list, ou enregistrez d’abord de nouvelles informations avec contacts_save — avec years et autoRenew partagés au niveau supérieur et des remplacements par domaine lorsqu’ils diffèrent. Cet appel ne débite rien. Il renvoie un lien par groupe de 10 domaines maximum, avec un prix estimé pour chacun ; vous ouvrez chaque lien et payez sur la page de paiement de Spaceship, où vous choisissez le moyen de paiement (les fonds du compte sont présélectionnés lorsque vous en avez). La confidentialité WHOIS ne peut pas être définie de cette manière.

  3. domains_list — après avoir payé, appelez-le pour le domaine afin de confirmer qu’il est enregistré. Ne considérez pas le lien comme une preuve d’achat.

Ne demandez pas un second lien pour un achat qui a peut-être déjà abouti. Si une tentative domain_register a pu être facturée, ou si vous avez suivi un lien précédent, appelez d’abord domains_list et ne demandez un nouveau lien que pour les domaines qui ne sont réellement pas enregistrés. Les liens n’expirent pas et peuvent être réutilisés, alors ne les partagez avec personne d’autre.

domains_check_availability ──▶ domain_purchase_link ──▶ (domains_list pour confirmer)
(disponible ? + prix + (liens, jusqu’à 10 domaines après avoir payé
min/maxRegisterPeriod) chacun ; aucun débit de
cet appel)

Mettre à jour les contacts d’un domaine que vous possédez

  1. domain_set_contacts — attribuez des contacts au domaine via contactId (enregistrez-les d’abord avec contacts_save si nécessaire). Cela se termine immédiatement et renvoie un verificationStatus : verification signifie que le titulaire doit confirmer son adresse e-mail avant que le changement ne s’applique complètement (un e-mail lui est envoyé), success signifie que c’est déjà confirmé, et null signifie qu’aucune confirmation n’est requise pour ce domaine.

Modifier les serveurs de noms d’un domaine

  1. domains_list — trouvez le domaine et consultez ses nameservers actuels ({ provider, hosts }).

  2. domain_set_nameservers — basculez-le vers les serveurs de noms par défaut de Spaceship avec provider: "basic" (sans hosts), ou pointez-le vers les vôtres avec provider: "custom" et une liste de 2 à 12 hosts. Il renvoie le { provider, hosts } résultant, et un appel ultérieur à domains_list reflète le changement. Réappliquer l’état dans lequel un domaine se trouve déjà renvoie une erreur de validation plutôt qu’une opération sans effet — considérez cela comme attendu, et non comme un échec nécessitant une nouvelle tentative.

Gérer les enregistrements DNS

  1. domains_list — trouvez le domaine que vous souhaitez gérer (ou transmettez directement son nom si vous le connaissez).

  2. dns_records_get — lisez les enregistrements actuels du domaine.

  3. dns_records_save ou dns_records_delete — ajoutez, mettez à jour ou supprimez des enregistrements. Les enregistrements renvoyés par dns_records_get ont la même forme que celle acceptée par les outils d’enregistrement et de suppression (la suppression omet simplement ttl), de sorte que l’assistant peut lire, ajuster et réécrire. La correspondance ne tient pas compte de la casse, sauf pour les enregistrements TXT, qui y sont sensibles.

Consulter votre portefeuille

  • domains_list — parcourez tous vos domaines avec tri, ou récupérez un seul domaine par son nom. Chaque domaine inclut sa date d’expiration, le paramètre de renouvellement automatique, le statut, les serveurs de noms, la protection de la confidentialité et les IDs de contact attribués.

  • contacts_list — parcourez tous les contacts enregistrés sur votre compte pour trouver et réutiliser un contact existant (par son ID de contact) au lieu de créer un doublon.

  • contacts_get — consultez les détails associés à tout ID de contact que vous voyez sur un domaine ou dans un résultat contacts_list.

Référence des outils

Chaque outil renvoie son résultat sous forme de JSON structuré. Les opérations de longue durée (actuellement uniquement domain_register) renvoient une référence d’opération à interroger avec async_operation_get ; tous les autres outils se terminent immédiatement.

Contacts

Les contacts sont les personnes ou organisations associées à un enregistrement de domaine (titulaire, admin, technique, facturation). Un contact est référencé partout par son ID de contact — une chaîne opaque.

contacts_save — Enregistrer le contact

Enregistre les coordonnées du contact et renvoie l’ID de contact généré. La validation de certains champs (tels que stateProvince et postalCode) dépend du pays sélectionné.

  • Paramètre : firstName

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères. Peut inclure des traits d’union et des apostrophes.

  • Paramètre : lastName

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères. Peut inclure des traits d’union et des apostrophes.

  • Paramètre : email

    Obligatoire : Oui

    Type et contraintes : Adresse e-mail valide, 254 caractères max.

  • Paramètre : address1

    Obligatoire : Oui

    Type et contraintes : Ligne d’adresse 1. Chaîne, 1–128 caractères.

  • Paramètre : city

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères.

  • Paramètre : country

    Obligatoire : Oui

    Type et contraintes : Code pays à deux lettres (ISO 3166-1 alpha-2), par ex. US.

  • Paramètre : phone

    Obligatoire : Oui

    Type et contraintes : Format international +CountryCode.Number, par ex. +1.2025551234. Max. 32 caractères.

  • Paramètre : organization

    Obligatoire : Non

    Type & contraintes : Nom de l’organisation/de l’entreprise. 1–128 caractères.

  • Paramètre : address2

    Obligatoire : Non

    Type & contraintes : Ligne d’adresse 2. 1–128 caractères.

  • Paramètre : stateProvince

    Obligatoire : Non

    Type & contraintes : Nom de l’État/de la province, 1–64 caractères. Peut être requis selon le pays.

  • Paramètre : postalCode

    Obligatoire : Non

    Type & contraintes : 1–16 caractères. Peut être requis selon le pays.

  • Paramètre : phoneExt

    Obligatoire : Non

    Type & contraintes : Poste téléphonique, 1–16 caractères.

  • Paramètre : fax

    Obligatoire : Non

    Type & contraintes : Numéro de fax, même format +CountryCode.Number, 32 caractères max.

  • Paramètre : faxExt

    Obligatoire : Non

    Type & contraintes : Poste de fax, 1–16 caractères.

  • Paramètre : taxNumber

    Obligatoire : Non

    Type & contraintes : Numéro fiscal, 1–32 caractères.

Renvoie

{ "contactId": "..." }

contactId (27–32 caractères alphanumériques) est ce que vous transmettez à domain_register, domain_purchase_link, domain_set_contacts et contacts_get.

contacts_get — Obtenir un contact

Lit les détails d’un contact enregistré à partir de son ID de contact. Les ID de contact proviennent de contacts_save, contacts_list, ou du champ contacts des résultats de domains_list.

  • Paramètre : contactId

    Obligatoire : Oui

    Type & contraintes : ID de contact, 27–32 caractères alphanumériques.

Renvoie — { contact } avec :

  • Champ : firstName, lastName, email, address1, city, country, phone, postalCode

    Type : Chaîne

  • Champ : organization, address2, stateProvince, phoneExt, fax, faxExt, taxNumber

    Type : Chaîne ou null

contacts_list — Lister les contacts

Liste tous les contacts enregistrés sous votre compte, afin que vous puissiez trouver et réutiliser un contact existant (par son ID de contact) au lieu de créer un doublon ou de chercher parmi vos domaines. La liste est paginée et triable, conformément à domains_list.

  • Paramètre : take

    Obligatoire : Non

    Type & contraintes : Éléments par page, 1–100. Valeur par défaut 10.

  • Paramètre : skip

    Obligatoire : Non

    Type & contraintes : Éléments à ignorer, 0 ou plus. Valeur par défaut 0.

  • Paramètre : orderBy

    Obligatoire : Non

    Type & contraintes : Jusqu’à 8 clés de tri : name, email, organization ; préfixez avec - pour un ordre décroissant (par ex. -name).

Renvoie — { items, total } où total est le nombre de contacts uniques du compte (dédupliqués par ID de contact, et non par taille de page), et chaque élément contient suffisamment d’informations pour distinguer les contacts sans appel supplémentaire. Si le compte contient des entrées en double pour le même ID de contact, elles sont regroupées en une seule, de sorte que total compte les contacts distincts plutôt que les lignes brutes côté serveur :

  • Champ : contactId

    Type : Chaîne (27–32 alphanumériques). À transmettre à contacts_get, domain_register, domain_purchase_link ou domain_set_contacts.

  • Champ : name

    Type : Chaîne — le nom du contact.

  • Champ : email

    Type : Chaîne ou null lorsque le contact n’a pas d’adresse e-mail enregistrée.

  • Champ : organization

    Type : Chaîne ou null lorsque le contact n’a pas d’organisation enregistrée.

{
"items": [
{ "contactId": "1anq5bsl9haBy21rOV9aeDWrARBsV", "name": "Ada Lovelace", "email": "ada@example.com", "organization": "Analytical Engines" }
],
"total": 1
}

Domaines

Les entrées de nom de domaine (domain/domainName) acceptent l’Unicode (IDN) ou l’ASCII (A-label) — dans les deux cas, l’outil normalise automatiquement le nom en punycode avant utilisation. domains_check_availability et domain_register exigent en plus un TLD que Spaceship prend en charge pour l’enregistrement : un domaine dont le TLD n’est pas pris en charge est considéré comme indisponible plutôt que vérifié ou facturé. Les autres outils de domaine (domains_list, domain_set_contacts, domain_set_nameservers) ainsi que les outils DNS normalisent uniquement le nom et ne le rejettent jamais en fonction de la prise en charge du TLD.

domains_list — Lister les domaines

Récupère une liste paginée de vos domaines. Transmettez domain pour récupérer à la place un seul domaine par son nom (la pagination et l’ordre sont alors ignorés, et le résultat inclut une note l’indiquant s’ils ont été fournis).

  • Paramètre : domain

    Obligatoire : Non

    Type & contraintes : Nom de domaine complet pour récupérer un seul domaine. Accepte l’Unicode (IDN) ou l’ASCII (A-label) — normalisé automatiquement en punycode.

  • Paramètre : take

    Obligatoire : Non

    Type & contraintes : Éléments par page, 1–100. Valeur par défaut 10.

  • Paramètre : skip

    Obligatoire : Non

    Type & contraintes : Éléments à ignorer, 0 ou plus. Valeur par défaut 0.

  • Paramètre : orderBy

    Obligatoire : Non

    Type & contraintes : Jusqu’à 8 clés de tri : name, unicodeName, registrationDate, expirationDate ; préfixez avec - pour un ordre décroissant (par ex. -expirationDate).

Renvoie — { items, total } où chaque élément décrit un domaine :

  • Champ : name / unicodeName

    Signification : Nom de domaine sous forme ASCII et Unicode.

  • Champ : isPremium

    Signification : Indique si le domaine est un nom premium.

  • Champ : autoRenew

    Signification : Indique si le renouvellement automatique est activé.

  • Champ : registrationDate / expirationDate

    Signification : Horodatages d’enregistrement et d’expiration.

  • Champ : lifecycleStatus

    Signification : creating, registered, grace1, grace2 ou redemption.

  • Champ : verificationStatus

    Signification : verification, success, failed ou null lorsque non applicable.

  • Champ : eppStatuses

    Signification : Codes d’état du registre (par ex. verrous de transfert).

  • Champ : suspensions

    Signification : Suspensions actives, chacune avec un reasonCode.

  • Champ : privacyProtection

    Signification : { level: "public" | "high", contactForm: boolean }.

  • Champ : nameservers

    Signification : { provider: "basic" | "custom", hosts: [...] }.

  • Champ : contacts

    Signification : ID de contact : registrant, plus admin/tech/billing (peuvent être null) et attributes (une liste d’ID de contact d’attributs étendus, ou null). Lisible via contacts_get.

Spaceship MCP renseigne chaque champ ci-dessus — y compris contacts, eppStatuses, suspensions, verificationStatus, nameservers, un vrai autoRenew, et un unicodeName distinct lorsque le domaine en possède un — à la fois pour les listes à plusieurs éléments et les récupérations d’un seul domaine.

domains_check_availability — Vérifier la disponibilité d’un domaine

Vérifie si un ou plusieurs noms de domaine sont disponibles à l’enregistrement. Utilise le point de terminaison pour un seul domaine pour un nom, et le point de terminaison en masse pour plusieurs. Un domaine dont le TLD n’est pas pris en charge pour l’enregistrement n’est pas envoyé du tout à la vérification de disponibilité — il est immédiatement renvoyé comme tldNotSupported.

  • Paramètre : domains

    Obligatoire : Oui

    Type & contraintes : 1–20 noms de domaine complets. Chacun accepte l’Unicode (IDN) ou l’ASCII (A-label) — normalisé automatiquement en punycode.

Renvoie — { results }, une entrée par nom demandé :

  • Champ : domain

    Signification : Le nom vérifié.

  • Champ : result

    Signification : available, taken, invalidDomainName, tldNotSupported ou unexpectedError.

  • Champ : premiumPricing

    Signification : Pour les noms premium : liste de { operation, price, currency } où operation vaut register, transfer, renew ou restore. Vide pour les noms standard.

  • Champ : price

    Signification : Pour les noms disponibles (standard et premium) : le prix en USD pour enregistrer le domaine pour la durée la plus courte autorisée par le TLD — { amount, currency: "USD", pricedYears?, pricePerYear?, icannFee?, isPremium }. amount est le total à payer pour toute cette durée ; pricedYears indique combien d’années elle couvre. Aucun prix avant remise ni prix « ancien » n’est indiqué. icannFee est les frais ICANN (USD) déjà inclus dans amount, renvoyés séparément afin que le détail puisse être expliqué ; ils n’apparaissent que lorsque le TLD comporte des frais.

  • Champ : pricePerYear

    Signification : À l’intérieur de price : amount divisé par pricedYears, afin qu’un montant annuel soit toujours disponible pour comparaison. Lorsque pricedYears vaut 1, il s’agit du vrai prix pour un an ; au-delà, il s’agit d’une moyenne annuelle sur la durée, et non d’une durée que vous pourriez acheter.

  • Champ : minRegisterPeriodInYears / maxRegisterPeriodInYears

    Signification : Pour les noms disponibles : la durée d’enregistrement la plus courte et la plus longue réellement autorisées par ce TLD, sous forme de deux nombres simples. Utilisez-les pour choisir une valeur years valide pour domain_register. Les deux sont omises lorsque la durée autorisée n’a pas pu être déterminée.

  • Champ : priceUnavailableReason

    Signification : Présent à la place de price lorsque le prix n’a pas pu être déterminé pour un nom disponible. La vérification elle-même réussit quand même.

Seuls les noms disponibles sont tarifés ; les résultats taken/invalid n’ont ni price ni priceUnavailableReason.

La plupart des TLD autorisent un an, mais certains non..ai, par exemple, a un minimum de deux ans. Pour ceux-là, price.amount est le total pour la durée minimale — et non un prix d’un an que vous pourriez choisir — et price.pricedYears l’indique :

{
"domain": "example.ai",
"result": "available",
"premiumPricing": [],
"price": { "amount": 159.96, "currency": "USD", "pricedYears": 2, "pricePerYear": 79.98, "isPremium": false },
"minRegisterPeriodInYears": 2,
"maxRegisterPeriodInYears": 10
}

pricePerYear est présent ici — 159.96 divisé par les deux années qu’il couvre donne 79.98. Il s’agit du total divisé par la durée, et non d’un prix que vous pourriez payer pour une seule année (un enregistrement .ai d’un an ne peut pas être acheté). Affichez toujours amount avec pricedYears (« 159,96 $ pour 2 ans »), jamais amount seul. Pour un TLD ordinaire, pricedYears vaut 1 et pricePerYear est égal à amount.

domain_register — Enregistrer un domaine

Enregistre (achète) un domaine. Cela débite un moyen de paiement — votre moyen enregistré par défaut, les fonds du compte ou celui que vous choisissez — et c’est irréversible. Séquence recommandée : domains_check_availability → domain_register. Un domaine dont le TLD n’est pas pris en charge pour l’enregistrement est rejeté immédiatement — avant toute vérification de disponibilité, tarification ou facturation.

years doit se situer dans la plage autorisée propre au TLD. La limite 1–10 ci-dessous est la limite externe pour l’ensemble des TLD ; chaque TLD a une plage plus restreinte. .ai autorise 2–10, .co et .io autorisent 1–5, .sg 1–2, .fr exactement 1. Une valeur years en dehors de cette plage est rejetée avec une erreur de validation indiquant la plage autorisée — avant toute vérification de disponibilité, tarification ou facturation — et la valeur n’est pas discrètement ajustée pour vous :

.ai domains cannot be registered for 1 year: this TLD allows 2–10 years. Call domains_check_availability for this domain to see its allowed registration period.

Lisez minRegisterPeriodInYears/maxRegisterPeriodInYears dans domains_check_availability d’abord et choisissez une valeur years comprise dans cette plage. La même vérification est relancée lors de l’appel de confirmation (confirmationResponse: "accept"), elle ne peut donc jamais être contournée par confirmation.

Confirmation préalable au débit en deux étapes. Appelez d’abord avec confirmationToken non défini : l’outil recalcule le prix du domaine, résout le moyen de paiement, construit une confirmation complète — durée, détail du prix (y compris d’éventuels frais ICANN et si le domaine est premium), renouvellement automatique, confidentialité WHOIS, source de paiement, et les contacts registrant/admin/tech/billing (un contact identique au registrant est affiché comme « same as registrant ») — et renvoie status: "confirmation_required" avec ce price et un nouveau confirmationToken. Rien n’est enregistré ni facturé lors de cet appel. La confirmation complète est le texte de réponse de l’outil ; affichez-le tel quel à l’utilisateur. Une fois qu’il accepte, appelez à nouveau avec exactement les mêmes arguments plus ce confirmationToken et confirmationResponse: "accept" pour soumettre l’achat, ou confirmationResponse: "decline" pour l’annuler — rien n’est facturé en cas de refus. Le jeton est lié à ces arguments exacts, au prix indiqué et au moyen de paiement résolu, et expire après un court délai : un jeton manquant, expiré, altéré ou ne correspondant plus lors de l’appel de confirmation renvoie simplement une toute nouvelle confirmation avec un nouveau jeton — jamais une erreur, jamais un débit. Si le prix ne peut pas être déterminé lors de l’un ou l’autre appel, l’outil renvoie status: "price_unavailable" au lieu d’un jeton et ne facture jamais ; réessayez plus tard. Un appel confirmé renvoie immédiatement status: "pending" et un operationId — l’enregistrement se termine en arrière-plan ; vérifiez-le avec async_operation_get.

Choisir un moyen de paiement. Omettez paymentMethodId pour débiter le moyen de paiement enregistré par défaut du compte, ou les fonds du compte lorsqu’il n’existe aucun moyen par défaut utilisable — la confirmation nomme la source résolue dans paymentSource et dans son texte de réponse. Lorsqu’il est omis, la réponse contient aussi paymentMethods : les moyens enregistrés du compte, chacun avec un id et un label d’affichage (par ex. "Card ···2584" ou "Account funds (USD 17.29)"), afin que le client puisse en choisir un autre — retransmettez cet id comme paymentMethodId lors de l’appel suivant pour le débiter à la place. Un moyen expiré, ou qui ne peut pas être débité pour cet achat (par ex. signalé comme inutilisable pour un débit sans surveillance), est rejeté avec une erreur de validation indiquant la raison — aucun jeton n’est émis et rien n’est facturé. Si aucun moyen de paiement ne peut être utilisé — aucun moyen enregistré n’est utilisable et les fonds du compte ne couvrent pas le prix, ou les moyens enregistrés n’ont pas pu être lus — l’outil renvoie status: "payment_unavailable" avec la raison et les moyens enregistrés du compte, et ne facture jamais ; le client doit choisir un autre moyen, en ajouter un, ou ajouter des fonds.

  • Paramètre : domain

    Obligatoire : Oui

    Type & contraintes : Nom de domaine complet à enregistrer, par ex. example.com. Accepte l’Unicode (IDN) ou l’ASCII (A-label) — normalisé automatiquement en punycode.

  • Paramètre : years

    Obligatoire : Oui

    Type et contraintes : Période d'enregistrement en années. 1–10 est la limite externe ; la plage acceptée est celle propre au TLD — voir minRegisterPeriodInYears/maxRegisterPeriodInYears de domains_check_availability. Les valeurs hors plage sont rejetées, pas ajustées.

  • Paramètre : autoRenew

    Obligatoire : Oui

    Type et contraintes : Booléen. Lorsque true, le domaine est renouvelé automatiquement à l'expiration en utilisant le mode de paiement par défaut du compte.

  • Paramètre : privacy.level

    Obligatoire : Oui

    Type et contraintes : high masque les coordonnées du titulaire dans le WHOIS public ; public les publie.

  • Paramètre : privacy.userConsent

    Obligatoire : Oui

    Type et contraintes : Booléen. Doit confirmer que vous acceptez le paramètre de confidentialité sélectionné.

  • Paramètre : contacts.registrant

    Obligatoire : Oui

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques), provenant de contacts_save.

  • Paramètre : contacts.admin

    Obligatoire : Oui

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques), provenant de contacts_save.

  • Paramètre : contacts.tech

    Obligatoire : Oui

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques), provenant de contacts_save.

  • Paramètre : contacts.billing

    Obligatoire : Oui

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques), provenant de contacts_save.

  • Paramètre : contacts.attributes

    Obligatoire : Non

    Type et contraintes : Tableau d'identifiants de contact d'attributs étendus (jusqu'à 5) ; requis uniquement pour certains TLD, sinon omettez-le ou utilisez null.

  • Paramètre : paymentMethodId

    Obligatoire : Non

    Type et contraintes : Identifiant d'un mode de paiement enregistré à débiter, tiré de la liste paymentMethods d'un appel précédent. Omettez-le pour accepter le mode de paiement par défaut du compte (ou les fonds lorsqu'il n'existe aucun mode par défaut utilisable).

  • Paramètre : confirmationToken

    Obligatoire : Non

    Type et contraintes : Chaîne, jusqu'à 4096 caractères. Jeton émis par le serveur renvoyé par un appel précédent à domain_register pour ces arguments exacts. Omettez-le lors du premier appel pour une nouvelle tentative d'enregistrement. Il expire après un court délai et est lié aux arguments exacts, au prix et au mode de paiement pour lesquels il a été émis — renvoyez-le inchangé, avec confirmationResponse, pour agir dessus.

  • Paramètre : confirmationResponse

    Obligatoire : Conditionnel

    Type et contraintes : "accept" ou "decline". N'a de sens qu'avec un confirmationToken valide. "accept" soumet l'enregistrement (facturé) affiché dans cette confirmation ; "decline" l'annule sans facturation. Omettez-le lors du premier appel.

Renvoie — après le premier appel (rien n'est facturé), lorsque le client dispose d'un mode par défaut utilisable et n'a pas besoin d'en choisir un :

{
"domain": "example.com",
"years": 1,
"status": "confirmation_required",
"price": {
"amount": 9.08,
"currency": "USD",
"pricedYears": 1,
"pricePerYear": 9.08,
"icannFee": 0.2,
"isPremium": false
},
"confirmationToken": "<opaque confirmation token>",
"paymentSource": "Card ···2584",
"note": "Nothing has been charged yet. Show the confirmation to the user and, once they agree, call domain_register again with this confirmationToken and confirmationResponse=\"accept\" to complete the purchase, or confirmationResponse=\"decline\" to cancel."
}

Renvoie — après le premier appel avec paymentMethodId omis, en incluant en plus les modes enregistrés du compte afin que le client puisse en choisir un autre :

{
"domain": "example.com",
"years": 1,
"status": "confirmation_required",
"price": {
"amount": 9.08,
"currency": "USD",
"pricedYears": 1,
"pricePerYear": 9.08,
"icannFee": 0.2,
"isPremium": false
},
"confirmationToken": "<opaque confirmation token>",
"paymentSource": "Account funds (USD 17.29)",
"paymentMethods": [
{ "id": "pm_9f2c1a7e", "type": "Funds", "order": 1, "label": "Account funds (USD 17.29)" },
{ "id": "pm_4b6e2d90", "type": "CreditCard", "order": 2, "label": "MasterCard ···2584" }
],
"note": "Nothing has been charged yet. Show the confirmation to the user and, once they agree, call domain_register again with this confirmationToken and confirmationResponse=\"accept\" to complete the purchase, or confirmationResponse=\"decline\" to cancel."
}

En plus de ce JSON, le texte de la réponse de l'outil constitue la confirmation complète à montrer à l'utilisateur — il reprend le domaine, la durée et le prix ci-dessus, plus des lignes pour Auto-renew: on/off, WHOIS privacy: on/off, Payment source: <resolved method label>, ainsi que chacun des contacts titulaire/admin/tech/facturation (nom, e-mail, pays — un contact identique au titulaire affiche "same as registrant"), suivis des instructions pour l'appel suivant. Pour une durée de plusieurs années, price.amount est le total pour toute la durée et price.pricePerYear est ce total divisé par la durée — par exemple years: 5 sur .com renvoie { "amount": 48.52, "pricedYears": 5, "pricePerYear": 9.70 }, et example.ai avec years: 2 renvoie { "amount": 159.96, "pricedYears": 2, "pricePerYear": 79.98 }.

Une entrée paymentMethods ne contient jamais de numéros de carte, de noms de titulaires de carte ni de détails de facturation/émetteur au-delà de label — isExpired/offSessionForbidden (lorsque true) signalent qu'un mode n'est actuellement pas utilisable, et availableBalance/balanceCurrency ne sont présents que pour l'entrée Funds.

Renvoie — après confirmationResponse: "accept" (enregistrement soumis) :

{
"domain": "example.com",
"years": 1,
"status": "pending",
"operationId": "...",
"price": {
"amount": 9.08,
"currency": "USD",
"pricedYears": 1,
"pricePerYear": 9.08,
"icannFee": 0.2,
"isPremium": false
},
"note": "Registration of example.com submitted. Ask again, or call async_operation_get with this operationId, to check status."
}

Renvoie — après confirmationResponse: "decline" (rien n'est facturé) :

{
"domain": "example.com",
"years": 1,
"status": "cancelled",
"price": { "amount": 9.08, "currency": "USD", "pricedYears": 1, "pricePerYear": 9.08, "icannFee": 0.2, "isPremium": false },
"note": "Registration of example.com was not submitted because the purchase was not confirmed."
}

Renvoie — si le prix ne peut pas être déterminé, lors de l'un ou l'autre appel :

{
"domain": "example.com",
"years": 1,
"status": "price_unavailable",
"priceUnavailableReason": "Price is currently unavailable for this domain.",
"note": "Registration of example.com could not be priced right now, so nothing was confirmed or charged. Try again shortly."
}

Renvoie — si aucun mode de paiement ne peut être utilisé, lors de l'un ou l'autre appel :

{
"domain": "example.com",
"years": 1,
"status": "payment_unavailable",
"price": {
"amount": 9.08,
"currency": "USD",
"pricedYears": 1,
"pricePerYear": 9.08,
"icannFee": 0.2,
"isPremium": false
},
"paymentMethods": [
{ "id": "pm_4b6e2d90", "type": "CreditCard", "order": 2, "label": "MasterCard ···2584", "isExpired": true }
],
"note": "example.com was not registered and nothing was charged. None of the saved payment methods can be charged for this purchase and the account funds cannot be used. Add a payment method or add funds to the account, then try again."
}

status peut être :

  • Statut : confirmation_required

    Signification : Aperçu — rien n'est facturé. Affichez le texte de réponse à l'utilisateur, puis appelez à nouveau avec ce confirmationToken et confirmationResponse. Également renvoyé, avec un jeton nouveau, lorsqu'un confirmationToken soumis est manquant, expiré, falsifié ou ne correspond plus aux arguments/prix/mode de paiement actuels — jamais une erreur.

  • Statut : cancelled

    Signification : L'achat a été refusé (confirmationResponse: "decline"), donc rien n'a été soumis.

  • Statut : pending

    Signification : Soumis ; le registre finalise l'opération en arrière-plan. Interrogez async_operation_get avec l'operationId.

  • Statut : price_unavailable

    Signification : Le prix n'a pas pu être déterminé, donc aucun jeton n'a été émis et rien n'a été facturé. Réessayez plus tard.

  • Statut : payment_unavailable

    Signification : Aucun mode de paiement utilisable n'existe pour cet achat — aucun mode enregistré ne peut être débité et les fonds du compte ne couvrent pas le prix (ou les modes enregistrés n'ont pas pu être lus). Aucun jeton n'a été émis et rien n'a été facturé. La note indique la cause réelle lorsque le client peut agir dessus — le solde des fonds par rapport au prix, une devise de fonds qui ne peut pas payer le prix, ou un portefeuille sans rien de facturable — et reste générique uniquement lorsque les modes enregistrés n'ont pas pu être lus ; paymentMethods répertorie les modes enregistrés du compte afin que le client puisse choisir, ajouter un mode ou ajouter des fonds.

operationId est une chaîne simple — transmettez-la à async_operation_get, qui indique si l'enregistrement aboutit finalement ou échoue. Le price affiché à confirmation_required est exactement ce qui sera facturé lors de confirmationResponse: "accept" — price.amount est le total pour toute cette durée et price.pricedYears indique la durée, donc affichez toujours les deux ensemble. Lorsque le TLD comporte des frais ICANN, price.amount les inclut déjà et price.icannFee indique le montant des frais afin qu'ils puissent être expliqués.

Prépare un ou plusieurs liens de paiement Spaceship afin que vous puissiez acheter des domaines sur la propre page de paiement de Spaceship dans votre navigateur plutôt que dans le chat. Aucun domaine n'est enregistré et aucun montant n'est facturé par cet appel — vous vérifiez et payez sur la page, qui constitue l'étape de confirmation. Utilisez-le lorsque vous demandez un lien de paiement, lorsque l'achat direct dans le chat a échoué, ou lorsque vous souhaitez payer avec un mode de paiement que l'achat dans le chat ne peut pas utiliser. Si une tentative d'achat a peut-être déjà abouti, vérifiez d'abord domains_list et demandez un lien uniquement pour les domaines qui ne sont réellement pas enregistrés, sinon vous risquez de payer deux fois. Nécessite l'accès domains:billing.

Les paramètres donnés au niveau supérieur (years, autoRenew, contacts) s'appliquent à chaque élément. Un élément qui définit son propre years, autoRenew ou contacts les remplace pour ce domaine uniquement, et tout ce qu'il omet est hérité (les contacts d'un élément remplacent entièrement les contacts de niveau supérieur). Les contacts de niveau supérieur sont obligatoires : les contacts accompagnent le lien et sont déjà renseignés comme contacts du domaine lorsque vous l'ouvrez. Chaque domaine ne peut être listé qu'une seule fois, et il n'existe pas d'entrées pour le paiement, la devise ou la confidentialité WHOIS — la confidentialité WHOIS reste sur la valeur par défaut de la plateforme sur la page de paiement.

  • Paramètre : items

    Obligatoire : Oui

    Type et contraintes : Tableau de 1 à 20 éléments, chacun listé une seule fois.

  • Paramètre : items[].domain

    Obligatoire : Oui

    Type et contraintes : Nom de domaine pleinement qualifié à acheter, par ex. example.com. Accepte Unicode (IDN) ou ASCII (A-label) — normalisé automatiquement en punycode.

  • Paramètre : items[].years

    Obligatoire : Non

    Type et contraintes : Entier 1–10 ; remplace le years de niveau supérieur pour ce domaine.

  • Paramètre : items[].autoRenew

    Obligatoire : Non

    Type et contraintes : Booléen ; remplace le autoRenew de niveau supérieur pour ce domaine.

  • Paramètre : items[].contacts

    Obligatoire : Non

    Type et contraintes : Contacts pour ce domaine uniquement, sous forme de chaînes contactId (registrant, admin, tech, billing, attributes facultatif) ; remplacent entièrement les contacts de niveau supérieur.

  • Paramètre : years

    Obligatoire : Non

    Type et contraintes : Entier 1–10, appliqué à chaque élément qui ne définit pas le sien. Doit se situer dans la durée autorisée par le TLD (minRegisterPeriodInYears/maxRegisterPeriodInYears de domains_check_availability) ; les valeurs hors plage sont rejetées avec une erreur indiquant la plage autorisée, et non ajustées. Lorsque ni ce paramètre ni l'élément ne le définissent, la durée la plus courte du TLD est utilisée.

  • Paramètre : autoRenew

    Obligatoire : Non

    Type et contraintes : Booléen, appliqué à chaque élément qui ne définit pas le sien. La valeur par défaut est true.

  • Paramètre : contacts

    Obligatoire : Oui

    Type et contraintes : Contacts sous forme de chaînes contactId, appliqués à chaque élément qui ne définit pas les siens : registrant (obligatoire), admin, tech et billing (chacun prend par défaut la valeur de registrant), ainsi que attributes facultatif (une liste de jusqu'à 5 identifiants de contact d'attributs étendus, requise uniquement pour certains TLD). Prenez les identifiants depuis contacts_list, ou enregistrez d'abord les détails avec contacts_save.

Liens par appel. Un seul lien peut contenir au maximum 10 domaines, donc une liste plus longue renvoie plusieurs liens dans l'ordre de la requête — par exemple, 15 domaines produisent deux liens de 10 et 5. links[].domains indique quels domaines chaque lien couvre.

Prix. Chaque domaine comporte un prixestimé (le prix final est affiché sur la page de paiement) ou un priceUnavailableReason lorsqu'il ne peut pas être déterminé. Une estimation manquante n'empêche jamais l'émission d'un lien.

Paiement. Le mode de paiement est choisi sur la page. Les fonds du compte sont présélectionnés lorsque le compte en dispose.

Les liens sont réutilisables. Un lien n'expire pas et peut être ouvert plus d'une fois, alors ne le partagez avec personne d'autre.

Renvoie

{
"status": "links_ready",
"links": [
{
"url": "https://example.spaceship.com/pay/abc123",
"domains": [
{
"domain": "example.com",
"years": 1,
"autoRenew": true,
"price": { "amount": 9.08, "currency": "USD", "pricedYears": 1, "pricePerYear": 9.08, "icannFee": 0.2, "isPremium": false }
},
{
"domain": "example.ai",
"years": 2,
"autoRenew": false,
"priceUnavailableReason": "Price is currently unavailable for this domain."
}
]
}
],
"failed": [],
"note": "Nothing has been charged. ..."
}

  • status: links_ready

    Signification : Chaque domaine est couvert par un lien.

  • status: partial

    Signification : Certains domaines sont couverts ; les autres sont listés dans failed, chacun avec une reason (par exemple non disponible, extension non prise en charge, durée non autorisée, problème de contacts ou lien qui n'a pas pu être créé).

  • status: no_links

    Signification : Aucun lien n'a pu être préparé. Le résultat est signalé comme une erreur, failed indique pourquoi, et rien n'a été facturé.

Après que le client a indiqué avoir payé, appelez domains_list pour le domaine afin de confirmer qu'il est enregistré — ne considérez pas le lien seul comme une preuve d'achat.

domain_set_contacts — Définir les contacts du domaine

Modifie les contacts attribués à un domaine que vous possédez. S'exécute immédiatement (aucune opération à interroger).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Nom de domaine pleinement qualifié. Accepte Unicode (IDN) ou ASCII (A-label) — normalisé automatiquement en punycode.

  • Paramètre : registrant

    Obligatoire : Oui

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques), provenant de contacts_save.

  • Paramètre : admin

    Obligatoire : Non

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques) ou null.

  • Paramètre : tech

    Obligatoire : Non

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques) ou null.

  • Paramètre : billing

    Obligatoire : Non

    Type et contraintes : contactId chaîne (27–32 caractères alphanumériques) ou null.

  • Paramètre : attributes

    Obligatoire : Non

    Type et contraintes : Tableau d'identifiants de contact d'attributs étendus (jusqu'à 5) ; requis uniquement pour certains TLD, sinon omettez-le ou utilisez null.

Renvoie

{ "verificationStatus": "verification" }

La valeur renvoyée verificationStatus reflète la vérification d'e-mail ICANN RAA : verification — le titulaire doit confirmer son adresse e-mail (un e-mail de confirmation est envoyé) ; success — déjà confirmée ; null — la vérification RAA ne s'applique pas à ce domaine.

domain_set_nameservers — Définir les nameservers du domaine

Modifie les nameservers d'un domaine au niveau du registrar. S'exécute immédiatement (aucune opération à interroger). Le changement est ensuite reflété par domains_list.

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Nom de domaine pleinement qualifié. Accepte Unicode (IDN) ou ASCII (A-label) — normalisé automatiquement en punycode.

  • Paramètre : provider

    Obligatoire : Oui

    Type et contraintes : basic (nameservers par défaut de Spaceship) ou custom (vos propres hôtes).

  • Paramètre : hosts

    Obligatoire : Conditionnel

    Type et contraintes : Requis lorsque provider est custom : 2 à 12 noms d'hôte de nameserver (chacun étant un FQDN valide, de 4 à 255 caractères). Doit être omis lorsque provider est basic.

Renvoie

{ "provider": "custom", "hosts": ["ns1.example.com", "ns2.example.com"] }

Réappliquer l’état dans lequel un domaine se trouve déjà (par ex. définir basic alors qu’il est déjà en basic) renvoie une erreur de validation plutôt qu’un succès sans effet — considérez cela comme un résultat attendu, et non comme un échec nécessitant une nouvelle tentative.

Enregistrements DNS

Le domainName accepté par ces outils prend en charge l’Unicode (IDN) ou l’ASCII (A-label) et est automatiquement normalisé en punycode ; la prise en charge du TLD n’est pas appliquée ici.

dns_records_get — Obtenir les enregistrements DNS

Récupère une liste paginée des enregistrements de ressources DNS pour un domaine.

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont les enregistrements doivent être récupérés.

  • Paramètre : take

    Obligatoire : Non

    Type et contraintes : Éléments par page, 1–500. Valeur par défaut : 100.

  • Paramètre : skip

    Obligatoire : Non

    Type et contraintes : Éléments à ignorer, 0 ou plus. Valeur par défaut : 0.

  • Paramètre : orderBy

    Obligatoire : Non

    Type et contraintes : Jusqu’à 8 clés de tri : type, -type, name, -name.

Renvoie — { items, total }. Chaque élément est un enregistrement tel que décrit dans Formes d’enregistrement, avec en plus un champ facultatif group indiquant d’où provient l’enregistrement (custom — créé par vous, product — géré par un produit Spaceship, personalNs — serveurs de noms personnels).

dns_records_save — Enregistrer les enregistrements DNS

Ajoute des enregistrements DNS personnalisés ou met à jour le TTL de ceux qui existent déjà. Les enregistrements sont comparés sans tenir compte de la casse, sauf les enregistrements TXT (sensibles à la casse).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont les enregistrements doivent être mis à jour.

  • Paramètre : records

    Obligatoire : Oui

    Type et contraintes : 1–500 enregistrements — voir Formes d’enregistrement. Chacun peut inclure un ttl facultatif.

  • Paramètre : force

    Obligatoire : Non

    Type et contraintes : Booléen. Ignore la vérification de résolution des conflits et force la mise à jour de la zone.

Renvoie — { "saved": <number> }, le nombre d’enregistrements soumis. Une réponse réussie signifie que tous les enregistrements ont été acceptés ; si un seul échoue, l’appel entier renvoie une erreur à la place.

dns_records_delete — Supprimer les enregistrements DNS

Supprime des enregistrements DNS personnalisés. Les suppressions ne peuvent pas être annulées. Les enregistrements sont comparés sans tenir compte de la casse, sauf les enregistrements TXT (sensibles à la casse).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont les enregistrements doivent être supprimés.

  • Paramètre : records

    Obligatoire : Oui

    Type et contraintes : 1–500 enregistrements identifiant des enregistrements existants — mêmes formes que pour l’enregistrement, mais sans ttl.

Renvoie — { "deleted": <number> }, le nombre d’enregistrements soumis. Si un enregistrement ne peut pas être mis en correspondance, l’appel entier échoue et rien n’est supprimé.

Formes d’enregistrement

Chaque enregistrement comporte :

  • type — l’un des 13 types pris en charge ci-dessous.

  • name — le nom de l’enregistrement hors domaine : utilisez @ pour le domaine lui-même (apex) et * pour un joker.

  • ttl (enregistrement uniquement, facultatif) — durée de mise en cache en secondes, 60–3600.

Champs spécifiques au type :

  • Type : A

    Champs : address — adresse IPv4.

  • Type : AAAA

    Champs : address — adresse IPv6.

  • Type : CNAME

    Champs : cname — nom de domaine canonique (253 caractères max.).

  • Type : ALIAS

    Champs : aliasName — nom de domaine canonique ; comportement de type CNAME pour l’apex, là où CNAME n’est pas autorisé.

  • Type : NS

    Champs : nameserver — nom du serveur de noms.

  • Type : PTR

    Champs : pointer — nom de domaine pour l’adresse IP donnée.

  • Type : TXT

    Champs : value — valeur texte (comparée en respectant la casse).

  • Type : MX

    Champs : exchange — serveur de messagerie ; preference — priorité (0–65535, la plus basse étant préférée).

  • Type : CAA

    Champs : flag — 0 ou 128 (bit critique) ; tag — issue, issuewild ou iodef ; value — identifiant d’AC avec paramètres facultatifs.

  • Type : SRV

    Champs : service (par ex. _sip) ; protocol (par ex. _tcp) ; priority et weight (0–65535) ; port (1–65535) ; target — nom de domaine du serveur.

  • Type : TLSA

    Champs : usage, selector, matching (chacun 0–255) ; port — * ou _<1–65535> ; protocol (par ex. _tcp) ; associationData — hachage ou données du certificat.

  • Type : HTTPS

    Champs : svcPriority (0–65535 ; 0 = AliasMode) ; targetName — FQDN ou . ; facultatif port (* ou _<1–65535>), scheme (doit être _https lorsque port est défini), svcParams.

  • Type : SVCB

    Champs : svcPriority (0–65535 ; 0 = AliasMode) ; targetName — FQDN ou . ; facultatif port, scheme (par ex. _tcp), svcParams.

Opérations asynchrones

async_operation_get — Obtenir le statut d’une opération asynchrone

Vérifie une opération de longue durée démarrée par un autre outil (actuellement domain_register). Appelez-le avec operationId défini sur l’operationId renvoyé par cet outil, puis répétez jusqu’à ce que status soit success ou failed.

  • Paramètre : operationId

    Obligatoire : Oui

    Type et contraintes : Chaîne alphanumérique, 36 caractères max., renvoyée par l’outil qui a démarré l’opération.

Renvoie

  • Champ : operationId

    Signification : L’opération interrogée.

  • Champ : status

    Signification : pending, success ou failed.

  • Champ : type

    Signification : Type d’opération, ou null.

  • Champ : details

    Signification : Détails supplémentaires sur l’opération, ou null.

  • Champ : createdAt / modifiedAt

    Signification : Moment où l’opération a été créée / mise à jour pour la dernière fois (modifiedAt peut être null).

Erreurs

Lorsqu’un appel échoue, l’outil renvoie une erreur avec un code et un detail lisible par un humain expliquant ce qui s’est mal passé — par exemple une entrée invalide (un nom de domaine ou un ID de contact mal formé), un domaine ou un contact inexistant, ou un conflit avec l’état actuel. Si un outil est refusé parce que l’assistant n’a pas reçu l’accès nécessaire, reconnectez Spaceship MCP et approuvez l’accès demandé.

Une adresse e-mail valide est requise