Spaceship MCP — Verktøyreferanse

Spaceship MCP kobler AI-assistenten din (for eksempel Claude) til Spaceship-kontoen din. Gjennom den kan assistenten sjekke og registrere domener, administrere domenekontakter og lese eller redigere DNS-poster på dine vegne — du bare spør på vanlig språk, og assistenten kaller de riktige verktøyene.

Komme i gang

Du trenger en Spaceship-konto. Spaceship MCP er tilgjengelig på https://mcp.spaceship.com/mcp.

Hvordan du kobler til, avhenger av AI-assistenten din:

  • Claude (web og skrivebord) — åpne Innstillinger, velg Connectors, finn Spaceship i connector-katalogen og legg det til. Anthropic's Claude er for øyeblikket klienten vi har bekreftet at Spaceship MCP fungerer med.

    NB: Selv om domeneregistrering via Spaceship MCP er fullt støttet generelt, er denne funksjonen ennå ikke tilgjengelig gjennom Claude-connectoren spesifikt. Søk, domeneoppslag, kontaktadministrasjon og administrasjon av DNS-poster er allerede tilgjengelig og bekreftet å fungere med Claude i dag.

  • Andre MCP-klienter — legg til en ekstern MCP-server og pek den til https://mcp.spaceship.com/mcp. Andre klienter kan fungere, men vi har ikke bekreftet dem ennå.

Når du kobler til, blir du bedt om å logge på Spaceship og gi assistenten tilgang til kontoen din. Hvilke verktøy assistenten kan bruke, avhenger av tilgangen du godkjenner — hvis et verktøy avvises fordi tilgang ikke ble gitt, kobler du til på nytt og godkjenner tilgangen det trenger.

Verktøy i korte trekk

  • Verktøy: contacts_save

    Hva det gjør: Lagre kontaktopplysninger og få en kontakt-ID

  • Verktøy: contacts_get

    Hva det gjør: Leser en lagret kontakt etter ID-en dens

  • Verktøy: contacts_list

    Hva det gjør: Lister alle lagrede kontakter for å finne og gjenbruke en

  • Verktøy: domains_list

    Hva det gjør: Lister domenene dine, eller slår opp ett domene

  • Verktøy: domains_check_availability

    Hva det gjør: Sjekker om domener er tilgjengelige for registrering

  • Verktøy: domain_register

    Hva det gjør: Registrerer (kjøper) et domene — bruker penger

  • Verktøy: domain_set_contacts

    Hva det gjør: Tildeler kontakter til et domene du eier

  • Verktøy: domain_set_nameservers

    Hva det gjør: Bytter et domene til grunnleggende eller egendefinerte navneservere

  • Verktøy: dns_records_get

    Hva det gjør: Les DNS-poster for et domene

  • Verktøy: dns_records_save

    Hva det gjør: Legg til DNS-poster eller oppdater TTL-en deres

  • Verktøy: dns_records_delete

    Hva det gjør: Slett DNS-poster

  • Verktøy: async_operation_get

    Hva det gjør: Kontroller statusen til en langvarig operasjon

Kontakter: referert med ID

Der en kontakt er påkrevd (domain_register, domain_set_contacts), tar hver rolle en contactId-streng — aldri innebygde kontaktopplysninger. Lagre først kontakten med contacts_save (som returnerer dens contactId), og send deretter denne ID-en der kontakten godtas. Det finnes ingen innebygd automatisk lagring; en rolle kan ikke motta et fullstendig kontaktobjekt. Du kan også gjenbruke en contactId fra et contacts_list-resultat eller en du leser fra et domains_list-resultat.

En contactId er en streng på 27–32 alfanumeriske tegn. Bare send den tilbake der en kontakt godtas.

Vanlige arbeidsflyter

Flere verktøy er utformet for å brukes sammen: utdataene fra ett blir inndataene til det neste.

Registrer (kjøp) et domene

  1. contacts_save — lagre registrant-, admin-, tech- og faktureringskontaktene (hvis du ikke allerede har ID-ene deres) og behold den returnerte contactId for hver. Kontakter må eksistere før du kan registrere.

  2. domains_check_availability — sjekk navnet/navnene du vil ha. Fortsett bare når result er available. Hvert tilgjengelige navn inkluderer USD-price for å registrere det (både standard og premium), eller priceUnavailableReason når det ikke kan fastslås, pluss minRegisterPeriodInYears og maxRegisterPeriodInYears — perioden TLD-en tillater. Merk at price dekker price.pricedYears år, som er TLD-ens korteste tillatte periode og ikke alltid er 1.

  3. domain_register (forhåndsvisning) — kall med confirmationToken ikke satt for å få status: confirmation_required, en ny confirmationToken og price som vil bli belastet. Ingenting blir belastet. Verktøyets svarttekst er en fullstendig bekreftelse — periode, prisoversikt, automatisk fornyelse, WHOIS-personvern, betalingskilde og registrant-/admin-/tech-/faktureringskontaktene — vis den til brukeren som den er. Velg years mellom minRegisterPeriodInYears og maxRegisterPeriodInYears fra trinn 2 — en verdi utenfor området avvises direkte. Send hver kontaktrolle som contactId du lagret i trinn 1.

  4. domain_register (godta/avslå) — etter at brukeren godtar, kaller du igjen med nøyaktig de samme argumentene pluss den confirmationToken og confirmationResponse: "accept". Dette belaster kontoens standard betalingsmåte og kan ikke angres. Det returnerer umiddelbart med status: pending og en operationId — registreringen fullføres i bakgrunnen. For å avbryte i stedet, kall igjen med samme confirmationToken og confirmationResponse: "decline" — ingenting blir belastet. Tokenet utløper etter kort tid og er knyttet til de nøyaktige argumentene og prisen det ble utstedt for; hvis det mangler, er utløpt eller ikke lenger samsvarer, returnerer kallet en helt ny bekreftelse i stedet for en feil — aldri en belastning. Hvis prisen ikke kan fastslås i noen av kallene, returnerer verktøyet i stedet status: price_unavailable og ingenting blir belastet.

  5. async_operation_get — send operationId fra trinn 4 for å sjekke fremdriften. Gjenta til status blir success eller failed.

contacts_save ──▶ domains_check_availability ──▶ domain_register ──▶ domain_register ──▶ async_operation_get
(contactId ids) (available? + price + (token unset: (token + (pending →
min/maxRegisterPeriod) confirmation, accept: operationId, success/failed)
confirmationToken, pending)
no charge)

Oppdater kontaktene på et domene du eier

  1. domain_set_contacts — tildel kontakter til domenet etter contactId (lagre dem med contacts_save først ved behov). Dette fullføres umiddelbart og returnerer en verificationStatus: verification betyr at registranten må bekrefte e-postadressen sin før endringen trer fullt i kraft (en e-post sendes til vedkommende), success betyr at den allerede er bekreftet, og null betyr at ingen bekreftelse kreves for det domenet.

Endre et domenes navneservere

  1. domains_list — finn domenet og se dets nåværende nameservers ({ provider, hosts }).

  2. domain_set_nameservers — bytt det til Spaceships standard navneservere med provider: "basic" (ingen hosts), eller pek det til dine egne med provider: "custom" og en liste med 2–12 hosts. Det returnerer de resulterende { provider, hosts }, og en påfølgende domains_list gjenspeiler endringen. Å bruke på nytt en tilstand et domene allerede er i, returnerer en valideringsfeil i stedet for en no-op — behandle det som forventet, ikke som en feil som må prøves på nytt.

Administrer DNS-poster

  1. domains_list — finn domenet du vil administrere (eller send navnet direkte hvis du kjenner det).

  2. dns_records_get — les de gjeldende postene for domenet.

  3. dns_records_save eller dns_records_delete — legg til, oppdater eller fjern poster. Poster returnert av dns_records_get har samme form som lagre- og sletteverktøyene godtar (sletting utelater bare ttl), så assistenten kan lese, justere og skrive tilbake. Matching er ikke skille mellom store og små bokstaver, unntatt for TXT-poster, som skiller mellom store og små bokstaver.

Se gjennom porteføljen din

  • domains_list — bla gjennom alle domenene dine med sortering, eller hent ett enkelt domene etter navn. Hvert domene inkluderer utløpsdato, innstilling for automatisk fornyelse, status, navneservere, personvern og tildelte kontakt-ID-er.

  • contacts_list — bla gjennom alle kontaktene som er lagret på kontoen din for å finne og gjenbruke en eksisterende (etter kontakt-ID-en) i stedet for å opprette et duplikat.

  • contacts_get — slå opp detaljene bak en hvilken som helst kontakt-ID du ser på et domene eller i et contacts_list-resultat.

Verktøyreferanse

Hvert verktøy returnerer resultatet som strukturert JSON. Langvarige operasjoner (for øyeblikket bare domain_register) returnerer en operasjonsreferanse som kan spørres etter med async_operation_get; alle andre verktøy fullføres umiddelbart.

Kontakter

Kontakter er personene eller organisasjonene som er knyttet til en domeneregistrering (registrant, admin, tech, billing). En kontakt refereres overalt med sin kontakt-ID — en ugjennomsiktig streng.

contacts_save — Lagre kontakt

Lagrer kontaktopplysninger og returnerer den genererte kontakt-ID-en. Validering av noen felt (som stateProvince og postalCode) avhenger av det valgte landet.

  • Parameter: firstName

    Påkrevd: Ja

    Type og begrensninger: Streng, 1–64 tegn. Kan inneholde bindestreker og apostrofer.

  • Parameter: lastName

    Påkrevd: Ja

    Type og begrensninger: Streng, 1–64 tegn. Kan inneholde bindestreker og apostrofer.

  • Parameter: email

    Påkrevd: Ja

    Type og begrensninger: Gyldig e-postadresse, maks. 254 tegn.

  • Parameter: address1

    Påkrevd: Ja

    Type og begrensninger: Adresselinje 1. Streng, 1–128 tegn.

  • Parameter: city

    Påkrevd: Ja

    Type og begrensninger: Streng, 1–64 tegn.

  • Parameter: country

    Påkrevd: Ja

    Type og begrensninger: Landkode med to bokstaver (ISO 3166-1 alpha-2), f.eks. US.

  • Parameter: phone

    Påkrevd: Ja

    Type og begrensninger: Internasjonalt format +CountryCode.Number, f.eks. +1.2025551234. Maks. 32 tegn.

  • Parameter: organization

    Påkrevd: Nei

    Type og begrensninger: Navn på organisasjon/selskap. 1–128 tegn.

  • Parameter: address2

    Påkrevd: Nei

    Type og begrensninger: Adresselinje 2. 1–128 tegn.

  • Parameter: stateProvince

    Påkrevd: Nei

    Type og begrensninger: Navn på stat/provins, 1–64 tegn. Kan være påkrevd avhengig av landet.

  • Parameter: postalCode

    Påkrevd: Nei

    Type og begrensninger: 1–16 tegn. Kan være påkrevd avhengig av landet.

  • Parameter: phoneExt

    Påkrevd: Nei

    Type og begrensninger: Telefoninternnummer, 1–16 tegn.

  • Parameter: fax

    Påkrevd: Nei

    Type & begrensninger: Faksnummer, samme +CountryCode.Number-format, maks. 32 tegn.

  • Parameter: faxExt

    Påkrevd: Nei

    Type & begrensninger: Faksutvidelse, 1–16 tegn.

  • Parameter: taxNumber

    Påkrevd: Nei

    Type & begrensninger: Skattenummer, 1–32 tegn.

Returnerer

{ "contactId": "..." }

contactId (27–32 alfanumeriske tegn) er det du sender til domain_register, domain_set_contacts og contacts_get.

contacts_get — Hent kontakt

Leser detaljene for en lagret kontakt etter kontakt-ID-en. Kontakt-ID-er kommer fra contacts_save, contacts_list eller feltet contacts i resultater fra domains_list.

  • Parameter: contactId

    Påkrevd: Ja

    Type & begrensninger: Kontakt-ID, 27–32 alfanumeriske tegn.

Returnerer{ contact } med:

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

    Type: Streng

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

    Type: Streng eller null

contacts_list — List kontakter

Lister alle kontakter som er lagret under kontoen din, slik at du kan finne og gjenbruke en eksisterende kontakt (etter kontakt-ID-en) i stedet for å opprette et duplikat eller lete gjennom domenene dine. Listen er paginert og sorterbar, i samsvar med domains_list.

  • Parameter: take

    Påkrevd: Nei

    Type & begrensninger: Elementer per side, 1–100. Standard er 10.

  • Parameter: skip

    Påkrevd: Nei

    Type & begrensninger: Elementer som skal hoppes over, 0 eller flere. Standard er 0.

  • Parameter: orderBy

    Påkrevd: Nei

    Type & begrensninger: Opptil 8 sorteringsnøkler: name, email, organization; prefiks med - for synkende rekkefølge (f.eks. -name).

Returnerer{ items, total } der total er antallet unike kontakter på kontoen (duplikater fjernet etter kontakt-ID, ikke sidestørrelsen), og hvert element inneholder nok informasjon til å skille kontakter fra hverandre uten et oppfølgingskall. Hvis kontoen har duplikatoppføringer for samme kontakt-ID, slås de sammen til én, så total teller distinkte kontakter i stedet for rå serverrader:

  • Felt: contactId

    Type: Streng (27–32 alfanumeriske). Send til contacts_get, domain_register eller domain_set_contacts.

  • Felt: name

    Type: Streng — kontaktens navn.

  • Felt: email

    Type: Streng eller null når kontakten ikke har noen e-post registrert.

  • Felt: organization

    Type: Streng eller null når kontakten ikke har noen organisasjon registrert.

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

Domener

Inndata for domenenavn (domain/domainName) godtar Unicode (IDN) eller ASCII (A-label) — uansett normaliserer verktøyet navnet til punycode automatisk før bruk. domains_check_availability og domain_register krever i tillegg en TLD som Spaceship støtter for registrering: et domene med en TLD som ikke støttes, behandles som ikke tilgjengelig i stedet for å bli sjekket eller belastet. De andre domeneverktøyene (domains_list, domain_set_contacts, domain_set_nameservers) og DNS-verktøyene normaliserer bare navnet og avviser aldri på grunn av TLD-støtte.

domains_list — List domener

Henter en paginert liste over domenene dine. Send domain for å hente ett enkelt domene etter navn i stedet (paginering og sortering ignoreres da, og resultatet inkluderer en note som sier dette hvis de ble oppgitt).

  • Parameter: domain

    Påkrevd: Nei

    Type & begrensninger: Fullt kvalifisert domenenavn for å hente ett enkelt domene. Godtar Unicode (IDN) eller ASCII (A-label) — normaliseres automatisk til punycode.

  • Parameter: take

    Påkrevd: Nei

    Type & begrensninger: Elementer per side, 1–100. Standard er 10.

  • Parameter: skip

    Påkrevd: Nei

    Type & begrensninger: Elementer som skal hoppes over, 0 eller flere. Standard er 0.

  • Parameter: orderBy

    Påkrevd: Nei

    Type & begrensninger: Opptil 8 sorteringsnøkler: name, unicodeName, registrationDate, expirationDate; prefiks med - for synkende rekkefølge (f.eks. -expirationDate).

Returnerer{ items, total } der hvert element beskriver et domene:

  • Felt: name / unicodeName

    Betydning: Domenenavn i ASCII- og Unicode-form.

  • Felt: isPremium

    Betydning: Om domenet er et premiumnavn.

  • Felt: autoRenew

    Betydning: Om automatisk fornyelse er aktivert.

  • Felt: registrationDate / expirationDate

    Betydning: Tidsstempler for registrering og utløp.

  • Felt: lifecycleStatus

    Betydning: creating, registered, grace1, grace2 eller redemption.

  • Felt: verificationStatus

    Betydning: verification, success, failed eller null når det ikke er aktuelt.

  • Felt: eppStatuses

    Betydning: Statuskoder fra registeret (f.eks. overføringslåser).

  • Felt: suspensions

    Betydning: Aktive suspensjoner, hver med en reasonCode.

  • Felt: privacyProtection

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

  • Felt: nameservers

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

  • Felt: contacts

    Betydning: Kontakt-ID-er: registrant, pluss admin/tech/billing (kan være null) og attributes (en liste over kontakt-ID-er for utvidede attributter, eller null). Kan leses via contacts_get.

Spaceship MCP fyller ut hvert felt ovenfor — inkludert contacts, eppStatuses, suspensions, verificationStatus, nameservers, en reell autoRenew og en egen unicodeName der domenet har en — både for lister med flere elementer og henting av enkelt-domener.

domains_check_availability — Sjekk domenetilgjengelighet

Sjekker om ett eller flere domenenavn er tilgjengelige for registrering. Bruker endepunktet for enkelt-domene for ett navn og bulk-endepunktet for flere. Et domene med en TLD som ikke støttes for registrering, sendes ikke til tilgjengelighetssjekken i det hele tatt — det returneres umiddelbart som tldNotSupported.

  • Parameter: domains

    Påkrevd: Ja

    Type & begrensninger: 1–20 fullt kvalifiserte domenenavn. Hvert navn godtar Unicode (IDN) eller ASCII (A-label) — normaliseres automatisk til punycode.

Returnerer{ results }, én oppføring per forespurte navn:

  • Felt: domain

    Betydning: Navnet som ble sjekket.

  • Felt: result

    Betydning: available, taken, invalidDomainName, tldNotSupported eller unexpectedError.

  • Felt: premiumPricing

    Betydning: For premiumnavn: liste over { operation, price, currency } der operation er register, transfer, renew eller restore. Tom for vanlige navn.

  • Felt: price

    Betydning: For available navn (standard og premium): USD-prisen for å registrere domenet for den korteste perioden TLD-en tillater{ amount, currency: "USD", pricedYears?, pricePerYear?, icannFee?, isPremium }. amount er totalbeløpet som skal betales for hele perioden; pricedYears angir hvor mange år det dekker. Ingen pris før rabatt eller "førpris" rapporteres. icannFee er ICANN-avgiften (USD) som allerede er inkludert i amount, returnert separat slik at oppdelingen kan forklares; den vises bare når TLD-en har en avgift.

  • Felt: pricePerYear

    Betydning: Inne i price: amount delt på pricedYears, slik at et årlig tall alltid er tilgjengelig for sammenligning. Når pricedYears er 1, er det den faktiske ettårsprisen; over det er det et gjennomsnitt per år for perioden, ikke en periode du kan kjøpe.

  • Felt: minRegisterPeriodInYears / maxRegisterPeriodInYears

    Betydning: For available navn: den korteste og lengste registreringsperioden som TLD-en faktisk tillater, som to vanlige tall. Bruk dem til å velge en gyldig years for domain_register. Begge utelates når den tillatte perioden ikke kunne fastslås.

  • Felt: priceUnavailableReason

    Betydning: Vises i stedet for price når prisen ikke kunne fastslås for et tilgjengelig navn. Selve sjekken lykkes fortsatt.

Bare tilgjengelige navn får pris; taken/ugyldige resultater har verken price eller priceUnavailableReason.

De fleste TLD-er tillater ett år, men noen gjør det ikke..ai har for eksempel et minimum på to år. For disse er price.amount totalen for minimumsperioden — ikke en ettårspris du kan bruke — og price.pricedYears sier dette:

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

pricePerYear er til stede her — 159.96 delt på de to årene det dekker gir 79.98. Dette er totalen delt på perioden, ikke en pris du kunne betalt for ett enkelt år (en ettårig .ai-registrering kan ikke kjøpes). Vis alltid amount sammen med pricedYears ("$159.96 for 2 år"), aldri amount alene. For en vanlig TLD er pricedYears1 og pricePerYear er lik amount.

domain_register — Registrer domene

Registrerer (kjøper) et domene. Dette belaster kontoens standard betalingsmetode og kan ikke angres. Anbefalt rekkefølge: domains_check_availabilitydomain_register. Et domene med en TLD som ikke støttes for registrering, avvises umiddelbart — før eventuell tilgjengelighetssjekk, prising eller belastning.

years må være innenfor TLD-ens egen tillatte periode. Grensen 110 nedenfor er den ytre grensen på tvers av alle TLD-er; hver TLD er smalere. .ai tillater 2–10, .co og .io tillater 1–5, .sg 1–2, .fr nøyaktig 1. En years utenfor dette området blir avvist med en valideringsfeil som oppgir det tillatte området — før eventuell tilgjengelighetssjekk, prising eller belastning — og verdien blir ikke stille justert for deg:

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

Les minRegisterPeriodInYears/maxRegisterPeriodInYears fra domains_check_availability først og velg en years innenfor dette. Den samme sjekken kjøres på nytt ved bekreftelseskallet (confirmationResponse: "accept"), så den kan aldri omgås ved å bekrefte.

Bekreftelse i to trinn før belastning. Kall først med confirmationToken ikke satt: verktøyet priser domenet på nytt, bygger en full bekreftelse — periode, prisoppdeling (inkludert eventuell ICANN-avgift og om domenet er premium), automatisk fornyelse, WHOIS-personvern, betalingskilde og registrant-/admin-/tech-/billing-kontaktene (en kontakt som er identisk med registranten vises som "same as registrant") — og returnerer status: "confirmation_required" med denne price og en ny confirmationToken. Ingenting registreres eller belastes i dette kallet. Den fullstendige bekreftelsen er verktøyets svarttekst; vis den til brukeren som den er. Når de godtar, kaller du igjen med nøyaktig de samme argumentene pluss denne confirmationToken og confirmationResponse: "accept" for å sende inn kjøpet, eller confirmationResponse: "decline" for å avbryte det — ingenting belastes ved avslag. Tokenet er bundet til disse nøyaktige argumentene og den oppgitte prisen og utløper etter kort tid: et manglende, utløpt, manipulert eller ikke lenger samsvarende token i bekreftelseskallet returnerer ganske enkelt en helt ny bekreftelse med et nytt token — aldri en feil, aldri en belastning. Hvis prisen ikke kan fastslås i noen av kallene, returnerer verktøyet status: "price_unavailable" i stedet for et token og belaster aldri; prøv igjen senere. Et bekreftet kall returnerer umiddelbart med status: "pending" og en operationId — registreringen fullføres i bakgrunnen; sjekk den med async_operation_get.

  • Parameter: domain

    Påkrevd: Ja

    Type & begrensninger: Fullt kvalifisert domenenavn som skal registreres, f.eks. example.com. Godtar Unicode (IDN) eller ASCII (A-label) — normaliseres automatisk til punycode.

  • Parameter: years

    Påkrevd: Ja

    Type & begrensninger: Registreringsperiode i år. 110 er den ytre grensen; det godkjente området er TLD-ens eget — se minRegisterPeriodInYears/maxRegisterPeriodInYears fra domains_check_availability. Verdier utenfor området avvises, ikke justeres.

  • Parameter: autoRenew

    Påkrevd: Ja

    Type & begrensninger: Boolsk. Når true, fornyes domenet automatisk ved utløp ved hjelp av kontoens standard betalingsmetode.

  • Parameter: privacy.level

    Påkrevd: Ja

    Type & begrensninger: high skjuler registrantens kontaktopplysninger fra offentlig WHOIS; public publiserer dem.

  • Parameter: privacy.userConsent

    Påkrevd: Ja

    Type & begrensninger: Boolsk. Må bekrefte at du godtar den valgte personverninnstillingen.

  • Parameter: contacts.registrant

    Påkrevd: Ja

    Type & begrensninger: contactId-streng (27–32 alfanumeriske tegn), fra contacts_save.

  • Parameter: contacts.admin

    Påkrevd: Ja

    Type & begrensninger: contactId-streng (27–32 alfanumeriske tegn), fra contacts_save.

  • Parameter: contacts.tech

    Påkrevd: Ja

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn), fra contacts_save.

  • Parameter: contacts.billing

    Påkrevd: Ja

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn), fra contacts_save.

  • Parameter: contacts.attributes

    Påkrevd: Nei

    Type og begrensninger: Array med kontakt-ID-er for utvidede attributter (opptil 5); kreves bare for visse TLD-er, utelat eller null ellers.

  • Parameter: confirmationToken

    Påkrevd: Nei

    Type og begrensninger: Streng, opptil 4096 tegn. Serverutstedt token returnert av et tidligere domain_register-kall for nøyaktig disse argumentene. Utelat ved første kall for et nytt registreringsforsøk. Utløper etter kort tid og er bundet til de nøyaktige argumentene og prisen det ble utstedt for — send det på nytt uendret, sammen med confirmationResponse, for å handle på det.

  • Parameter: confirmationResponse

    Påkrevd: Betinget

    Type og begrensninger: "accept" eller "decline". Har bare betydning sammen med en gyldig confirmationToken. "accept" sender inn registreringen (som faktureres) som vises i den bekreftelsen; "decline" avbryter den uten belastning. Utelat ved første kall.

Returnerer — etter første kall (ingenting belastet):

{
"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": "v1.eyJ2IjoxLCJwIjoi...aWQiOjF9.9F3q7z_5c8Vb...",
"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."
}

Sammen med denne JSON-en er verktøyets tekst-svar den fullstendige bekreftelsen som skal vises til brukeren — den gjentar domenet, perioden og prisen ovenfor, pluss linjer for Auto-renew: on/off, WHOIS privacy: on/off, Payment source: Spaceship account funds, og hver av registrant-/admin-/tech-/billing-kontaktene (navn, e-post, land — en kontakt som samsvarer med registranten vises som "same as registrant"), etterfulgt av instruksjoner for neste kall. For en flerårig periode er price.amount totalen for hele perioden og price.pricePerYear er totalen delt på perioden — f.eks. years: 5.com returnerer { "amount": 48.52, "pricedYears": 5, "pricePerYear": 9.70 }, og example.ai med years: 2 returnerer { "amount": 159.96, "pricedYears": 2, "pricePerYear": 79.98 }.

Returnerer — etter confirmationResponse: "accept" (registrering sendt inn):

{
"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."
}

Returnerer — etter confirmationResponse: "decline" (ingenting belastet):

{
"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."
}

Returnerer — hvis prisen ikke kan fastslås, ved begge kall:

{
"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."
}

status kan være:

  • Status: confirmation_required

    Betydning: Forhåndsvisning — ingenting belastet. Vis svarteksten til brukeren, og kall deretter på nytt med denne confirmationToken og confirmationResponse. Returneres også, med et nytt token, når et innsendt confirmationToken mangler, er utløpt, manipulert eller ikke lenger samsvarer med gjeldende argumenter/pris — aldri en feil.

  • Status: cancelled

    Betydning: Kjøpet ble avslått (confirmationResponse: "decline"), så ingenting ble sendt inn.

  • Status: pending

    Betydning: Sendt inn; registeret fullfører i bakgrunnen. Poll async_operation_get med operationId.

  • Status: price_unavailable

    Betydning: Prisen kunne ikke fastslås, så ingen token ble utstedt og ingenting ble fakturert. Prøv igjen senere.

operationId er en flat streng — send den til async_operation_get, som rapporterer om registreringen til slutt lykkes eller mislykkes. price som vises ved confirmation_required er nøyaktig det som vil bli belastet ved confirmationResponse: "accept"price.amount er totalen for hele perioden og price.pricedYears angir perioden, så vis alltid disse to sammen. Når TLD-en har et ICANN-gebyr, inkluderer price.amount det allerede, og price.icannFee angir gebyrbeløpet slik at det kan forklares.

domain_set_contacts — Angi domenekontakter

Endrer kontaktene som er tilordnet et domene du eier. Fullføres umiddelbart (ingen operasjon å polle).

  • Parameter: domainName

    Påkrevd: Ja

    Type og begrensninger: Fullt kvalifisert domenenavn. Godtar Unicode (IDN) eller ASCII (A-label) — normaliseres automatisk til punycode.

  • Parameter: registrant

    Påkrevd: Ja

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn), fra contacts_save.

  • Parameter: admin

    Påkrevd: Nei

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn) eller null.

  • Parameter: tech

    Påkrevd: Nei

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn) eller null.

  • Parameter: billing

    Påkrevd: Nei

    Type og begrensninger: contactId streng (27–32 alfanumeriske tegn) eller null.

  • Parameter: attributes

    Påkrevd: Nei

    Type og begrensninger: Array med kontakt-ID-er for utvidede attributter (opptil 5); kreves bare for visse TLD-er, utelat eller null ellers.

Returnerer

{ "verificationStatus": "verification" }

Den returnerte verificationStatus gjenspeiler ICANN RAA-e-postverifisering: verification — registranten må bekrefte e-postadressen sin (en bekreftelses-e-post sendes); success — allerede bekreftet; null — RAA-verifisering gjelder ikke for dette domenet.

domain_set_nameservers — Angi domenenavneservere

Endrer et domenes navneservere på registrar-nivå. Fullføres umiddelbart (ingen operasjon å polle). Endringen gjenspeiles av domains_list etterpå.

  • Parameter: domainName

    Påkrevd: Ja

    Type og begrensninger: Fullt kvalifisert domenenavn. Godtar Unicode (IDN) eller ASCII (A-label) — normaliseres automatisk til punycode.

  • Parameter: provider

    Påkrevd: Ja

    Type og begrensninger: basic (Spaceships standardnavneservere) eller custom (dine egne verter).

  • Parameter: hosts

    Påkrevd: Betinget

    Type og begrensninger: Påkrevd når provider er custom: 2–12 vertsnavn for navneservere (hver et gyldig FQDN, 4–255 tegn). Må utelates når provider er basic.

Returnerer

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

Å bruke på nytt en tilstand et domene allerede er i (f.eks. å sette basic når det allerede er basic) returnerer en valideringsfeil i stedet for en vellykket no-op — behandle det som et forventet resultat, ikke som en feil som skal prøves på nytt.

DNS-poster

Disse verktøyenes domainName godtar Unicode (IDN) eller ASCII (A-label) og normaliseres automatisk til punycode; TLD-støtte håndheves ikke her.

dns_records_get — Hent DNS-poster

Henter en paginert liste over DNS-ressursposter for et domene.

  • Parameter: domainName

    Påkrevd: Ja

    Type og begrensninger: Domenet hvis poster skal hentes.

  • Parameter: take

    Påkrevd: Nei

    Type og begrensninger: Elementer per side, 1–500. Standard 100.

  • Parameter: skip

    Påkrevd: Nei

    Type og begrensninger: Elementer som skal hoppes over, 0 eller flere. Standard 0.

  • Parameter: orderBy

    Påkrevd: Nei

    Type og begrensninger: Opptil 8 sorteringsnøkler: type, -type, name, -name.

Returnerer{ items, total }. Hvert element er en post som beskrevet i Postformer, pluss et valgfritt group-felt som angir hvor posten kommer fra (custom — opprettet av deg, product — administrert av et Spaceship-produkt, personalNs — personlige navneservere).

dns_records_save — Lagre DNS-poster

Legger til egendefinerte DNS-poster eller oppdaterer TTL-en til eksisterende poster. Poster matches uten hensyn til store og små bokstaver, unntatt TXT-poster (skiller mellom store og små bokstaver).

  • Parameter: domainName

    Påkrevd: Ja

    Type og begrensninger: Domenet hvis poster skal oppdateres.

  • Parameter: records

    Påkrevd: Ja

    Type og begrensninger: 1–500 poster — se Postformer. Hver kan inkludere en valgfri ttl.

  • Parameter: force

    Påkrevd: Nei

    Type og begrensninger: Boolsk. Hopper over kontrollen for konfliktløsning og tvinger soneoppdateringen.

Returnerer{ "saved": <number> }, antallet innsendte poster. Et vellykket svar betyr at alle poster ble godtatt; hvis en post mislykkes, returnerer hele kallet en feil i stedet.

dns_records_delete — Slett DNS-poster

Sletter egendefinerte DNS-poster. Slettinger kan ikke angres. Poster matches uten hensyn til store og små bokstaver, unntatt TXT-poster (skiller mellom store og små bokstaver).

  • Parameter: domainName

    Påkrevd: Ja

    Type og begrensninger: Domenet hvis poster skal slettes.

  • Parameter: records

    Påkrevd: Ja

    Type og begrensninger: 1–500 poster som identifiserer eksisterende poster — samme former som ved lagring, men uten ttl.

Returnerer{ "deleted": <number> }, antallet innsendte poster. Hvis en post ikke kan matches, mislykkes hele kallet og ingenting slettes.

Postformer

Hver post har:

  • type — en av de 13 støttede typene nedenfor.

  • name — postnavnet uten domenet: bruk @ for selve domenet (apex) og * for jokertegn.

  • ttl (kun lagring, valgfritt) — cachetid i sekunder, 60–3600.

Typespesifikke felt:

  • Type: A

    Felt: address — IPv4-adresse.

  • Type: AAAA

    Felt: address — IPv6-adresse.

  • Type: CNAME

    Felt: cname — kanonisk domenenavn (maks. 253 tegn).

  • Type: ALIAS

    Felt: aliasName — kanonisk domenenavn; CNAME-lignende oppførsel for apex, der CNAME ikke er tillatt.

  • Type: NS

    Felt: nameserver — navneservernavn.

  • Type: PTR

    Felt: pointer — domenenavn for den angitte IP-adressen.

  • Type: TXT

    Felt: value — tekstverdi (matches med hensyn til store og små bokstaver).

  • Type: MX

    Felt: exchange — e-postserver; preference — prioritet (0–65535, lavere foretrekkes).

  • Type: CAA

    Felt: flag0 eller 128 (kritisk bit); tagissue, issuewild, eller iodef; value — CA-identifikator med valgfrie parametere.

  • Type: SRV

    Felt: service (f.eks. _sip); protocol (f.eks. _tcp); priority og weight (0–65535); port (1–65535); target — serverens domenenavn.

  • Type: TLSA

    Felt: usage, selector, matching (hver 0–255); port* eller _<165535>; protocol (f.eks. _tcp); associationData — sertifikathash eller data.

  • Type: HTTPS

    Felt: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN eller .; valgfri port (* eller _<165535>), scheme (må være _https når port er satt), svcParams.

  • Type: SVCB

    Felt: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN eller .; valgfri port, scheme (f.eks. _tcp), svcParams.

Asynkrone operasjoner

async_operation_get — Hent status for asynkron operasjon

Kontrollerer en langvarig operasjon startet av et annet verktøy (for øyeblikket domain_register). Kall det med operationId satt til operationId som verktøyet returnerte, og gjenta til status er success eller failed.

  • Parameter: operationId

    Påkrevd: Ja

    Type og begrensninger: Alfanumerisk streng, maks. 36 tegn, returnert av verktøyet som startet operasjonen.

Returnerer

  • Felt: operationId

    Betydning: Operasjonen det spørres etter status for.

  • Felt: status

    Betydning: pending, success eller failed.

  • Felt: type

    Betydning: Operasjonstype, eller null.

  • Felt: details

    Betydning: Ekstra detaljer om operasjonen, eller null.

  • Felt: createdAt / modifiedAt

    Betydning: Når operasjonen ble opprettet / sist oppdatert (modifiedAt kan være null).

Feil

Når et kall mislykkes, returnerer verktøyet en feil med en kode og en menneskelesbar detail som forklarer hva som gikk galt — for eksempel ugyldig inndata (et feilformatert domenenavn eller kontakt-ID), et domene eller en kontakt som ikke finnes, eller en konflikt med gjeldende tilstand. Hvis et verktøy avvises fordi assistenten ikke fikk tilgang til det, kobler du til Spaceship MCP på nytt og godkjenner tilgangen det ber om.

En gyldig e-postadresse er påkrevd