Download OpenAPI specification:
ムームードメインの外部連携用 API です。
MeAPI を試す環境として https://api-sandbox.muumuu-domain.com を公開しています。本番DBとは分離されており、テスト用 Personal Access Token(PAT)を curl で自己発行できます。
Quickstart
サンドボックス用のテストアカウントを発行する
curl -X POST https://api-sandbox.muumuu-domain.com/sandbox/signup \
-H 'Content-Type: application/json' \
-d '{"email":"partner@example.com"}'
応答例: 201 { "data": { "muu_id": "xxxxxxxxxxxx", "password": "<password>" } }
※ muu_id と password はレスポンス受信時に必ず保存してください。再発行はできません。
受け取った muu_id と password で PAT を発行する
curl -X POST https://api-sandbox.muumuu-domain.com/sandbox/personal-access-tokens \
-u '<muu_id>:<password>' \
-H 'Content-Type: application/json' \
-d '{"name":"my-test","scopes":["domains:read"],"expires_in":604800}'
応答例: 201 { "data": { "token": "muu_pat_sandbox_xxx", ... } }
発行された PAT を Authorization: Bearer ヘッダで MeAPI に渡す
curl https://api-sandbox.muumuu-domain.com/api/v2/me/domains \
-H 'Authorization: Bearer muu_pat_sandbox_xxx'
制約・上限
domains:read, domains:search, dns:read, dns:writeexpires_in のデフォルト 7 日 / 最大 30 日(無期限不可)muu_pat_sandbox_ プレフィックスを持つ PAT は本番環境(muumuu-domain.com)では受け付けられません認証ユーザーが保有するドメインの一覧を取得します。 ドメイン名(FQDN)、状態、契約情報などを含みます。
fqdn パラメータでFQDN完全一致のドメインを検索できます(例: ?fqdn=example.com)。
state パラメータでドメインの状態(有効・無効など)をフィルタリングできます。
ページネーションに対応しており、page と page-size パラメータで取得範囲を指定できます。
認証トークンからアカウントを自動識別するため、自分が保有するドメインのみ取得可能です。
| page | integer >= 1 Default: 1 Example: page=1 ページ番号(1始まり) |
| page-size | integer [ 1 .. 100 ] Default: 20 Example: page-size=20 1ページあたりの件数(最大100件) |
| fqdn | string <= 253 characters Example: fqdn=example.com FQDN(完全修飾ドメイン名)で完全一致フィルタリング。
指定した場合、そのFQDNに一致するドメインのみを返します。
例: |
| state | string Enum: "active" "inactive" "pending-setup" "pending-transfer" "pending-bulk" ドメイン状態でフィルタリング。
|
{- "data": [
- {
- "id": "MU00000001",
- "sld": "example",
- "tld": "com",
- "fqdn": "example.com",
- "state": "active",
- "setup-state": "acquired",
- "registrar": "onamae",
- "whois-proxy-enabled": true,
- "auto-renew-enabled": true,
- "is-japanese-domain": false,
- "contract": {
- "id": "MC00000001",
- "state": "new",
- "term": 1,
- "start-date": "2025-01-01T00:00:00+09:00",
- "end-date": "2026-01-01T00:00:00+09:00"
}
}
], - "meta": {
- "total": 1,
- "page": 1,
- "page-size": 20
}
}指定したドメインの詳細情報を取得します。 ドメイン名、状態、レジストラ、WHOIS代理公開設定、自動更新設定、契約情報などを含みます。
認証トークンからアカウントを自動識別し、自分が保有するドメインのみ取得可能です。
| domain-id required | string <= 11 characters ^MU[0-9]{8}$ Example: MU00000001 ドメインID(MU + 8桁の数字、例: MU00000001) |
{- "data": {
- "id": "MU00000001",
- "sld": "example",
- "tld": "com",
- "fqdn": "example.com",
- "state": "active",
- "setup-state": "acquired",
- "registrar": "onamae",
- "whois-proxy-enabled": true,
- "auto-renew-enabled": true,
- "is-japanese-domain": false,
- "contract": {
- "id": "MC00000001",
- "state": "new",
- "term": 1,
- "start-date": "2025-01-01T00:00:00+09:00",
- "end-date": "2026-01-01T00:00:00+09:00"
}
}
}指定したドメインのDNSレコード一覧を取得します。 A、AAAA、CNAME、MX、TXT、NS、ALIASレコードを含みます(SOAレコードは除外)。
type パラメータでレコードタイプ(A、MX等)をフィルタリングできます。
fqdn パラメータで特定のFQDNに完全一致するレコードのみ取得できます。
認証トークンからアカウントを自動識別し、自分が保有するドメインのDNSレコードのみ取得可能です。
| domain-id required | string <= 11 characters ^MU[0-9]{8}$ Example: MU00000001 ドメインID(MU + 8桁の数字、例: MU00000001) |
| type | string (DnsRecordType) Enum: "A" "AAAA" "CNAME" "MX" "TXT" "NS" "ALIAS" "SRV" "CAA" Example: type=A レコードタイプでフィルタリング。 指定可能な値: A, AAAA, CNAME, MX, TXT, NS, ALIAS |
| fqdn | string [ 1 .. 253 ] characters ^[a-zA-Z0-9._-]+$ Example: fqdn=www.example.com. FQDN(完全修飾ドメイン名)でフィルタリング(完全一致、末尾にドット付き) |
| page | integer >= 1 Default: 1 Example: page=1 ページ番号(1始まり) |
| page-size | integer [ 1 .. 100 ] Default: 20 Example: page-size=20 1ページあたりの件数(最大100件) |
{- "data": [
- {
- "id": 1,
- "fqdn": "www.example.com.",
- "type": "A",
- "value": "192.0.2.1",
- "ttl": 3600,
- "created-at": "2025-01-15T09:00:00+09:00",
- "updated-at": "2025-01-15T09:00:00+09:00"
}, - {
- "id": 2,
- "fqdn": "mail.example.com.",
- "type": "MX",
- "value": "mail.example.com.",
- "ttl": 3600,
- "priority": 10,
- "created-at": "2025-01-15T09:00:00+09:00",
- "updated-at": "2025-01-15T09:00:00+09:00"
}
], - "meta": {
- "total": 2,
- "page": 1,
- "page-size": 20
}
}指定したドメインに新しいDNSレコードを作成します。
作成可能なレコードタイプ: A, AAAA, CNAME, MX, TXT, NS, ALIAS。
MXレコードの場合は priority フィールドが必須です(0〜65535)。
CNAMEレコードは同一FQDNに他のレコードタイプと共存できません(RFC 1034準拠)。
認証トークンからアカウントを自動識別し、自分が保有するドメインのみ操作可能です。
| domain-id required | string <= 11 characters ^MU[0-9]{8}$ Example: MU00000001 ドメインID(MU + 8桁の数字、例: MU00000001) |
| fqdn required | string [ 1 .. 255 ] characters ^([a-zA-Z0-9_]([a-zA-Z0-9_-]{0,61}[a-zA-Z0-9_... 完全修飾ドメイン名(FQDN)。 末尾にドット(.)を含む。 |
| type required | string (DnsRecordType) Enum: "A" "AAAA" "CNAME" "MX" "TXT" "NS" "ALIAS" "SRV" "CAA" DNSレコードタイプ |
| value required | string (DnsRecordValue) [ 1 .. 4096 ] characters レコード値。Route53の バリデーションパターン(実装時に使用):
|
| priority | integer <int32> [ 0 .. 65535 ] 優先度(MXレコード用) |
{- "fqdn": "www.example.com.",
- "type": "A",
- "value": "192.0.2.1",
- "ttl": 3600
}{- "data": {
- "id": 1,
- "fqdn": "www.example.com.",
- "type": "A",
- "value": "192.0.2.1",
- "ttl": 3600,
- "created-at": "2025-01-15T09:00:00+09:00",
- "updated-at": "2025-01-15T09:00:00+09:00"
}
}指定したDNSレコードを部分更新します。
value、ttl、priority(MXレコードのみ)を変更できます。
fqdn と type は変更できません。変更が必要な場合は削除後に再作成してください。
認証トークンからアカウントを自動識別し、自分が保有するドメインのみ操作可能です。
| domain-id required | string <= 11 characters ^MU[0-9]{8}$ Example: MU00000001 ドメインID(MU + 8桁の数字、例: MU00000001) |
| record-id required | integer <int64> Example: 1 DNSレコードID(整数) |
| value | string (DnsRecordValue) [ 1 .. 4096 ] characters レコード値。Route53の バリデーションパターン(実装時に使用):
|
| priority | integer <int32> [ 0 .. 65535 ] 優先度(MXレコード用) |
{- "value": "192.0.2.2",
- "ttl": 7200
}{- "data": {
- "id": 1,
- "fqdn": "www.example.com.",
- "type": "A",
- "value": "192.0.2.2",
- "ttl": 7200,
- "created-at": "2025-01-15T09:00:00+09:00",
- "updated-at": "2025-01-15T10:00:00+09:00"
}
}指定したDNSレコードを削除します。 SOAレコードは削除できません。
認証トークンからアカウントを自動識別し、自分が保有するドメインのみ操作可能です。
| domain-id required | string <= 11 characters ^MU[0-9]{8}$ Example: MU00000001 ドメインID(MU + 8桁の数字、例: MU00000001) |
| record-id required | integer <int64> Example: 1 DNSレコードID(整数) |
{- "error": {
- "code": "bad_request",
- "message": "Invalid request parameters"
}
}ドメインのFQDN(完全修飾ドメイン名)を指定して、そのドメインのDNSレコード一覧を取得します。 ドメインIDが不明な場合に、FQDNから直接DNSレコードを検索するために使用します。
domain-fqdn パラメータは必須です。
type パラメータでレコードタイプ(A、MX等)をフィルタリングできます。
認証トークンからアカウントを自動識別し、自分が保有するドメインのDNSレコードのみ取得可能です。
| domain-fqdn required | string <= 253 characters Example: domain-fqdn=example.com 検索対象のドメインFQDN(完全修飾ドメイン名)。完全一致で検索します。
例: |
| type | string (DnsRecordType) Enum: "A" "AAAA" "CNAME" "MX" "TXT" "NS" "ALIAS" "SRV" "CAA" Example: type=A レコードタイプでフィルタリング。 指定可能な値: A, AAAA, CNAME, MX, TXT, NS, ALIAS |
| fqdn | string [ 1 .. 253 ] characters ^[a-zA-Z0-9._-]+$ Example: fqdn=www.example.com. DNSレコードのFQDN(完全修飾ドメイン名)でフィルタリング(完全一致) |
| page | integer >= 1 Default: 1 Example: page=1 ページ番号(1始まり) |
| page-size | integer [ 1 .. 100 ] Default: 20 Example: page-size=20 1ページあたりの件数(最大100件) |
{- "data": [
- {
- "id": 12345,
- "fqdn": "www.example.com.",
- "type": "A",
- "value": "192.0.2.1",
- "ttl": 3600,
- "priority": 10,
- "created-at": "2025-01-15T09:00:00+09:00",
- "updated-at": "2025-01-15T09:00:00+09:00"
}
], - "meta": {
- "total": 100,
- "page": 1,
- "page-size": 20
}
}ドメインの購入前に、以下の情報を確認します:
ドメインを購入する前に、必ずこの見積もりAPIを呼び出してください。 見積もりで取得した purchase-token.token は購入実行APIで必要です(有効期限: 10分)。
クレジットカードが未登録の場合は、カード登録画面のURLが返されます。 ユーザーにカード登録を案内してください。
このAPIはOAuth認証(domains:purchase スコープ)専用です。 JWT認証(コントロールパネル)からは利用できません。
| fqdn required | string [ 1 .. 253 ] characters 購入したいドメイン名(例: example.com) |
| term | integer [ 1 .. 10 ] Default: 1 契約期間(年)。省略時は1年。 |
{- "fqdn": "example.com",
- "term": 1
}{- "data": {
- "fqdn": "example.com",
- "availability": "available",
- "term": 1,
- "domain-price": 750,
- "service-fee": 158,
- "tax": 91,
- "total": 999,
- "currency": "JPY",
- "credit-card-registered": true,
- "credit-card-registration-url": null,
- "purchase-token": {
- "token": "tok_xxxxxxxxxxxxxxxxxxxxxxxx",
- "expires-at": "2025-06-01T12:10:00+09:00"
}
}
}見積もりAPIで取得した purchase-token を使用してドメイン購入を開始します。
レスポンスの checkout-url をユーザーのブラウザで開いてもらい、購入確認を完了してください。 購入の進捗は GET /api/v2/me/domain-purchase/{purchase-id}/status でポーリングしてください。
必ず事前に見積もりAPIで金額をユーザーに提示し、同意を得てから実行してください。 checkout-url の有効期限は10分です。レート制限: 10件/日。
| purchase-token required | string [ 10 .. 500 ] characters 見積もりAPIで取得した購入トークン。 ドメイン名・金額・有効期限がサーバー側で検証されます。 有効期限(10分)を過ぎている場合はエラーになります。 |
{- "purchase-token": "tok_xxxxxxxxxxxxxxxxxxxxxxxx"
}{- "data": {
- "purchase-id": 1,
- "status": "pending",
- "fqdn": "example.com",
- "term": 1,
- "expires-at": "2025-06-01T12:10:00+09:00"
}
}本 API は通常アカウントでは利用できません。 ご利用には事前にムームードメインへの利用申請と承認が必要です。 未申請または未承認のアカウントから呼び出した場合は 403 Forbidden が返ります。
利用をご希望の場合は お問い合わせフォーム よりご連絡ください。
申請が承認されたアカウント専用の、ブラウザ画面遷移なしで決済とドメイン登録を 1 リクエストで完結するドメイン購入エンドポイント。
見積もりAPI(POST /api/v2/me/domain-purchase/quote)で取得した purchase-token を
リクエストボディに含めてください。
必ず事前に見積もりAPIで金額をユーザーに提示し、同意を得てから実行してください。 purchase-token の有効期限は10分、同一トークンの再送は409エラーになります(リプレイ防止)。
本 API は muu_pat_ プレフィックスの Personal Access Token (PAT) でのみ利用可能で、
domains:purchase スコープが必須です。
JWT 認証(コントロールパネル)や OAuth Doorkeeper の通常アクセストークンは
403 Forbidden になります。
| purchase-token required | string [ 10 .. 500 ] characters 見積もりAPIで取得した購入トークン。 ドメイン名・金額・有効期限がサーバー側で検証されます。 有効期限(10分)を過ぎている場合はエラーになります。 |
{- "purchase-token": "tok_xxxxxxxxxxxxxxxxxxxxxxxx"
}{- "data": {
- "purchase-id": 1,
- "status": "completed",
- "fqdn": "example.com",
- "term": 1,
- "domain-id": "MU00000001",
- "contract-id": "MC00000001",
- "completed-at": "2025-06-01T12:05:30+09:00"
}
}購入セッションのステータスをポーリングで確認します。 購入API(POST /api/v2/me/domain-purchase)で取得した purchase-id を指定してください。
ポーリング推奨間隔: 3〜5秒
ステータス遷移:
このAPIはOAuth認証(domains:purchase スコープ)専用です。
| purchase_id required | integer Example: 1 購入セッションID(purchase-domain APIのレスポンスで取得) |
{- "data": {
- "purchase-id": 1,
- "status": "pending",
- "fqdn": "example.com",
- "term": 1,
- "domains": [
- {
- "domain-name": "example.com",
- "term": 1,
- "status": "pending",
- "domain-id": null,
- "contract-id": null,
- "failure-reason": null
}
]
}
}認証ユーザーが発行した Personal Access Token の一覧を取得します。 トークン本体は返しません。
JWT 認証のみ対応しています(PAT 認証は使用不可)。
created_at の降順で返します。
{- "data": [
- {
- "id": 1,
- "name": "My CI Token",
- "token-prefix": "muu_pat_abcdefgh…",
- "scopes": [
- "domains:read"
], - "expires-at": "2026-06-06T00:00:00Z",
- "last-used-at": null,
- "status": "active"
}
]
}認証ユーザーが発行した Personal Access Token を失効させます。
失効後、当該 PAT を Authorization: Bearer に指定したリクエストは 401 を返します。
JWT 認証のみ対応しています(PAT 認証は使用不可・自己増殖防止)。 他アカウントが発行した PAT を指定した場合は 404 を返します(IDOR 対策)。 既に失効済みの PAT を指定した場合も 204 を返します(冪等)。
| id required | integer >= 1 PAT の内部 ID |
{- "error": {
- "code": "unauthorized",
- "message": "Authentication required"
}
}ドメイン支払いとオプション支払いの2系統のデータを統合し、支払い日の降順で返します。
フィルタ条件(期間・金額・サービス種別・ドメイン名)とページネーションに対応しています。
domain-name フィルタを指定した場合、オプション支払いは結果から除外されます
(ドメイン名はドメイン支払いにのみ紐づくため)。
認証トークンからアカウントを自動識別するため、自分の支払い履歴のみ取得可能です。
| page | integer [ 1 .. 50 ] Default: 1 Example: page=1 ページ番号(1〜50) |
| page-size | integer [ 1 .. 100 ] Default: 20 Example: page-size=20 1ページあたりの件数(1〜100。範囲外はクランプ) |
| date-from | string <date> Example: date-from=2026-01-01 支払い日の開始日(YYYY-MM-DD) |
| date-to | string <date> Example: date-to=2026-12-31 支払い日の終了日(YYYY-MM-DD)。date-from以降の日付を指定すること。 |
| amount-min | integer >= 0 Example: amount-min=1000 金額の下限(税込、0以上の整数) |
| amount-max | integer >= 0 Example: amount-max=5000 金額の上限(税込、0以上の整数)。amount-min以上の値を指定すること。 |
| service-type | string (PaymentHistoryServiceType) Enum: "domain" "google_workspace" "wordpress" "domain_lock" "website_scan" "ai_site_builder" "muumuu_server" "mail" "auction" "backorder" "tmch" "sunrise" "land_rush" "premium_domain" "ssl" "website_builder" "ikazuchi_ms365" Example: service-type=domain サービス種別でフィルタ。
|
| domain-name | string <= 253 characters Example: domain-name=example ドメイン名の部分一致検索。指定時はオプション支払いは除外される。 |
{- "data": [
- {
- "id": "MB00000001",
- "paid-at": "2026-03-20",
- "service-type": "domain",
- "target-name": "example.com",
- "description": "更新(1年)",
- "amount": 1628,
- "amount-breakdown": {
- "base-price": 1480,
- "tax": 148,
- "surcharge": 0,
- "discount": 0
}, - "payment-method": "creditcard",
- "status": 2,
- "refunded": false
}, - {
- "id": "OC00000001",
- "paid-at": "2026-02-15",
- "service-type": "google_workspace",
- "target-name": "example.com",
- "description": "新規契約",
- "amount": 748,
- "amount-breakdown": {
- "base-price": 680,
- "tax": 68,
- "surcharge": 0,
- "discount": 0
}, - "payment-method": "creditcard",
- "status": 2,
- "contract-start-date": "2026-02-15",
- "contract-end-date": "2027-02-15"
}
], - "meta": {
- "total": 42,
- "page": 1,
- "page-size": 20
}
}