{
  "components": {
    "responses": {
      "BadRequest": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`invalid_request` — the request is malformed."
      },
      "Conflict": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`conflict` / `version_conflict` (current state in `details.application`) / Idempotency-Key reuse."
      },
      "Error": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Any error, in the standard error shape."
      },
      "Forbidden": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`forbidden` / `insufficient_scope` — the credential lacks permission."
      },
      "NotFound": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`not_found` — doesn't exist or isn't accessible to you (never 403)."
      },
      "PaymentRequired": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`payment_required` — this step needs a paid plan. `next_action.kind = checkout`."
      },
      "RateLimited": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`rate_limited` — retry after `Retry-After` seconds (`details.retry_after_seconds`)."
      },
      "Unauthenticated": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`unauthenticated` — sign in / send a valid credential. `next_action.kind = sign_in`."
      },
      "Unprocessable": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "`unprocessable` / `blocked_provider` — understood but can't be done (plain-English reason)."
      }
    },
    "schemas": {
      "ApiKey": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "last_used_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "prefix": {
            "description": "First characters of the token, for recognition.",
            "type": "string"
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "scopes": {
            "items": {
              "enum": [
                "applications:read",
                "applications:write",
                "billing:write",
                "certificates:write",
                "support:write"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "name",
          "prefix",
          "environment",
          "scopes",
          "created_at",
          "last_used_at",
          "revoked_at"
        ],
        "type": "object"
      },
      "ApiKeyCreateRequest": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          },
          "scopes": {
            "description": "Default: all scopes.",
            "items": {
              "enum": [
                "applications:read",
                "applications:write",
                "billing:write",
                "certificates:write",
                "support:write"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ApiKeyCreated": {
        "additionalProperties": false,
        "properties": {
          "api_key": {
            "$ref": "#/components/schemas/ApiKey"
          },
          "token": {
            "description": "`vi_live_…`/`vi_test_…` — shown once.",
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "token"
        ],
        "type": "object"
      },
      "ApiKeyList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ApiKey"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "ApiRef": {
        "additionalProperties": false,
        "properties": {
          "method": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "method",
          "path"
        ],
        "type": "object"
      },
      "Application": {
        "additionalProperties": false,
        "description": "The server-side state of one domain's journey.",
        "properties": {
          "background": {
            "description": "Active long-running work plus anything finished in the last 10 minutes.",
            "items": {
              "$ref": "#/components/schemas/BackgroundWork"
            },
            "type": "array"
          },
          "brand_name": {
            "description": "Display-name guess (website title or domain label).",
            "type": "string"
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "current_step": {
            "description": "Where to work now: the first step needing attention, else the first step the user hasn't completed.",
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "domain": {
            "description": "Normalized ASCII (punycode) domain.",
            "type": "string"
          },
          "domain_display": {
            "description": "Unicode form of the domain.",
            "type": "string"
          },
          "domain_status": {
            "description": "Whether the domain is registered and can have its own logo (`unknown` while checking).",
            "enum": [
              "unknown",
              "ok",
              "not_registered",
              "blocked_provider"
            ],
            "type": "string"
          },
          "email_usage": {
            "description": "How email is used on the domain, as told by the customer (null until answered).",
            "enum": [
              "none",
              "low",
              "active",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "next_actions": {
            "description": "What to do next (for people and agents).",
            "items": {
              "$ref": "#/components/schemas/NextAction"
            },
            "type": "array"
          },
          "organizational_domain": {
            "description": "Registrable domain (e.g. `acme.com` for `news.acme.com`).",
            "type": "string"
          },
          "outcomes": {
            "$ref": "#/components/schemas/Outcomes"
          },
          "owner": {
            "$ref": "#/components/schemas/ApplicationOwner"
          },
          "product": {
            "description": "Chosen product, else the recommended one.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "product_selected": {
            "description": "Product explicitly chosen by the customer.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "recommended_product": {
            "description": "From eligibility; null until assessed.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "steps": {
            "description": "The 11 wizard steps, in order.",
            "items": {
              "$ref": "#/components/schemas/Step"
            },
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "description": "Optimistic-concurrency version; send as `If-Match`.",
            "type": "integer"
          },
          "web_url": {
            "description": "Deep link to the current step in the web app.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "domain",
          "domain_display",
          "organizational_domain",
          "brand_name",
          "environment",
          "owner",
          "product",
          "product_selected",
          "recommended_product",
          "contact_email",
          "version",
          "created_at",
          "updated_at",
          "outcomes",
          "domain_status",
          "email_usage",
          "steps",
          "current_step",
          "next_actions",
          "background",
          "web_url"
        ],
        "type": "object"
      },
      "ApplicationCreated": {
        "additionalProperties": false,
        "properties": {
          "background": {
            "description": "Active long-running work plus anything finished in the last 10 minutes.",
            "items": {
              "$ref": "#/components/schemas/BackgroundWork"
            },
            "type": "array"
          },
          "brand_name": {
            "description": "Display-name guess (website title or domain label).",
            "type": "string"
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "description": "False when an existing draft was returned.",
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "current_step": {
            "description": "Where to work now: the first step needing attention, else the first step the user hasn't completed.",
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "domain": {
            "description": "Normalized ASCII (punycode) domain.",
            "type": "string"
          },
          "domain_display": {
            "description": "Unicode form of the domain.",
            "type": "string"
          },
          "domain_status": {
            "description": "Whether the domain is registered and can have its own logo (`unknown` while checking).",
            "enum": [
              "unknown",
              "ok",
              "not_registered",
              "blocked_provider"
            ],
            "type": "string"
          },
          "email_usage": {
            "description": "How email is used on the domain, as told by the customer (null until answered).",
            "enum": [
              "none",
              "low",
              "active",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "guest_token": {
            "description": "Only when a guest session was created by this call. Store it.",
            "type": "string"
          },
          "guest_token_note": {
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "next_actions": {
            "description": "What to do next (for people and agents).",
            "items": {
              "$ref": "#/components/schemas/NextAction"
            },
            "type": "array"
          },
          "organizational_domain": {
            "description": "Registrable domain (e.g. `acme.com` for `news.acme.com`).",
            "type": "string"
          },
          "outcomes": {
            "$ref": "#/components/schemas/Outcomes"
          },
          "owner": {
            "$ref": "#/components/schemas/ApplicationOwner"
          },
          "product": {
            "description": "Chosen product, else the recommended one.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "product_selected": {
            "description": "Product explicitly chosen by the customer.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "recommended_product": {
            "description": "From eligibility; null until assessed.",
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "steps": {
            "description": "The 11 wizard steps, in order.",
            "items": {
              "$ref": "#/components/schemas/Step"
            },
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          },
          "version": {
            "description": "Optimistic-concurrency version; send as `If-Match`.",
            "type": "integer"
          },
          "web_url": {
            "description": "Deep link to the current step in the web app.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "domain",
          "domain_display",
          "organizational_domain",
          "brand_name",
          "environment",
          "owner",
          "product",
          "product_selected",
          "recommended_product",
          "contact_email",
          "version",
          "created_at",
          "updated_at",
          "outcomes",
          "domain_status",
          "email_usage",
          "steps",
          "current_step",
          "next_actions",
          "background",
          "web_url",
          "created"
        ],
        "type": "object"
      },
      "ApplicationList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Application"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "ApplicationOwner": {
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "type": {
                "enum": [
                  "guest"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "organization_id": {
                "format": "uuid",
                "type": "string"
              },
              "type": {
                "enum": [
                  "organization"
                ],
                "type": "string"
              }
            },
            "required": [
              "type",
              "organization_id"
            ],
            "type": "object"
          }
        ]
      },
      "ApplicationPatch": {
        "additionalProperties": false,
        "properties": {
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "product": {
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [],
        "type": "object"
      },
      "ApproveLogoRequest": {
        "additionalProperties": false,
        "properties": {
          "converted_sha256": {
            "description": "The `converted.sha256` the customer reviewed.",
            "type": "string"
          }
        },
        "required": [
          "converted_sha256"
        ],
        "type": "object"
      },
      "BackgroundWork": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "enum": [
              "domain_scan",
              "logo_processing",
              "trademark_search",
              "business_verification",
              "dns_watch",
              "certificate_issuance",
              "renewal",
              "monitoring",
              "refund",
              "eligibility_watch"
            ],
            "type": "string"
          },
          "message": {
            "description": "Plain-English description.",
            "type": "string"
          },
          "next_run_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "status": {
            "enum": [
              "pending",
              "running",
              "sleeping",
              "waiting",
              "completed",
              "failed",
              "canceled"
            ],
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "state",
          "status",
          "message",
          "updated_at",
          "next_run_at"
        ],
        "type": "object"
      },
      "BillingPortal": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "BlockedProviders": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "category": {
                  "enum": [
                    "free_mailbox",
                    "privacy_mailbox",
                    "isp_mailbox",
                    "disposable_mailbox",
                    "shared_platform"
                  ],
                  "type": "string"
                },
                "domain": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                }
              },
              "required": [
                "domain",
                "provider",
                "category"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "data",
          "reason"
        ],
        "type": "object"
      },
      "Business": {
        "additionalProperties": false,
        "properties": {
          "applicant_authority": {
            "enum": [
              "email_domain_match",
              "attested",
              "missing"
            ],
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "input": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BusinessInput"
              },
              {
                "type": "null"
              }
            ]
          },
          "match": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CompanyRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "message": {
            "type": [
              "string",
              "null"
            ]
          },
          "provider": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "not_started",
              "verifying",
              "verified",
              "needs_info",
              "rejected"
            ],
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "status",
          "provider",
          "input",
          "match",
          "applicant_authority",
          "message",
          "updated_at"
        ],
        "type": "object"
      },
      "BusinessInput": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "additionalProperties": false,
            "description": "Registered business address.",
            "properties": {
              "city": {
                "type": "string"
              },
              "country": {
                "description": "Default `US`.",
                "type": "string"
              },
              "line1": {
                "type": "string"
              },
              "line2": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "postal_code": {
                "type": "string"
              },
              "region": {
                "type": "string"
              }
            },
            "required": [
              "line1",
              "city",
              "region",
              "postal_code"
            ],
            "type": "object"
          },
          "applicant": {
            "additionalProperties": false,
            "description": "The person applying on the company's behalf; the issuer may contact them. An email at the domain proves authority.",
            "properties": {
              "email": {
                "format": "email",
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "phone": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "name",
              "email"
            ],
            "type": "object"
          },
          "authority_attested": {
            "description": "Required when the applicant's email isn't at the domain.",
            "type": "boolean"
          },
          "jurisdiction": {
            "description": "US state code, e.g. `us_de`.",
            "type": "string"
          },
          "legal_name": {
            "description": "The company's exact legal name, as registered.",
            "type": "string"
          },
          "registration_number": {
            "description": "State file / registration number, if known (speeds up verification).",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "legal_name",
          "jurisdiction",
          "address",
          "applicant"
        ],
        "type": "object"
      },
      "Certificate": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "customer_actions": {
            "description": "What the issuer needs from the customer.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "description": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "description"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "days_remaining": {
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "issued_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "issuer": {
            "type": "string"
          },
          "issuer_mode": {
            "type": "string"
          },
          "issuer_order_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "enum": [
              "vmc",
              "cmc"
            ],
            "type": "string"
          },
          "not_after": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "not_before": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "pem_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "prerequisites": {
            "items": {
              "$ref": "#/components/schemas/Prerequisite"
            },
            "type": "array"
          },
          "reissue_of": {
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "rejected_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "rejection_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "renewal_of": {
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "renewal_starts_on": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "revocation_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "revoked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "serial": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "waiting_prerequisites",
              "submitted",
              "issuer_validation",
              "awaiting_customer",
              "issued",
              "expiring",
              "renewed",
              "expired",
              "rejected",
              "revoked",
              "canceled"
            ],
            "type": "string"
          },
          "status_detail": {
            "type": [
              "string",
              "null"
            ]
          },
          "submitted_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "test_mode": {
            "type": "boolean"
          },
          "timeline": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "at": {
                  "format": "date-time",
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                }
              },
              "required": [
                "status",
                "at",
                "message"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "updated_at": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "issuer",
          "issuer_mode",
          "status",
          "status_detail",
          "issuer_order_id",
          "serial",
          "not_before",
          "not_after",
          "days_remaining",
          "renewal_starts_on",
          "pem_url",
          "prerequisites",
          "customer_actions",
          "renewal_of",
          "reissue_of",
          "submitted_at",
          "issued_at",
          "rejected_at",
          "rejection_reason",
          "revoked_at",
          "revocation_reason",
          "created_at",
          "updated_at",
          "timeline",
          "test_mode"
        ],
        "type": "object"
      },
      "CertificateReasonRequest": {
        "additionalProperties": false,
        "properties": {
          "reason": {
            "description": "Why, in a sentence (shown to the issuer).",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "CertificateState": {
        "additionalProperties": false,
        "properties": {
          "certificate": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Certificate"
              },
              {
                "type": "null"
              }
            ]
          },
          "final_check": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FinalCheck"
              },
              {
                "type": "null"
              }
            ],
            "description": "Latest comprehensive re-check (null until the first one)."
          },
          "history": {
            "items": {
              "$ref": "#/components/schemas/Certificate"
            },
            "type": "array"
          },
          "prerequisites": {
            "items": {
              "$ref": "#/components/schemas/Prerequisite"
            },
            "type": "array"
          },
          "prerequisites_met": {
            "type": "boolean"
          }
        },
        "required": [
          "certificate",
          "prerequisites",
          "prerequisites_met",
          "final_check",
          "history"
        ],
        "type": "object"
      },
      "CheckDomainRequest": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "A domain, URL or email address.",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "CheckEmailAuthRequest": {
        "additionalProperties": false,
        "properties": {
          "dkim_selectors": {
            "description": "Extra DKIM selectors to check (common ones are probed).",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "domain": {
            "description": "A domain, URL or email address.",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "CheckoutRequest": {
        "additionalProperties": false,
        "properties": {
          "product": {
            "description": "Defaults to the chosen/recommended product.",
            "enum": [
              "vmc",
              "cmc"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "CheckoutSession": {
        "additionalProperties": false,
        "properties": {
          "checkout_url": {
            "description": "Stripe hosted checkout (or the mock checkout in test mode). Only a person can pay.",
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "order_id": {
            "format": "uuid",
            "type": "string"
          },
          "reused": {
            "type": "boolean"
          }
        },
        "required": [
          "checkout_url",
          "order_id",
          "expires_at",
          "reused"
        ],
        "type": "object"
      },
      "ClaimResult": {
        "additionalProperties": false,
        "properties": {
          "application": {
            "$ref": "#/components/schemas/Application"
          },
          "kept_application_id": {
            "format": "uuid",
            "type": "string"
          },
          "result": {
            "enum": [
              "claimed",
              "merged_into_existing"
            ],
            "type": "string"
          }
        },
        "required": [
          "application",
          "result",
          "kept_application_id"
        ],
        "type": "object"
      },
      "CompanyRecord": {
        "additionalProperties": false,
        "properties": {
          "active": {
            "type": "boolean"
          },
          "company_number": {
            "type": "string"
          },
          "company_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "incorporation_date": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "jurisdiction_code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "registered_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_url": {
            "type": "string"
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name",
          "company_number",
          "jurisdiction_code",
          "status",
          "active",
          "incorporation_date",
          "company_type",
          "registered_address",
          "source_url"
        ],
        "type": "object"
      },
      "CreateApplicationRequest": {
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "A domain, URL or email address.",
            "type": "string"
          },
          "environment": {
            "description": "Guests only; example.com domains always use `test`.",
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "DkimSelectorsRequest": {
        "additionalProperties": false,
        "properties": {
          "selectors": {
            "description": "DKIM selectors to check, e.g. `google`, `s1` (from the sending service's setup page).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "selectors"
        ],
        "type": "object"
      },
      "DmarcRollout": {
        "additionalProperties": false,
        "properties": {
          "direct_record": {
            "$ref": "#/components/schemas/RecordFix",
            "description": "The blocking record, for publishing directly or skipping ahead."
          },
          "email_usage": {
            "enum": [
              "none",
              "low",
              "active",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "enforced": {
            "description": "True when the policy meets the verified-logo requirement (filter all or block all, for all mail).",
            "type": "boolean"
          },
          "next_stage": {
            "enum": [
              "missing",
              "monitoring",
              "quarantine_partial",
              "quarantine",
              "reject",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "path": {
            "description": "`direct`: publish the blocking record now (no or little email). `staged`: watch → filter some → filter all → block all.",
            "enum": [
              "direct",
              "staged"
            ],
            "type": "string"
          },
          "plan": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "consequence": {
                  "description": "What happens to email in this stage.",
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "host": {
                  "type": "string"
                },
                "min_days": {
                  "description": "Suggested days in this stage.",
                  "type": "integer"
                },
                "monitor": {
                  "description": "What to watch in this stage.",
                  "type": "string"
                },
                "stage": {
                  "enum": [
                    "missing",
                    "monitoring",
                    "quarantine_partial",
                    "quarantine",
                    "reject"
                  ],
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "stage",
                "title",
                "host",
                "value",
                "min_days",
                "description",
                "monitor",
                "consequence"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "ready_to_advance": {
            "description": "Our suggestion; waiting times are never enforced.",
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          },
          "recommended_record": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordFix"
              },
              {
                "type": "null"
              }
            ]
          },
          "stage": {
            "enum": [
              "missing",
              "monitoring",
              "quarantine_partial",
              "quarantine",
              "reject"
            ],
            "type": "string"
          }
        },
        "required": [
          "stage",
          "enforced",
          "email_usage",
          "path",
          "direct_record",
          "next_stage",
          "ready_to_advance",
          "reason",
          "recommended_record",
          "plan"
        ],
        "type": "object"
      },
      "DnsRecord": {
        "additionalProperties": false,
        "properties": {
          "current": {
            "description": "What's published right now.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "from_step": {
            "description": "Set up in an earlier wizard step (shown as done there); null for records added in the DNS step.",
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "glossary": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "host_relative": {
            "description": "Host relative to the zone (`@` for the apex).",
            "type": "string"
          },
          "id": {
            "enum": [
              "ownership",
              "dmarc",
              "bimi",
              "spf"
            ],
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "purpose": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "rollout": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DmarcRollout"
              },
              {
                "type": "null"
              }
            ]
          },
          "rollout_stage": {
            "enum": [
              "missing",
              "monitoring",
              "quarantine_partial",
              "quarantine",
              "reject"
            ],
            "type": "string"
          },
          "status": {
            "enum": [
              "ok",
              "missing",
              "mismatch",
              "warning"
            ],
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "description": "Value to publish.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "purpose",
          "required",
          "host",
          "host_relative",
          "type",
          "value",
          "current",
          "status",
          "glossary",
          "note",
          "from_step"
        ],
        "type": "object"
      },
      "DnsRecords": {
        "additionalProperties": false,
        "properties": {
          "all_required_ok": {
            "type": "boolean"
          },
          "checked_at": {
            "format": "date-time",
            "type": "string"
          },
          "dns_host": {
            "description": "e.g. Cloudflare, GoDaddy.",
            "type": [
              "string",
              "null"
            ]
          },
          "nameservers": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "records": {
            "items": {
              "$ref": "#/components/schemas/DnsRecord"
            },
            "type": "array"
          },
          "resolver": {
            "enum": [
              "authoritative"
            ],
            "type": "string"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "checked_at",
          "resolver",
          "nameservers",
          "dns_host",
          "records",
          "all_required_ok",
          "zone"
        ],
        "type": "object"
      },
      "Eligibility": {
        "additionalProperties": false,
        "properties": {
          "assessed_at": {
            "format": "date-time",
            "type": "string"
          },
          "estimated_eligible_on": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "next_steps": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "description": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "title",
                "description"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "override": {
            "description": "Staff override, if any.",
            "enum": [
              "vmc_eligible",
              "cmc_eligible",
              "not_currently_eligible",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "recommended_product": {
            "enum": [
              "vmc",
              "cmc",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "routes": {
            "additionalProperties": false,
            "properties": {
              "cmc": {
                "$ref": "#/components/schemas/EligibilityRoute"
              },
              "vmc": {
                "$ref": "#/components/schemas/EligibilityRoute"
              }
            },
            "required": [
              "vmc",
              "cmc"
            ],
            "type": "object"
          },
          "status": {
            "enum": [
              "unknown",
              "assessing",
              "vmc_eligible",
              "cmc_eligible",
              "not_currently_eligible"
            ],
            "type": "string"
          }
        },
        "required": [
          "status",
          "recommended_product",
          "routes",
          "next_steps",
          "estimated_eligible_on",
          "override",
          "assessed_at"
        ],
        "type": "object"
      },
      "EligibilityRequirement": {
        "additionalProperties": false,
        "properties": {
          "eligible_on": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "evidence": {
            "type": "string"
          },
          "evidence_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "met": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "met",
          "label",
          "evidence"
        ],
        "type": "object"
      },
      "EligibilityRoute": {
        "additionalProperties": false,
        "properties": {
          "checkmark": {
            "type": "boolean"
          },
          "eligible": {
            "type": "boolean"
          },
          "requirements": {
            "items": {
              "$ref": "#/components/schemas/EligibilityRequirement"
            },
            "type": "array"
          }
        },
        "required": [
          "eligible",
          "checkmark",
          "requirements"
        ],
        "type": "object"
      },
      "EmailAuthReport": {
        "additionalProperties": false,
        "properties": {
          "bimi": {
            "additionalProperties": false,
            "properties": {
              "authority_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "findings": {
                "items": {
                  "$ref": "#/components/schemas/Finding"
                },
                "type": "array"
              },
              "logo_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "record": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "fail",
                  "info"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "record",
              "logo_url",
              "authority_url",
              "findings"
            ],
            "type": "object"
          },
          "checked_at": {
            "format": "date-time",
            "type": "string"
          },
          "dkim": {
            "additionalProperties": false,
            "properties": {
              "findings": {
                "items": {
                  "$ref": "#/components/schemas/Finding"
                },
                "type": "array"
              },
              "selectors": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "key_bits": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "key_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "record": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "selector": {
                      "type": "string"
                    },
                    "status": {
                      "enum": [
                        "pass",
                        "warn",
                        "fail",
                        "info"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "selector",
                    "status",
                    "key_type",
                    "key_bits",
                    "record"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "fail",
                  "info"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "selectors",
              "findings"
            ],
            "type": "object"
          },
          "dmarc": {
            "additionalProperties": false,
            "properties": {
              "findings": {
                "items": {
                  "$ref": "#/components/schemas/Finding"
                },
                "type": "array"
              },
              "inherited_from": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "pct": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "policy": {
                "enum": [
                  "none",
                  "quarantine",
                  "reject",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "record": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "rollout_stage": {
                "enum": [
                  "missing",
                  "monitoring",
                  "quarantine_partial",
                  "quarantine",
                  "reject"
                ],
                "type": "string"
              },
              "rua": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "fail",
                  "info"
                ],
                "type": "string"
              },
              "subdomain_policy": {
                "enum": [
                  "none",
                  "quarantine",
                  "reject",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "status",
              "record",
              "policy",
              "subdomain_policy",
              "pct",
              "rua",
              "inherited_from",
              "rollout_stage",
              "findings"
            ],
            "type": "object"
          },
          "domain": {
            "type": "string"
          },
          "findings": {
            "description": "Every finding, most severe first.",
            "items": {
              "$ref": "#/components/schemas/Finding"
            },
            "type": "array"
          },
          "mx": {
            "additionalProperties": false,
            "properties": {
              "provider": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/MailboxProvider"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "records": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "host": {
                      "type": "string"
                    },
                    "priority": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "host",
                    "priority"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "fail",
                  "info"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "records",
              "provider"
            ],
            "type": "object"
          },
          "resolver": {
            "description": "Least-fresh source used; `authoritative` = the domain's own nameservers.",
            "enum": [
              "authoritative",
              "doh",
              "system"
            ],
            "type": "string"
          },
          "score": {
            "additionalProperties": false,
            "properties": {
              "passed": {
                "type": "integer"
              },
              "status": {
                "enum": [
                  "ready",
                  "needs_attention",
                  "blocked"
                ],
                "type": "string"
              },
              "total": {
                "type": "integer"
              }
            },
            "required": [
              "status",
              "passed",
              "total"
            ],
            "type": "object"
          },
          "spf": {
            "additionalProperties": false,
            "properties": {
              "all": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "findings": {
                "items": {
                  "$ref": "#/components/schemas/Finding"
                },
                "type": "array"
              },
              "lookups": {
                "type": "integer"
              },
              "record": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "pass",
                  "warn",
                  "fail",
                  "info"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "record",
              "lookups",
              "all",
              "findings"
            ],
            "type": "object"
          }
        },
        "required": [
          "domain",
          "checked_at",
          "resolver",
          "score",
          "mx",
          "spf",
          "dkim",
          "dmarc",
          "bimi",
          "findings"
        ],
        "type": "object"
      },
      "EmailHealth": {
        "additionalProperties": false,
        "description": "`report` is null until the first scan finishes.",
        "properties": {
          "checked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "dmarc_rollout": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DmarcRollout"
              },
              {
                "type": "null"
              }
            ]
          },
          "email_usage": {
            "enum": [
              "none",
              "low",
              "active",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "report": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmailAuthReport"
              },
              {
                "type": "null"
              }
            ]
          },
          "suggested_email_usage": {
            "description": "Our guess from DNS (e.g. no mail servers → `none`); the customer decides.",
            "enum": [
              "none",
              "low",
              "active",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "report",
          "dmarc_rollout",
          "checked_at",
          "email_usage",
          "suggested_email_usage"
        ],
        "type": "object"
      },
      "EmailUsageRequest": {
        "additionalProperties": false,
        "properties": {
          "email_usage": {
            "description": "`none`: new domain or no email sent yet. `low`: email set up, little or none sent. `active`: email sent every day.",
            "enum": [
              "none",
              "low",
              "active"
            ],
            "type": "string"
          }
        },
        "required": [
          "email_usage"
        ],
        "type": "object"
      },
      "EnvironmentRequest": {
        "additionalProperties": false,
        "properties": {
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          }
        },
        "required": [
          "environment"
        ],
        "type": "object"
      },
      "Error": {
        "additionalProperties": false,
        "description": "Standard error shape for every non-2xx response.",
        "properties": {
          "error": {
            "additionalProperties": false,
            "properties": {
              "code": {
                "description": "Machine-readable code, e.g. `version_conflict`.",
                "type": "string"
              },
              "details": {
                "additionalProperties": true,
                "type": "object"
              },
              "message": {
                "description": "Plain-English explanation.",
                "type": "string"
              },
              "next_action": {
                "$ref": "#/components/schemas/ErrorNextAction"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "type": "object"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "ErrorNextAction": {
        "additionalProperties": false,
        "description": "What the caller can do to resolve the error.",
        "properties": {
          "api": {
            "$ref": "#/components/schemas/ApiRef"
          },
          "kind": {
            "description": "e.g. `sign_in`, `checkout`, `view_eligibility`, `update_dns`.",
            "type": "string"
          },
          "mcp_tool": {
            "type": "string"
          },
          "step": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "Estimate": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "type": "string"
          },
          "eligible": {
            "description": "Whether this application currently qualifies for the product.",
            "type": "boolean"
          },
          "interval": {
            "type": "string"
          },
          "issuer_fee_range_cents": {
            "additionalProperties": false,
            "properties": {
              "max": {
                "type": "integer"
              },
              "min": {
                "type": "integer"
              }
            },
            "required": [
              "min",
              "max"
            ],
            "type": "object"
          },
          "line_items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "amount_cents": {
                  "type": "integer"
                },
                "estimated": {
                  "type": "boolean"
                },
                "kind": {
                  "enum": [
                    "plan",
                    "issuer_fee"
                  ],
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "label",
                "amount_cents"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "product": {
            "enum": [
              "vmc",
              "cmc"
            ],
            "type": "string"
          },
          "refund_policy": {
            "type": "string"
          },
          "renewal": {
            "type": "string"
          },
          "total_cents": {
            "type": "integer"
          }
        },
        "required": [
          "product",
          "currency",
          "interval",
          "line_items",
          "total_cents",
          "issuer_fee_range_cents",
          "refund_policy",
          "renewal",
          "eligible"
        ],
        "type": "object"
      },
      "Event": {
        "additionalProperties": false,
        "properties": {
          "actor": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "enum": [
                  "guest",
                  "user",
                  "api_key",
                  "admin",
                  "system",
                  "workflow"
                ],
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ],
            "type": "object"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "data": {
            "additionalProperties": true,
            "type": "object"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "kind": {
            "description": "e.g. `logo.uploaded`, `certificate.issued`.",
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "message",
          "actor",
          "data",
          "created_at"
        ],
        "type": "object"
      },
      "EventList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Event"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "FinalCheck": {
        "additionalProperties": false,
        "description": "Everything the issuer will verify, checked again live. The order is never submitted while anything fails.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/FinalCheckItem"
            },
            "type": "array"
          },
          "trigger": {
            "enum": [
              "submission",
              "user",
              "periodic",
              "admin"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "trigger",
          "ok",
          "results",
          "created_at"
        ],
        "type": "object"
      },
      "FinalCheckItem": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          },
          "step": {
            "description": "The step that fixes it.",
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "step",
          "label",
          "ok",
          "detail"
        ],
        "type": "object"
      },
      "Finding": {
        "additionalProperties": false,
        "properties": {
          "area": {
            "enum": [
              "mx",
              "spf",
              "dkim",
              "dmarc",
              "bimi",
              "domain"
            ],
            "type": "string"
          },
          "detail": {
            "description": "Plain English.",
            "type": "string"
          },
          "fix": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RecordFix"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "severity": {
            "enum": [
              "info",
              "success",
              "warning",
              "error"
            ],
            "type": "string"
          },
          "technical": {
            "description": "Exact technical description.",
            "type": "string"
          },
          "title": {
            "description": "Plain English.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "severity",
          "area",
          "title",
          "detail",
          "technical",
          "fix"
        ],
        "type": "object"
      },
      "GlossaryList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/GlossaryTerm"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "GlossaryTerm": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "related": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "short": {
            "description": "One-line plain-English summary.",
            "type": "string"
          },
          "simple": {
            "description": "Plain-English paragraph.",
            "type": "string"
          },
          "technical": {
            "type": "string"
          },
          "term": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "term",
          "short",
          "simple"
        ],
        "type": "object"
      },
      "GoLive": {
        "additionalProperties": false,
        "properties": {
          "bimi": {
            "additionalProperties": false,
            "properties": {
              "assets_match": {
                "type": "boolean"
              },
              "certificate_reachable": {
                "type": "boolean"
              },
              "certificate_url": {
                "type": "string"
              },
              "host": {
                "type": "string"
              },
              "logo_reachable": {
                "type": "boolean"
              },
              "logo_url": {
                "type": "string"
              },
              "record": {
                "description": "The BIMI TXT value to publish.",
                "type": "string"
              },
              "status": {
                "enum": [
                  "not_published",
                  "invalid",
                  "published"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "record",
              "host",
              "logo_url",
              "certificate_url",
              "logo_reachable",
              "certificate_reachable",
              "assets_match"
            ],
            "type": "object"
          },
          "inbox_display": {
            "additionalProperties": false,
            "properties": {
              "expects_checkmark": {
                "type": "boolean"
              },
              "mailbox": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "observed_at": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "not_observed",
                  "observed"
                ],
                "type": "string"
              }
            },
            "required": [
              "status",
              "observed_at",
              "mailbox",
              "expects_checkmark"
            ],
            "type": "object"
          },
          "monitoring": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "last_checked_at": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "enabled",
              "last_checked_at"
            ],
            "type": "object"
          },
          "renewal": {
            "additionalProperties": false,
            "properties": {
              "auto_renew": {
                "type": "boolean"
              },
              "not_after": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "renewal_starts_on": {
                "format": "date",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "not_after",
              "renewal_starts_on",
              "auto_renew"
            ],
            "type": "object"
          },
          "test_message": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TestMessage"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "bimi",
          "test_message",
          "inbox_display",
          "monitoring",
          "renewal"
        ],
        "type": "object"
      },
      "GuestSession": {
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "guest_token": {
            "description": "`vi_guest_…` — store it; shown once.",
            "type": "string"
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "guest_token",
          "expires_at",
          "note"
        ],
        "type": "object"
      },
      "Health": {
        "additionalProperties": false,
        "properties": {
          "status": {
            "enum": [
              "ok"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "version"
        ],
        "type": "object"
      },
      "InboxDisplayRequest": {
        "additionalProperties": false,
        "properties": {
          "mailbox": {
            "description": "gmail (default), yahoo, apple_mail, …",
            "type": "string"
          },
          "observed": {
            "description": "Default true.",
            "type": "boolean"
          }
        },
        "required": [],
        "type": "object"
      },
      "JsonRpcMessage": {
        "additionalProperties": true,
        "description": "A JSON-RPC 2.0 request/notification, or a batch (array) of them. Guide: https://getverifiedinbox.com/docs/mcp",
        "type": "object"
      },
      "Logo": {
        "additionalProperties": false,
        "properties": {
          "analysis": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/LogoAnalysis"
              },
              {
                "type": "null"
              }
            ]
          },
          "approved_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "changes": {
            "items": {
              "$ref": "#/components/schemas/LogoChange"
            },
            "type": "array"
          },
          "converted": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "sha256": {
                    "type": "string"
                  },
                  "size": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "sha256",
                  "size",
                  "url"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "original": {
            "additionalProperties": false,
            "properties": {
              "filename": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sha256": {
                "type": "string"
              },
              "size": {
                "type": "integer"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "sha256",
              "size",
              "filename",
              "url"
            ],
            "type": "object"
          },
          "previews": {
            "additionalProperties": false,
            "properties": {
              "converted": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "original": {
                "type": "string"
              }
            },
            "required": [
              "original",
              "converted"
            ],
            "type": "object"
          },
          "requirements": {
            "description": "Logo rules and whether the original / inbox-ready file meets each.",
            "items": {
              "$ref": "#/components/schemas/LogoRequirement"
            },
            "type": "array"
          },
          "review": {
            "description": "Everything we noticed, what we changed (or why we left it), and which rule asks for it.",
            "items": {
              "$ref": "#/components/schemas/LogoReviewItem"
            },
            "type": "array"
          },
          "source": {
            "enum": [
              "upload",
              "url",
              "discovered"
            ],
            "type": "string"
          },
          "source_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "processing",
              "ready_for_review",
              "approved",
              "failed"
            ],
            "type": "string"
          },
          "visual_diff": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/VisualDiff"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "status",
          "source",
          "source_url",
          "original",
          "converted",
          "previews",
          "analysis",
          "changes",
          "requirements",
          "review",
          "visual_diff",
          "error",
          "approved_at",
          "created_at"
        ],
        "type": "object"
      },
      "LogoAnalysis": {
        "additionalProperties": false,
        "properties": {
          "base_profile": {
            "type": [
              "string",
              "null"
            ]
          },
          "compliant": {
            "description": "No error-level issues against SVG Tiny P/S.",
            "type": "boolean"
          },
          "element_count": {
            "type": "integer"
          },
          "has_raster": {
            "type": "boolean"
          },
          "has_text": {
            "type": "boolean"
          },
          "has_title": {
            "type": "boolean"
          },
          "height": {
            "type": [
              "number",
              "null"
            ]
          },
          "issues": {
            "items": {
              "$ref": "#/components/schemas/LogoIssue"
            },
            "type": "array"
          },
          "size_bytes": {
            "type": "integer"
          },
          "square": {
            "type": "boolean"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "type": [
              "string",
              "null"
            ]
          },
          "view_box": {
            "items": {
              "type": "number"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "width": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "compliant",
          "square",
          "has_title",
          "title",
          "width",
          "height",
          "view_box",
          "size_bytes",
          "version",
          "base_profile",
          "has_text",
          "has_raster",
          "element_count",
          "issues"
        ],
        "type": "object"
      },
      "LogoCandidate": {
        "additionalProperties": false,
        "properties": {
          "height": {
            "type": [
              "integer",
              "null"
            ]
          },
          "kind": {
            "enum": [
              "svg",
              "raster"
            ],
            "type": "string"
          },
          "source": {
            "description": "link_icon | apple_touch_icon | mask_icon | og_image | inline_svg | header_img | manifest",
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "usable_for_bimi": {
            "type": "boolean"
          },
          "width": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "url",
          "kind",
          "usable_for_bimi",
          "source",
          "width",
          "height"
        ],
        "type": "object"
      },
      "LogoCandidates": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/LogoCandidate"
            },
            "type": "array"
          },
          "scanned": {
            "type": "boolean"
          },
          "website": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "final_url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "reachable": {
                    "type": "boolean"
                  },
                  "site_name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "reachable",
                  "final_url",
                  "site_name"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "data",
          "scanned",
          "website"
        ],
        "type": "object"
      },
      "LogoChange": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "lossy": {
            "description": "True when something visible may have changed.",
            "type": "boolean"
          },
          "message": {
            "description": "Plain English.",
            "type": "string"
          },
          "technical": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "technical",
          "lossy"
        ],
        "type": "object"
      },
      "LogoInput": {
        "description": "Exactly one of `svg`, `url` or `use_discovered: true`.",
        "oneOf": [
          {
            "additionalProperties": false,
            "properties": {
              "filename": {
                "type": "string"
              },
              "svg": {
                "description": "SVG file contents (≤ 512 KB).",
                "type": "string"
              }
            },
            "required": [
              "svg"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "url": {
                "description": "https URL of an SVG.",
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "use_discovered": {
                "const": true,
                "description": "Use the best SVG logo found on the website."
              }
            },
            "required": [
              "use_discovered"
            ],
            "type": "object"
          }
        ]
      },
      "LogoIssue": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "severity": {
            "enum": [
              "error",
              "warning",
              "info"
            ],
            "type": "string"
          },
          "technical": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "severity",
          "message",
          "technical"
        ],
        "type": "object"
      },
      "LogoRequirement": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "met_by_converted": {
            "description": "Null until the inbox-ready file exists.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "met_by_original": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          },
          "source": {
            "enum": [
              "gmail",
              "svg_tiny_ps",
              "recommended"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "label",
          "source",
          "required",
          "met_by_original",
          "met_by_converted"
        ],
        "type": "object"
      },
      "LogoReviewItem": {
        "additionalProperties": false,
        "properties": {
          "change": {
            "description": "What we changed (null when nothing changed).",
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "type": "string"
          },
          "lossy": {
            "description": "True when the change may alter how it looks.",
            "type": "boolean"
          },
          "noticed": {
            "description": "What we noticed in the original (null for routine rewrites).",
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "enum": [
              "changed",
              "left_as_is",
              "blocking"
            ],
            "type": "string"
          },
          "source": {
            "enum": [
              "gmail",
              "svg_tiny_ps",
              "recommended"
            ],
            "type": "string"
          },
          "technical": {
            "type": "string"
          },
          "why": {
            "description": "Plain English.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "noticed",
          "outcome",
          "change",
          "lossy",
          "source",
          "why",
          "technical"
        ],
        "type": "object"
      },
      "MailboxProvider": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "Me": {
        "additionalProperties": false,
        "properties": {
          "authenticated": {
            "type": "boolean"
          },
          "credential": {
            "enum": [
              "anonymous",
              "session",
              "api_key",
              "oauth"
            ],
            "type": "string"
          },
          "current_organization_id": {
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "guest": {
            "additionalProperties": false,
            "properties": {
              "active": {
                "type": "boolean"
              },
              "application_ids": {
                "items": {
                  "format": "uuid",
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "active",
              "application_ids"
            ],
            "type": "object"
          },
          "is_admin": {
            "type": "boolean"
          },
          "organizations": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "format": "uuid",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "role": {
                  "enum": [
                    "owner",
                    "admin",
                    "member",
                    "api_key"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name",
                "role"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "scopes": {
            "items": {
              "enum": [
                "applications:read",
                "applications:write",
                "billing:write",
                "certificates:write",
                "support:write"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "user": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "id",
                  "email",
                  "name"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "authenticated",
          "user",
          "organizations",
          "current_organization_id",
          "environment",
          "is_admin",
          "credential",
          "scopes",
          "guest"
        ],
        "type": "object"
      },
      "Member": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "email",
          "name",
          "role",
          "created_at"
        ],
        "type": "object"
      },
      "MemberList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Member"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "Meta": {
        "additionalProperties": false,
        "properties": {
          "environment_default": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "links": {
            "additionalProperties": false,
            "properties": {
              "docs": {
                "type": "string"
              },
              "get_started": {
                "type": "string"
              },
              "mcp": {
                "type": "string"
              },
              "openapi": {
                "type": "string"
              },
              "trademark_service_email": {
                "type": "string"
              }
            },
            "required": [
              "get_started",
              "docs",
              "mcp",
              "openapi",
              "trademark_service_email"
            ],
            "type": "object"
          },
          "pricing": {
            "additionalProperties": false,
            "properties": {
              "currency": {
                "type": "string"
              },
              "issuer": {
                "type": "string"
              },
              "issuer_fee_estimate_cents": {
                "additionalProperties": false,
                "properties": {
                  "cmc": {
                    "type": "integer"
                  },
                  "vmc": {
                    "type": "integer"
                  }
                },
                "required": [
                  "cmc",
                  "vmc"
                ],
                "type": "object"
              },
              "issuer_fee_range_cents": {
                "additionalProperties": false,
                "properties": {
                  "max": {
                    "type": "integer"
                  },
                  "min": {
                    "type": "integer"
                  }
                },
                "required": [
                  "min",
                  "max"
                ],
                "type": "object"
              },
              "per": {
                "type": "string"
              },
              "plans": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "checkmark": {
                      "type": "boolean"
                    },
                    "interval": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "price_cents": {
                      "type": "integer"
                    },
                    "product": {
                      "enum": [
                        "vmc",
                        "cmc"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "product",
                    "name",
                    "price_cents",
                    "interval",
                    "checkmark"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "refund_policy": {
                "type": "string"
              }
            },
            "required": [
              "currency",
              "plans",
              "issuer_fee_range_cents",
              "issuer_fee_estimate_cents",
              "issuer",
              "per",
              "refund_policy"
            ],
            "type": "object"
          },
          "providers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Which integrations are live vs mocked (no secrets).",
            "type": "object"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/StepDefinition"
            },
            "type": "array"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "version",
          "environment_default",
          "pricing",
          "steps",
          "providers",
          "links"
        ],
        "type": "object"
      },
      "MockCheckoutCompleted": {
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "format": "uuid",
            "type": "string"
          },
          "order_id": {
            "format": "uuid",
            "type": "string"
          },
          "redirect_url": {
            "type": "string"
          },
          "status": {
            "enum": [
              "paid"
            ],
            "type": "string"
          }
        },
        "required": [
          "order_id",
          "status",
          "application_id",
          "redirect_url"
        ],
        "type": "object"
      },
      "NextAction": {
        "additionalProperties": false,
        "properties": {
          "api": {
            "$ref": "#/components/schemas/ApiRef"
          },
          "description": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "mcp_tool": {
            "type": "string"
          },
          "requires_auth": {
            "type": "boolean"
          },
          "requires_payment": {
            "type": "boolean"
          },
          "step": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "description": "Web URL when the action happens in the browser (e.g. sign in).",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "step",
          "title",
          "description",
          "requires_auth",
          "requires_payment",
          "api",
          "mcp_tool"
        ],
        "type": "object"
      },
      "NextSteps": {
        "additionalProperties": false,
        "properties": {
          "background": {
            "items": {
              "$ref": "#/components/schemas/BackgroundWork"
            },
            "type": "array"
          },
          "current_step": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "next_actions": {
            "items": {
              "$ref": "#/components/schemas/NextAction"
            },
            "type": "array"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/Step"
            },
            "type": "array"
          }
        },
        "required": [
          "current_step",
          "next_actions",
          "steps",
          "background"
        ],
        "type": "object"
      },
      "Notification": {
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "recipient": {
            "type": "string"
          },
          "sent_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "pending",
              "sending",
              "sent",
              "failed",
              "skipped"
            ],
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "recipient",
          "subject",
          "status",
          "application_id",
          "domain",
          "created_at",
          "sent_at"
        ],
        "type": "object"
      },
      "NotificationList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Notification"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "OpenApiDocument": {
        "additionalProperties": true,
        "description": "An OpenAPI 3.1 document.",
        "type": "object"
      },
      "Order": {
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "format": "uuid",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "environment": {
            "enum": [
              "live",
              "test"
            ],
            "type": "string"
          },
          "expires_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "issuer_fee_cents": {
            "type": "integer"
          },
          "line_items": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "amount_cents": {
                  "type": "integer"
                },
                "kind": {
                  "enum": [
                    "plan",
                    "issuer_fee"
                  ],
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "label",
                "amount_cents"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "organization_id": {
            "format": "uuid",
            "type": "string"
          },
          "paid_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "payments_mode": {
            "enum": [
              "stripe",
              "mock"
            ],
            "type": "string"
          },
          "plan_price_cents": {
            "type": "integer"
          },
          "product": {
            "enum": [
              "vmc",
              "cmc"
            ],
            "type": "string"
          },
          "refund_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "refunded_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "enum": [
              "checkout_open",
              "paid",
              "refund_pending",
              "refunded",
              "canceled",
              "expired"
            ],
            "type": "string"
          },
          "total_cents": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "application_id",
          "domain",
          "organization_id",
          "environment",
          "product",
          "plan_price_cents",
          "issuer_fee_cents",
          "total_cents",
          "currency",
          "status",
          "payments_mode",
          "created_at",
          "paid_at",
          "refunded_at",
          "refund_reason",
          "expires_at",
          "line_items"
        ],
        "type": "object"
      },
      "OrderList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Order"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "Organization": {
        "additionalProperties": false,
        "properties": {
          "applications_count": {
            "type": "integer"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "members_count": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "role": {
            "enum": [
              "owner",
              "admin",
              "member"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "role",
          "created_at",
          "members_count",
          "applications_count"
        ],
        "type": "object"
      },
      "OrganizationList": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Organization"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Cursor for the next page, or null.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "data",
          "next_cursor"
        ],
        "type": "object"
      },
      "OrganizationNameRequest": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "OrganizationSwitchRequest": {
        "additionalProperties": false,
        "properties": {
          "organization_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "organization_id"
        ],
        "type": "object"
      },
      "Outcomes": {
        "additionalProperties": false,
        "description": "Separate outcomes — never collapsed into one \"verified\" flag.",
        "properties": {
          "bimi": {
            "enum": [
              "not_published",
              "invalid",
              "published"
            ],
            "type": "string"
          },
          "business": {
            "enum": [
              "not_started",
              "verifying",
              "verified",
              "needs_info",
              "rejected"
            ],
            "type": "string"
          },
          "certificate": {
            "enum": [
              "not_ordered",
              "waiting_prerequisites",
              "submitted",
              "issuer_validation",
              "awaiting_customer",
              "issued",
              "expiring",
              "renewed",
              "expired",
              "rejected",
              "revoked"
            ],
            "type": "string"
          },
          "dmarc_rollout": {
            "enum": [
              "missing",
              "monitoring",
              "quarantine_partial",
              "quarantine",
              "reject"
            ],
            "type": "string"
          },
          "eligibility": {
            "enum": [
              "unknown",
              "assessing",
              "vmc_eligible",
              "cmc_eligible",
              "not_currently_eligible"
            ],
            "type": "string"
          },
          "inbox_display": {
            "enum": [
              "not_observed",
              "observed"
            ],
            "type": "string"
          },
          "logo": {
            "enum": [
              "missing",
              "processing",
              "ready_for_review",
              "approved",
              "failed"
            ],
            "type": "string"
          },
          "ownership": {
            "enum": [
              "pending",
              "verified",
              "lost"
            ],
            "type": "string"
          },
          "payment": {
            "enum": [
              "unpaid",
              "checkout_open",
              "paid",
              "refund_pending",
              "refunded",
              "canceled"
            ],
            "type": "string"
          },
          "trademark": {
            "enum": [
              "not_started",
              "searching",
              "match_found",
              "no_match",
              "needs_review",
              "manually_verified",
              "error"
            ],
            "type": "string"
          }
        },
        "required": [
          "eligibility",
          "payment",
          "business",
          "ownership",
          "logo",
          "trademark",
          "certificate",
          "bimi",
          "inbox_display",
          "dmarc_rollout"
        ],
        "type": "object"
      },
      "Prerequisite": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "enum": [
              "paid",
              "business_verified",
              "logo_approved",
              "ownership_verified",
              "trademark_verified"
            ],
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "met": {
            "type": "boolean"
          },
          "step": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "met",
          "label",
          "step"
        ],
        "type": "object"
      },
      "ProtectedResourceMetadata": {
        "additionalProperties": false,
        "properties": {
          "authorization_servers": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bearer_methods_supported": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "resource": {
            "type": "string"
          },
          "resource_documentation": {
            "type": "string"
          },
          "resource_name": {
            "type": "string"
          },
          "scopes_supported": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "resource",
          "authorization_servers",
          "bearer_methods_supported",
          "scopes_supported",
          "resource_name",
          "resource_documentation"
        ],
        "type": "object"
      },
      "QuickCheck": {
        "additionalProperties": false,
        "properties": {
          "bimi": {
            "additionalProperties": false,
            "properties": {
              "present": {
                "type": "boolean"
              }
            },
            "required": [
              "present"
            ],
            "type": "object"
          },
          "blocked_provider": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "provider": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "provider",
                  "reason"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "checked_at": {
            "format": "date-time",
            "type": "string"
          },
          "dmarc": {
            "additionalProperties": false,
            "properties": {
              "bimi_ready": {
                "type": "boolean"
              },
              "policy": {
                "enum": [
                  "none",
                  "quarantine",
                  "reject",
                  null
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "present": {
                "type": "boolean"
              }
            },
            "required": [
              "present",
              "policy",
              "bimi_ready"
            ],
            "type": "object"
          },
          "domain": {
            "type": "string"
          },
          "domain_display": {
            "type": "string"
          },
          "has_mx": {
            "type": "boolean"
          },
          "input": {
            "type": "string"
          },
          "is_subdomain": {
            "type": "boolean"
          },
          "mailbox_provider": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MailboxProvider"
              },
              {
                "type": "null"
              }
            ]
          },
          "organizational_domain": {
            "type": "string"
          },
          "registered": {
            "type": "boolean"
          },
          "summary": {
            "description": "One friendly sentence.",
            "type": "string"
          },
          "verdict": {
            "enum": [
              "ok",
              "blocked_provider",
              "invalid",
              "not_registered"
            ],
            "type": "string"
          },
          "website": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "final_url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "reachable": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "reachable",
                  "final_url"
                ],
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "input",
          "domain",
          "domain_display",
          "organizational_domain",
          "is_subdomain",
          "verdict",
          "blocked_provider",
          "registered",
          "mailbox_provider",
          "has_mx",
          "website",
          "dmarc",
          "bimi",
          "summary",
          "checked_at"
        ],
        "type": "object"
      },
      "Ready": {
        "additionalProperties": false,
        "properties": {
          "migrations": {
            "type": "integer"
          },
          "status": {
            "enum": [
              "ready",
              "unavailable"
            ],
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "RecordFix": {
        "additionalProperties": false,
        "properties": {
          "host": {
            "type": "string"
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "host",
          "type",
          "value",
          "note"
        ],
        "type": "object"
      },
      "ResumeLink": {
        "additionalProperties": false,
        "properties": {
          "emailed": {
            "type": "boolean"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "url": {
            "description": "`…/resume#rt_…` — one-time, 24h.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "expires_at",
          "emailed"
        ],
        "type": "object"
      },
      "ResumeLinkRequest": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "Optionally email the link.",
            "format": "email",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "ResumeRequest": {
        "additionalProperties": false,
        "properties": {
          "token": {
            "description": "One-time `rt_…` token from a resume link.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "ResumeResult": {
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "format": "uuid",
            "type": "string"
          },
          "guest_token": {
            "description": "A new guest credential for unclaimed drafts; null when the draft belongs to an account.",
            "type": [
              "string",
              "null"
            ]
          },
          "requires_sign_in": {
            "type": "boolean"
          },
          "step": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          }
        },
        "required": [
          "application_id",
          "step",
          "guest_token",
          "requires_sign_in"
        ],
        "type": "object"
      },
      "RevokeCertificateRequest": {
        "additionalProperties": false,
        "properties": {
          "confirm": {
            "description": "Exactly `REVOKE <domain>`.",
            "type": "string"
          },
          "reason": {
            "description": "Why the certificate is revoked (shown to the issuer).",
            "type": "string"
          }
        },
        "required": [
          "reason",
          "confirm"
        ],
        "type": "object"
      },
      "Step": {
        "additionalProperties": false,
        "description": "Only the user (or their agent) completes steps; background work only changes outcomes.",
        "properties": {
          "completed_at": {
            "description": "When the user completed the step (null if not yet).",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "paid": {
            "type": "boolean"
          },
          "phase": {
            "enum": [
              "check",
              "setup",
              "certificate",
              "live"
            ],
            "type": "string"
          },
          "requirements": {
            "description": "The minimum this step needs (required) plus recommended extras.",
            "items": {
              "$ref": "#/components/schemas/StepRequirement"
            },
            "type": "array"
          },
          "slug": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "status": {
            "description": "`complete`: the user finished it. `attention`: finished earlier, but something it relied on is now missing or broken. `ready`: the current step has everything it needs; complete it with `completeStep`. `action_required` / `in_progress` / `blocked`: the current step isn't ready. `locked`: comes after the current step.",
            "enum": [
              "locked",
              "in_progress",
              "action_required",
              "ready",
              "complete",
              "attention",
              "blocked"
            ],
            "type": "string"
          },
          "summary": {
            "description": "One plain-English sentence.",
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "phase",
          "paid",
          "status",
          "summary",
          "requirements",
          "completed_at"
        ],
        "type": "object"
      },
      "StepDefinition": {
        "additionalProperties": false,
        "properties": {
          "paid": {
            "type": "boolean"
          },
          "phase": {
            "enum": [
              "check",
              "setup",
              "certificate",
              "live"
            ],
            "type": "string"
          },
          "slug": {
            "enum": [
              "domain",
              "email-health",
              "logo",
              "trademark",
              "eligibility",
              "checkout",
              "business",
              "logo-approval",
              "dns",
              "certificate",
              "go-live"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "phase",
          "paid"
        ],
        "type": "object"
      },
      "StepRequirement": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "description": "Why it isn't met, when known.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Stable id, e.g. `dmarc_enforced`.",
            "type": "string"
          },
          "label": {
            "description": "Plain English.",
            "type": "string"
          },
          "met": {
            "type": "boolean"
          },
          "required": {
            "description": "False for recommended (optional) items.",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "label",
          "met",
          "required",
          "detail"
        ],
        "type": "object"
      },
      "SupportCreated": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "kind": {
            "enum": [
              "contact_human",
              "support",
              "feedback",
              "feature_request",
              "partnership"
            ],
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "kind",
          "message"
        ],
        "type": "object"
      },
      "SupportRequestInput": {
        "additionalProperties": false,
        "properties": {
          "application_id": {
            "description": "Link the request to this application (only if you can access it).",
            "format": "uuid",
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "email": {
            "description": "Required for anonymous requests that need a reply.",
            "format": "email",
            "type": "string"
          },
          "kind": {
            "enum": [
              "contact_human",
              "support",
              "feedback",
              "feature_request",
              "partnership"
            ],
            "type": "string"
          },
          "message": {
            "description": "The question or feedback, in the user's words.",
            "type": "string"
          },
          "name": {
            "description": "The sender's name.",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "message"
        ],
        "type": "object"
      },
      "TestMessage": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Send a real email from the domain to this address.",
            "type": "string"
          },
          "bimi_selector": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "dkim": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "aligned": {
                  "type": "boolean"
                },
                "domain": {
                  "type": "string"
                },
                "result": {
                  "enum": [
                    "pass",
                    "fail",
                    "softfail",
                    "neutral",
                    "none",
                    "temperror",
                    "permerror",
                    "unknown"
                  ],
                  "type": "string"
                },
                "selector": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "domain",
                "selector",
                "result",
                "aligned"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "dmarc": {
            "additionalProperties": false,
            "properties": {
              "aligned_via": {
                "items": {
                  "enum": [
                    "spf",
                    "dkim"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "result": {
                "enum": [
                  "pass",
                  "fail",
                  "softfail",
                  "neutral",
                  "none",
                  "temperror",
                  "permerror",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "required": [
              "result",
              "aligned_via"
            ],
            "type": "object"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "findings": {
            "items": {
              "$ref": "#/components/schemas/Finding"
            },
            "type": "array"
          },
          "from": {
            "type": [
              "string",
              "null"
            ]
          },
          "from_domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "instructions": {
            "type": "string"
          },
          "received_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "spf": {
            "additionalProperties": false,
            "properties": {
              "aligned": {
                "type": "boolean"
              },
              "domain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "result": {
                "enum": [
                  "pass",
                  "fail",
                  "softfail",
                  "neutral",
                  "none",
                  "temperror",
                  "permerror",
                  "unknown"
                ],
                "type": "string"
              }
            },
            "required": [
              "result",
              "domain",
              "aligned"
            ],
            "type": "object"
          },
          "status": {
            "enum": [
              "waiting",
              "received",
              "expired"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "address",
          "status",
          "received_at",
          "expires_at",
          "created_at"
        ],
        "type": "object"
      },
      "Trademark": {
        "additionalProperties": false,
        "properties": {
          "candidates": {
            "items": {
              "$ref": "#/components/schemas/TrademarkRecord"
            },
            "type": "array"
          },
          "checked_at": {
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "match": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TrademarkRecord"
              },
              {
                "type": "null"
              }
            ]
          },
          "message": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "status": {
            "enum": [
              "not_started",
              "searching",
              "match_found",
              "no_match",
              "needs_review",
              "manually_verified",
              "error"
            ],
            "type": "string"
          },
          "trademark_service_email": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "provider",
          "match",
          "candidates",
          "checked_at",
          "message",
          "trademark_service_email"
        ],
        "type": "object"
      },
      "TrademarkClaimRequest": {
        "additionalProperties": false,
        "properties": {
          "serial_or_registration_number": {
            "description": "US registration (7 digits) or serial (8 digits) number.",
            "type": "string"
          }
        },
        "required": [
          "serial_or_registration_number"
        ],
        "type": "object"
      },
      "TrademarkRecord": {
        "additionalProperties": false,
        "properties": {
          "filing_date": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "mark_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "mark_type": {
            "enum": [
              "word",
              "design",
              "design_plus_words",
              "unknown"
            ],
            "type": "string"
          },
          "method": {
            "description": "ai_vision | perceptual_hash | name_match_mock | manual",
            "type": "string"
          },
          "office": {
            "type": "string"
          },
          "owner": {
            "type": [
              "string",
              "null"
            ]
          },
          "registration_date": {
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "registration_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "serial_number": {
            "type": "string"
          },
          "similarity": {
            "description": "0..1 similarity to the customer's logo.",
            "type": "number"
          },
          "source_url": {
            "type": "string"
          },
          "status": {
            "enum": [
              "registered",
              "pending",
              "abandoned",
              "cancelled",
              "expired",
              "unknown"
            ],
            "type": "string"
          },
          "status_text": {
            "type": "string"
          }
        },
        "required": [
          "serial_number",
          "registration_number",
          "mark_text",
          "owner",
          "status",
          "status_text",
          "mark_type",
          "image_url",
          "filing_date",
          "registration_date",
          "source_url",
          "office"
        ],
        "type": "object"
      },
      "TrademarkSearchRequest": {
        "additionalProperties": false,
        "properties": {
          "mark_text": {
            "description": "Words in the mark to search for (defaults to the brand name).",
            "type": "string"
          },
          "owner_name": {
            "description": "Legal owner name to search for (defaults to the company name).",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "VisualDiff": {
        "additionalProperties": false,
        "properties": {
          "score": {
            "description": "0..1 share of the logo area that changed.",
            "type": "number"
          },
          "verdict": {
            "enum": [
              "identical",
              "minor",
              "significant"
            ],
            "type": "string"
          }
        },
        "required": [
          "score",
          "verdict"
        ],
        "type": "object"
      },
      "WatchEligibility": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "watching": {
            "type": "boolean"
          }
        },
        "required": [
          "watching",
          "email",
          "message"
        ],
        "type": "object"
      },
      "WatchEligibilityRequest": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "Where to send the email when the domain qualifies.",
            "format": "email",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "description": "API key (`vi_live_…` / `vi_test_…`, bound to one organization + environment) or a WorkOS AuthKit OAuth access token (MCP clients). A guest token (`vi_guest_…`) is also accepted here.",
        "scheme": "bearer",
        "type": "http"
      },
      "guestCookie": {
        "description": "Guest credential cookie (browsers).",
        "in": "cookie",
        "name": "vi_guest",
        "type": "apiKey"
      },
      "guestToken": {
        "description": "Guest credential returned by `createApplication` / `createGuestSession`. Valid 30 days (sliding).",
        "in": "header",
        "name": "VI-Guest-Token",
        "type": "apiKey"
      },
      "sessionCookie": {
        "description": "Signed-in web session (browsers).",
        "in": "cookie",
        "name": "vi_session",
        "type": "apiKey"
      }
    }
  },
  "externalDocs": {
    "description": "Developer docs",
    "url": "https://getverifiedinbox.com/docs/api"
  },
  "info": {
    "contact": {
      "email": "support@getverifiedinbox.com",
      "name": "VerifiedInbox support",
      "url": "https://getverifiedinbox.com/support"
    },
    "description": "VerifiedInbox gets a company's logo — and, with a registered trademark, Gmail's blue verified checkmark — shown next to the emails it sends (BIMI + VMC/CMC certificates). Every operation is also available as an MCP tool at `/mcp`; `x-mcp-tools` names the tool for each operation.\n\nBase URL `https://api.getverifiedinbox.com` (local `http://localhost:8080`; the website proxies the same API at `/api/*`). JSON bodies (UTF-8), RFC 3339 timestamps, money in integer **cents** (USD). Versioned under `/v1`; only additive changes within v1 (new operations, optional fields, enum values — tolerate unknown enum values).\n\n## Authentication\n\n| Credential | How to send | Who |\n|---|---|---|\n| Guest token | `VI-Guest-Token: vi_guest_…`, the `vi_guest` cookie, or `Authorization: Bearer vi_guest_…` | Anonymous users (30 days, sliding) |\n| API key | `Authorization: Bearer vi_live_…` / `vi_test_…` | Servers and agents; bound to one organization + environment |\n| OAuth access token | `Authorization: Bearer <JWT>` from WorkOS AuthKit | MCP clients; may send `VI-Environment` and `VI-Organization` |\n| Session | `vi_session` cookie | The website |\n\nScopes (API keys / OAuth): `applications:read`, `applications:write`, `billing:write`, `certificates:write`, `support:write`. `x-access` says who may call an operation: `public` (credentials optional), `guest` (guest or account credential for the resource), `account`, `paid` (account + paid plan), `admin`, `webhook`. A guest token sent together with an account credential claims guest drafts (`claimApplication`, also automatic at sign-in).\n\n## Conventions\n\n- **Errors**: every non-2xx response is the `Error` schema with a stable `code`, a plain-English `message` and, when the caller can act, `next_action` (e.g. `sign_in`, `checkout`). Inaccessible resources are always `404`, never `403`; sub-resources that don't exist yet (a logo before upload) are `404` too.\n- **Idempotency**: `x-idempotency: required` operations (checkout, certificate operations, refunds) need `Idempotency-Key`. Same key + same body replays the first response; same key + different body is `409`. Keys live 24 hours per caller.\n- **Optimistic concurrency**: applications carry `version`; send `If-Match: \"<version>\"` on edits. Stale versions get `409 version_conflict` with the current application in `details.application`.\n- **Rate limits**: per IP, guest and organization; expensive anonymous work (trademark search, AI vision, browser automation) also draws from a global daily budget. `429` includes `Retry-After`.\n- **Pagination**: lists are `{ \"data\": [...], \"next_cursor\": null | \"…\" }`.\n\n## Core concepts\n\n- **Application**: the server-side state of one domain's journey. Outcomes are separate fields (eligibility, payment, business, ownership, logo, trademark, certificate, BIMI, inbox display, DMARC rollout), never one \"verified\" flag; CMC success means the logo shows without a checkmark.\n- **Steps**: 11 wizard steps computed from the outcomes. `domain`, `email-health`, `logo`, `trademark` and `eligibility` are free; `checkout`, `business`, `logo-approval`, `dns`, `certificate` and `go-live` are paid. `current_step` is the first incomplete step; `next_actions` say what to do next and which operation / MCP tool does it.\n- **Background work**: long-running processes (scans, trademark search, issuance, renewals) appear in `background` with a plain-English `message`; poll the application while anything is `pending` or `running`.\n- **Anonymous drafts**: `createApplication` without credentials creates a guest session and returns `guest_token` once. Knowing a domain or an id grants nothing. `createResumeLink` hands a draft to a browser with a one-time link.\n\n## Environments and test mode\n\n`live` and `test` coexist (Stripe-style). Test mode uses the mock certificate issuer, Stripe test keys (or `completeMockCheckout`) and `vi_test_` API keys. `example.com`, `example.org`, `example.net` and their subdomains always run in test mode with simulated DNS, so a full journey — including a mock issuance — works without owning a domain. The mock trademark register recognizes the brands `acme`, `globex`, `initech`, `paypal` and `verifiedinbox` (e.g. `acme.example.com`).\n\nHuman guide: https://getverifiedinbox.com/docs/api · AI guide: https://getverifiedinbox.com/get-started.md",
    "termsOfService": "https://getverifiedinbox.com/terms",
    "title": "VerifiedInbox API",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/.well-known/oauth-protected-resource": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "getProtectedResourceMetadata",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtectedResourceMetadata"
                }
              }
            },
            "description": "Metadata."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "OAuth protected-resource metadata (RFC 9728)",
        "tags": [
          "MCP"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "OAuth discovery for MCP clients.",
        "x-mcp-tools": []
      }
    },
    "/.well-known/oauth-protected-resource/mcp": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "getProtectedResourceMetadataMcp",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProtectedResourceMetadata"
                }
              }
            },
            "description": "Metadata."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "OAuth protected-resource metadata for /mcp",
        "tags": [
          "MCP"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "OAuth discovery for MCP clients.",
        "x-mcp-tools": []
      }
    },
    "/bimi/test/{domain}/{file}": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "getHostedTestAsset",
        "parameters": [
          {
            "description": "Customer domain, e.g. `acme.com`.",
            "in": "path",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`logo.svg` or `certificate.pem` (`vmc.pem`/`cmc.pem` are accepted aliases).",
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "enum": [
                "logo.svg",
                "certificate.pem"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "image/svg+xml": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "Test-mode logo or certificate."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "Hosted BIMI assets (test mode)",
        "tags": [
          "Hosting"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Public files fetched by mailbox providers.",
        "x-mcp-tools": []
      }
    },
    "/bimi/{domain}/{file}": {
      "get": {
        "description": "Also served host-based at https://bimi.getverifiedinbox.com/{domain}/{file}. 404 until active.\n\n**Access:** Public — no credentials needed.",
        "operationId": "getHostedAsset",
        "parameters": [
          {
            "description": "Customer domain, e.g. `acme.com`.",
            "in": "path",
            "name": "domain",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`logo.svg` or `certificate.pem` (`vmc.pem`/`cmc.pem` are accepted aliases).",
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "enum": [
                "logo.svg",
                "certificate.pem"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "image/svg+xml": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "`logo.svg` (SVG) or `certificate.pem` (`application/x-pem-file`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "Hosted BIMI logo / certificate",
        "tags": [
          "Hosting"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Public files fetched by mailbox providers.",
        "x-mcp-tools": []
      }
    },
    "/health": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "getHealth",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "Alive."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "Liveness check",
        "tags": [
          "Meta"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Infrastructure health check.",
        "x-mcp-tools": []
      }
    },
    "/mcp": {
      "post": {
        "description": "JSON-RPC 2.0. Anonymous tools work without credentials; account tools take an API key or WorkOS OAuth token (401 + `WWW-Authenticate` triggers OAuth). Guide: https://getverifiedinbox.com/docs/mcp\n\n**Access:** Public — no credentials needed.",
        "operationId": "mcp",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JsonRpcMessage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonRpcMessage"
                }
              }
            },
            "description": "JSON-RPC response(s)."
          },
          "202": {
            "description": "Notifications accepted."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "MCP endpoint (Streamable HTTP, JSON responses)",
        "tags": [
          "MCP"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "This is the MCP endpoint.",
        "x-mcp-tools": []
      }
    },
    "/openapi.json": {
      "get": {
        "description": "The public OpenAPI 3.1 contract (also at https://getverifiedinbox.com/openapi.json).\n\n**Access:** Public — no credentials needed.",
        "operationId": "getOpenApi",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenApiDocument"
                }
              }
            },
            "description": "OpenAPI document."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "This OpenAPI document",
        "tags": [
          "Meta"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "The contract itself.",
        "x-mcp-tools": []
      }
    },
    "/ready": {
      "get": {
        "description": "Database reachable and migrations applied. 503 when not ready.\n\n**Access:** Public — no credentials needed.",
        "operationId": "getReady",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ready"
                }
              }
            },
            "description": "Ready."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [],
        "summary": "Readiness check",
        "tags": [
          "Meta"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Infrastructure health check.",
        "x-mcp-tools": []
      }
    },
    "/v1/api-keys": {
      "get": {
        "description": "**Access:** Account required.",
        "operationId": "listApiKeys",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyList"
                }
              }
            },
            "description": "Keys (no tokens)."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "API keys",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Credential management is deliberately web-only.",
        "x-mcp-tools": []
      },
      "post": {
        "description": "Bound to the current environment. The token is shown once.\n\n**Access:** Account required.",
        "operationId": "createApiKey",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreated"
                }
              }
            },
            "description": "Created."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Create an API key (web session)",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Credential management is deliberately web-only.",
        "x-mcp-tools": []
      }
    },
    "/v1/api-keys/{api_key_id}": {
      "delete": {
        "description": "**Access:** Account required.",
        "operationId": "revokeApiKey",
        "parameters": [
          {
            "description": "API key id.",
            "in": "path",
            "name": "api_key_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Revoked."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Revoke an API key",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Credential management is deliberately web-only.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications": {
      "get": {
        "description": "Guest drafts for a guest credential, or the current organization + environment for accounts.\n\n**Access:** Free — guest or account. MCP: `list_applications`, `get_account`.",
        "operationId": "listApplications",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationList"
                }
              }
            },
            "description": "Applications."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "List my verifications",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "list_applications",
          "get_account"
        ]
      },
      "post": {
        "description": "Idempotent per owner + domain (200 existing, 201 new). Creates a guest session when no credential is sent and returns `guest_token` once. Blocked providers → 422 `blocked_provider`. example.com domains always run in test mode with simulated DNS.\n\n**Access:** Public — no credentials needed. MCP: `start_application`.",
        "operationId": "createApplication",
        "parameters": [
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApplicationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCreated"
                }
              }
            },
            "description": "Existing draft returned."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationCreated"
                }
              }
            },
            "description": "Created."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Start (or resume) a verification",
        "tags": [
          "Applications"
        ],
        "x-access": "public",
        "x-idempotency": "optional",
        "x-mcp-tools": [
          "start_application"
        ]
      }
    },
    "/v1/applications/{application_id}": {
      "get": {
        "description": "Outcomes, the 11 wizard steps, background work and next actions.\n\n**Access:** Free — guest or account. MCP: `get_application`.",
        "operationId": "getApplication",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "The application."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Get a verification",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_application"
        ]
      },
      "patch": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "updateApplication",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          },
          {
            "description": "The application `version` you last saw, e.g. `\"7\"`. Stale → 409 `version_conflict` with the current application.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Updated."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Choose product / contact email",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "The product is chosen with create_checkout's `product` argument.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/archive": {
      "post": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "archiveApplication",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Archived."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Archive (unpaid only)",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Archiving is a web-app action.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/business": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_business_status`.",
        "operationId": "getBusiness",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Business"
                }
              }
            },
            "description": "Status."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Company verification status",
        "tags": [
          "Business"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_business_status"
        ]
      },
      "put": {
        "description": "Applicant authority: email at the domain, or `authority_attested: true` (the issuer verifies too).\n\n**Access:** Paid plan required. Scope: `applications:write`. MCP: `submit_business_details`.",
        "operationId": "submitBusiness",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Business"
                }
              }
            },
            "description": "Verification started."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "applications:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Submit legal company details",
        "tags": [
          "Business"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "submit_business_details"
        ],
        "x-required-scope": "applications:write"
      }
    },
    "/v1/applications/{application_id}/certificate": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_certificate`.",
        "operationId": "getCertificate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Certificate."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Certificate status, prerequisites, final check and history",
        "tags": [
          "Certificate"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_certificate"
        ]
      }
    },
    "/v1/applications/{application_id}/certificate/check": {
      "post": {
        "description": "Runs automatically right before the order is submitted (it's never submitted while anything fails) and daily while the issuer reviews it. Failures mark the affected steps `attention`.\n\n**Access:** Paid plan required. MCP: `run_final_check`.",
        "operationId": "runFinalCheck",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Certificate state with the new `final_check`."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Re-check everything the issuer will verify",
        "tags": [
          "Certificate"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "run_final_check"
        ]
      }
    },
    "/v1/applications/{application_id}/certificate/order": {
      "post": {
        "description": "**Access:** Paid plan required. Scope: `certificates:write`. Requires `Idempotency-Key`. MCP: `order_certificate`.",
        "operationId": "orderCertificate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Ordered."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "certificates:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Submit the order (normally automatic)",
        "tags": [
          "Certificate"
        ],
        "x-access": "paid",
        "x-idempotency": "required",
        "x-mcp-tools": [
          "order_certificate"
        ],
        "x-required-scope": "certificates:write"
      }
    },
    "/v1/applications/{application_id}/certificate/reissue": {
      "post": {
        "description": "Re-checks domain ownership first.\n\n**Access:** Paid plan required. Scope: `certificates:write`. Requires `Idempotency-Key`. MCP: `reissue_certificate`.",
        "operationId": "reissueCertificate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateReasonRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Reissue started."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "certificates:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Reissue the certificate",
        "tags": [
          "Certificate"
        ],
        "x-access": "paid",
        "x-idempotency": "required",
        "x-mcp-tools": [
          "reissue_certificate"
        ],
        "x-required-scope": "certificates:write"
      }
    },
    "/v1/applications/{application_id}/certificate/renew": {
      "post": {
        "description": "**Access:** Paid plan required. Scope: `certificates:write`. Requires `Idempotency-Key`. MCP: `renew_certificate`.",
        "operationId": "renewCertificate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Renewal started."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "certificates:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Renew early",
        "tags": [
          "Certificate"
        ],
        "x-access": "paid",
        "x-idempotency": "required",
        "x-mcp-tools": [
          "renew_certificate"
        ],
        "x-required-scope": "certificates:write"
      }
    },
    "/v1/applications/{application_id}/certificate/revoke": {
      "post": {
        "description": "Requires `confirm: \"REVOKE <domain>\"`; re-checks domain ownership. The logo stops showing in inboxes.\n\n**Access:** Paid plan required. Scope: `certificates:write`. Requires `Idempotency-Key`. MCP: `revoke_certificate`.",
        "operationId": "revokeCertificate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeCertificateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateState"
                }
              }
            },
            "description": "Revoked."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "certificates:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Revoke permanently",
        "tags": [
          "Certificate"
        ],
        "x-access": "paid",
        "x-idempotency": "required",
        "x-mcp-tools": [
          "revoke_certificate"
        ],
        "x-required-scope": "certificates:write"
      }
    },
    "/v1/applications/{application_id}/checkout": {
      "post": {
        "description": "Agents can create the link; only a person can pay. Payment is confirmed by webhook. Claims a guest draft first when needed.\n\n**Access:** Account required. Scope: `billing:write`. Requires `Idempotency-Key`. MCP: `create_checkout`.",
        "operationId": "createCheckout",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique key per intended action (≤ 255 chars). Same key + same body replays the first response; same key + different body → 409.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckoutSession"
                }
              }
            },
            "description": "Checkout link."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "billing:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Create a Stripe checkout link",
        "tags": [
          "Checkout"
        ],
        "x-access": "account",
        "x-idempotency": "required",
        "x-mcp-tools": [
          "create_checkout"
        ],
        "x-required-scope": "billing:write"
      }
    },
    "/v1/applications/{application_id}/claim": {
      "post": {
        "description": "Send the account credential plus the guest credential (`VI-Guest-Token`). Atomic; when the account already has the domain the more advanced application is kept.\n\n**Access:** Account required. Scope: `applications:write`. MCP: `claim_application`.",
        "operationId": "claimApplication",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimResult"
                }
              }
            },
            "description": "Claim result."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "applications:write"
            ],
            "guestToken": []
          },
          {
            "guestToken": [],
            "sessionCookie": []
          },
          {
            "guestCookie": [],
            "sessionCookie": []
          }
        ],
        "summary": "Move a guest draft into the account",
        "tags": [
          "Applications"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "claim_application"
        ],
        "x-required-scope": "applications:write"
      }
    },
    "/v1/applications/{application_id}/dkim-selectors": {
      "post": {
        "description": "**Access:** Free — guest or account. MCP: `verify_dkim_selectors`.",
        "operationId": "verifyDkimSelectors",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DkimSelectorsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailHealth"
                }
              }
            },
            "description": "Updated report."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Verify DKIM selectors you supply",
        "tags": [
          "Email health"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "verify_dkim_selectors"
        ]
      }
    },
    "/v1/applications/{application_id}/dns": {
      "get": {
        "description": "**Access:** Paid plan required. MCP: `get_dns_records`.",
        "operationId": "getDnsRecords",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRecords"
                }
              }
            },
            "description": "Records."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Every DNS record to add, with live status",
        "tags": [
          "DNS"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_dns_records"
        ]
      }
    },
    "/v1/applications/{application_id}/dns/verify": {
      "post": {
        "description": "Checks the authoritative nameservers now and watches closely for the next minutes.\n\n**Access:** Paid plan required. MCP: `verify_dns`.",
        "operationId": "verifyDns",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DnsRecords"
                }
              }
            },
            "description": "Records."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Re-check DNS now",
        "tags": [
          "DNS"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "verify_dns"
        ]
      }
    },
    "/v1/applications/{application_id}/eligibility": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_eligibility`.",
        "operationId": "getEligibility",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Eligibility"
                }
              }
            },
            "description": "Assessment."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "VMC / CMC / not-yet-eligible with evidence",
        "tags": [
          "Eligibility"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_eligibility"
        ]
      }
    },
    "/v1/applications/{application_id}/eligibility/watch": {
      "post": {
        "description": "**Access:** Free — guest or account. MCP: `watch_eligibility`.",
        "operationId": "watchEligibility",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WatchEligibilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WatchEligibility"
                }
              }
            },
            "description": "Watching."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Email me when this domain qualifies",
        "tags": [
          "Eligibility"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "watch_eligibility"
        ]
      }
    },
    "/v1/applications/{application_id}/email-health": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "getEmailHealth",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailHealth"
                }
              }
            },
            "description": "Report (null until the first scan finishes)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Latest email-security report + DMARC rollout plan",
        "tags": [
          "Email health"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "recheck_email_security returns the same report after re-checking; get_application reports the outcomes.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/email-health/check": {
      "post": {
        "description": "Run after changing DNS records. Uses the domain's authoritative nameservers, so changes show within seconds. DKIM selectors found earlier are checked again. Sandbox domains simulate publishing the recommended DMARC record.\n\n**Access:** Free — guest or account. MCP: `recheck_email_security`.",
        "operationId": "recheckEmailHealth",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailHealth"
                }
              }
            },
            "description": "Updated report."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Re-check email security now",
        "tags": [
          "Email health"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "recheck_email_security"
        ]
      }
    },
    "/v1/applications/{application_id}/email-usage": {
      "put": {
        "description": "`none` (new domain, no email yet) and `low` (little email) get the blocking DMARC record straight away; `active` gets the staged rollout. Waiting times are suggestions: every stage's record is in `dmarc_rollout.plan`.\n\n**Access:** Free — guest or account. MCP: `set_email_usage`.",
        "operationId": "setEmailUsage",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailUsageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailHealth"
                }
              }
            },
            "description": "Updated guidance."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "How email is used on the domain",
        "tags": [
          "Email health"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "set_email_usage"
        ]
      }
    },
    "/v1/applications/{application_id}/estimate": {
      "get": {
        "description": "Plan + pass-through issuer fee (estimated). Full refund if issuance is rejected.\n\n**Access:** Free — guest or account. MCP: `get_estimate`.",
        "operationId": "getEstimate",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Default: the chosen/recommended product.",
            "in": "query",
            "name": "product",
            "required": false,
            "schema": {
              "enum": [
                "vmc",
                "cmc"
              ],
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Estimate"
                }
              }
            },
            "description": "Estimate."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Itemized yearly price",
        "tags": [
          "Eligibility"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_estimate"
        ]
      }
    },
    "/v1/applications/{application_id}/events": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "listEvents",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventList"
                }
              }
            },
            "description": "Events, newest first."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Timeline of the verification",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Shown in the web app; get_application summarises the state.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/go-live": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "getGoLive",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoLive"
                }
              }
            },
            "description": "Status."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "BIMI publication, test email, display, monitoring, renewal",
        "tags": [
          "Go live"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Covered by get_application outcomes, get_dns_records and get_certificate.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/inbox-display": {
      "post": {
        "description": "**Access:** Paid plan required. Scope: `applications:write`. MCP: `confirm_inbox_display`.",
        "operationId": "confirmInboxDisplay",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InboxDisplayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoLive"
                }
              }
            },
            "description": "Recorded."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "applications:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Record that the logo was seen in a mailbox",
        "tags": [
          "Go live"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "confirm_inbox_display"
        ],
        "x-required-scope": "applications:write"
      }
    },
    "/v1/applications/{application_id}/logo": {
      "get": {
        "description": "404 until a logo was submitted.\n\n**Access:** Free — guest or account. MCP: `get_logo_status`.",
        "operationId": "getLogo",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Logo"
                }
              }
            },
            "description": "Logo."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Logo status, analysis and changes",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_logo_status"
        ]
      },
      "put": {
        "description": "SVG text, an https URL, or the logo discovered on the website. The original is preserved byte-for-byte; the SVG Tiny P/S derivative and a trademark search start in the background.\n\n**Access:** Free — guest or account. MCP: `submit_logo`.",
        "operationId": "submitLogo",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          },
          {
            "description": "The application `version` you last saw, e.g. `\"7\"`. Stale → 409 `version_conflict` with the current application.",
            "in": "header",
            "name": "If-Match",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogoInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Logo"
                }
              }
            },
            "description": "Received; processing."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Submit the logo",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "submit_logo"
        ]
      }
    },
    "/v1/applications/{application_id}/logo-candidates": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_logo_status`.",
        "operationId": "listLogoCandidates",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoCandidates"
                }
              }
            },
            "description": "Candidates."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Logos found on the website",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_logo_status"
        ]
      }
    },
    "/v1/applications/{application_id}/logo/approve": {
      "post": {
        "description": "Approves exactly the derivative that was reviewed (`converted_sha256`); a different version → 409.\n\n**Access:** Paid plan required. Scope: `applications:write`. MCP: `approve_logo`.",
        "operationId": "approveLogo",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveLogoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Logo"
                }
              }
            },
            "description": "Approved."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "402": {
            "$ref": "#/components/responses/PaymentRequired"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "applications:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Approve the reviewed inbox-ready logo",
        "tags": [
          "Logo"
        ],
        "x-access": "paid",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "approve_logo"
        ],
        "x-required-scope": "applications:write"
      }
    },
    "/v1/applications/{application_id}/logo/converted.svg": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "getLogoConverted",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "image/svg+xml": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The compliant derivative."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Inbox-ready SVG Tiny P/S file",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Binary file; get_logo_status returns its URL.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/logo/original.svg": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "getLogoOriginal",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "image/svg+xml": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The original file (sandboxed CSP)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Original logo file",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Binary file; get_logo_status returns its URL.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/logo/preview.png": {
      "get": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "getLogoPreview",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Default `converted` (falls back to the original while converting).",
            "in": "query",
            "name": "variant",
            "required": false,
            "schema": {
              "enum": [
                "original",
                "converted"
              ],
              "type": "string"
            }
          },
          {
            "description": "Square size in px (default 256, clamped 32–1024).",
            "in": "query",
            "name": "size",
            "required": false,
            "schema": {
              "maximum": 1024,
              "minimum": 32,
              "type": "integer"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "image/png": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "PNG."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Rendered PNG preview",
        "tags": [
          "Logo"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Binary file; get_logo_status returns its URL.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/next-steps": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_application`.",
        "operationId": "getNextSteps",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NextSteps"
                }
              }
            },
            "description": "Next steps."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Current step and next actions",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_application"
        ]
      }
    },
    "/v1/applications/{application_id}/refresh": {
      "post": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "refreshApplication",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "Checks restarted."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Re-run checks now",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Checks re-run automatically; check_email_security and verify_dns re-check on demand.",
        "x-mcp-tools": []
      }
    },
    "/v1/applications/{application_id}/resume-links": {
      "post": {
        "description": "The token is in the URL fragment (never sent to servers). Optionally emailed. 24h, single use.\n\n**Access:** Free — guest or account. MCP: `create_resume_link`.",
        "operationId": "createResumeLink",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeLinkRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResumeLink"
                }
              }
            },
            "description": "Link."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "One-time link to continue in a browser",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "create_resume_link"
        ]
      }
    },
    "/v1/applications/{application_id}/steps/{step}/complete": {
      "post": {
        "description": "Only the user (or their agent) moves the wizard forward; background work never does. Works for the current step once every required item in its `requirements` is met, and for an earlier step marked `attention` once it's fixed (that step's checks are re-run live). Paid steps need an account. 409 `step_not_ready` lists what's missing; 409 `step_locked` when an earlier step comes first. Completing an already completed step returns the application unchanged.\n\n**Access:** Free — guest or account. MCP: `complete_step`.",
        "operationId": "completeStep",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Wizard step, e.g. `domain`, `email-health`, `dns`.",
            "in": "path",
            "name": "step",
            "required": true,
            "schema": {
              "enum": [
                "domain",
                "email-health",
                "logo",
                "trademark",
                "eligibility",
                "checkout",
                "business",
                "logo-approval",
                "dns",
                "certificate",
                "go-live"
              ],
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "The application after completing the step."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "Not ready (`step_not_ready`, `details.missing`) or not available yet (`step_locked`)."
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Complete a wizard step and move on",
        "tags": [
          "Applications"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "complete_step"
        ]
      }
    },
    "/v1/applications/{application_id}/test-messages": {
      "post": {
        "description": "**Access:** Account required. MCP: `create_test_message`.",
        "operationId": "createTestMessage",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestMessage"
                }
              }
            },
            "description": "Address."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Get an address to send a real test email to",
        "tags": [
          "Test messages"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "create_test_message"
        ]
      }
    },
    "/v1/applications/{application_id}/test-messages/{test_message_id}": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_test_message_result`.",
        "operationId": "getTestMessage",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Test message id.",
            "in": "path",
            "name": "test_message_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestMessage"
                }
              }
            },
            "description": "Result."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Authentication results of the test email",
        "tags": [
          "Test messages"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_test_message_result"
        ]
      }
    },
    "/v1/applications/{application_id}/trademark": {
      "get": {
        "description": "**Access:** Free — guest or account. MCP: `get_trademark_status`.",
        "operationId": "getTrademark",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Trademark"
                }
              }
            },
            "description": "Trademark status."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Trademark result",
        "tags": [
          "Trademark"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_trademark_status"
        ]
      }
    },
    "/v1/applications/{application_id}/trademark/claim": {
      "post": {
        "description": "**Access:** Free — guest or account. MCP: `search_trademark`.",
        "operationId": "claimTrademark",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrademarkClaimRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Trademark"
                }
              }
            },
            "description": "Check started."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Verify a specific USPTO number",
        "tags": [
          "Trademark"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "search_trademark"
        ]
      }
    },
    "/v1/applications/{application_id}/trademark/search": {
      "post": {
        "description": "Budgeted for anonymous callers (429 with `details.reason = daily_budget_exhausted`).\n\n**Access:** Free — guest or account. MCP: `search_trademark`.",
        "operationId": "searchTrademark",
        "parameters": [
          {
            "description": "Application id.",
            "in": "path",
            "name": "application_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrademarkSearchRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Trademark"
                }
              }
            },
            "description": "Search started."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "(Re)start the USPTO search",
        "tags": [
          "Trademark"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "search_trademark"
        ]
      }
    },
    "/v1/billing/portal": {
      "post": {
        "description": "**Access:** Account required. Scope: `billing:write`.",
        "operationId": "createBillingPortal",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingPortal"
                }
              }
            },
            "description": "Portal URL."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": [
              "billing:write"
            ]
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Stripe billing portal link",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Billing is managed by people in Stripe's portal.",
        "x-mcp-tools": [],
        "x-required-scope": "billing:write"
      }
    },
    "/v1/checks/domain": {
      "post": {
        "description": "Blocked shared providers (gmail.com…), registration, mailbox provider, DMARC/BIMI summary. Repeatable, no private data.\n\n**Access:** Public — no credentials needed. MCP: `check_domain`.",
        "operationId": "checkDomain",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckDomainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuickCheck"
                }
              }
            },
            "description": "Check result."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Quick domain eligibility check",
        "tags": [
          "Checks"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "check_domain"
        ]
      }
    },
    "/v1/checks/email-auth": {
      "post": {
        "description": "Queries the domain's authoritative nameservers (sees changes within seconds), DNS-over-HTTPS fallback. Findings are plain English with exact fixes.\n\n**Access:** Public — no credentials needed. MCP: `check_email_security`.",
        "operationId": "checkEmailAuth",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckEmailAuthRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailAuthReport"
                }
              }
            },
            "description": "Inspection report."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Full SPF/DKIM/DMARC/BIMI inspection",
        "tags": [
          "Checks"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "check_email_security"
        ]
      }
    },
    "/v1/dev/mock-checkout/{order_id}/complete": {
      "post": {
        "description": "Only for orders created in mock payments mode (no Stripe key for that environment); 404 otherwise.\n\n**Access:** Account required.",
        "operationId": "completeMockCheckout",
        "parameters": [
          {
            "description": "Order id.",
            "in": "path",
            "name": "order_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MockCheckoutCompleted"
                }
              }
            },
            "description": "Marked paid."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Simulate payment of a mock checkout",
        "tags": [
          "Test mode"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Paying — even simulated — is a human step.",
        "x-mcp-tools": []
      }
    },
    "/v1/glossary": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "listGlossary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryList"
                }
              }
            },
            "description": "Terms."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "All glossary terms",
        "tags": [
          "Glossary"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "The full list is the MCP resource verifiedinbox://glossary; explain_term looks up one term.",
        "x-mcp-tools": []
      }
    },
    "/v1/glossary/{term}": {
      "get": {
        "description": "**Access:** Public — no credentials needed. MCP: `explain_term`.",
        "operationId": "getGlossaryTerm",
        "parameters": [
          {
            "description": "Glossary term id, e.g. `dkim`, `bimi`, `svg-tiny-ps`.",
            "in": "path",
            "name": "term",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryTerm"
                }
              }
            },
            "description": "Term."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "One glossary term",
        "tags": [
          "Glossary"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "explain_term"
        ]
      }
    },
    "/v1/guest-sessions": {
      "post": {
        "description": "Also sets the `vi_guest` cookie. Usually unnecessary: `createApplication` creates one when needed.\n\n**Access:** Public — no credentials needed.",
        "operationId": "createGuestSession",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestSession"
                }
              }
            },
            "description": "Guest credential (shown once)."
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Create a guest credential",
        "tags": [
          "Guest sessions"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "start_application creates the guest session.",
        "x-mcp-tools": []
      }
    },
    "/v1/guest-sessions/current": {
      "delete": {
        "description": "**Access:** Free — guest or account.",
        "operationId": "revokeGuestSession",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Revoked."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Revoke the current guest session",
        "tags": [
          "Guest sessions"
        ],
        "x-access": "guest",
        "x-idempotency": "none",
        "x-mcp-note": "Browser sign-out of a guest session.",
        "x-mcp-tools": []
      }
    },
    "/v1/me": {
      "get": {
        "description": "**Access:** Public — no credentials needed. MCP: `get_account`.",
        "operationId": "getMe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            },
            "description": "Caller."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Who am I (works anonymously too)",
        "tags": [
          "Account"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_account"
        ]
      }
    },
    "/v1/me/environment": {
      "post": {
        "description": "**Access:** Account required.",
        "operationId": "setEnvironment",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            },
            "description": "Updated."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Switch live/test mode (web session)",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "MCP clients pass the `environment` argument / VI-Environment header.",
        "x-mcp-tools": []
      }
    },
    "/v1/me/organization": {
      "post": {
        "description": "**Access:** Account required.",
        "operationId": "setOrganization",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationSwitchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            },
            "description": "Updated."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Switch organization (web session)",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "MCP clients send the VI-Organization header.",
        "x-mcp-tools": []
      }
    },
    "/v1/meta": {
      "get": {
        "description": "**Access:** Public — no credentials needed. MCP: `get_started`.",
        "operationId": "getMeta",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Meta"
                }
              }
            },
            "description": "Service metadata."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Pricing, steps and live/mocked integrations",
        "tags": [
          "Meta"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_started"
        ]
      }
    },
    "/v1/notifications": {
      "get": {
        "description": "**Access:** Account required.",
        "operationId": "listNotifications",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationList"
                }
              }
            },
            "description": "Notifications."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Notification log",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Shown in the dashboard.",
        "x-mcp-tools": []
      }
    },
    "/v1/orders": {
      "get": {
        "description": "**Access:** Account required. MCP: `get_account`, `list_orders`.",
        "operationId": "listOrders",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderList"
                }
              }
            },
            "description": "Orders."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Orders and payments",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "get_account",
          "list_orders"
        ]
      }
    },
    "/v1/orders/{order_id}": {
      "get": {
        "description": "**Access:** Account required. MCP: `list_orders`.",
        "operationId": "getOrder",
        "parameters": [
          {
            "description": "Order id.",
            "in": "path",
            "name": "order_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            },
            "description": "Order."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "One order",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "list_orders"
        ]
      }
    },
    "/v1/organizations": {
      "get": {
        "description": "**Access:** Account required.",
        "operationId": "listOrganizations",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationList"
                }
              }
            },
            "description": "Organizations."
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "My organizations",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Organization management happens in the web app; get_account lists them.",
        "x-mcp-tools": []
      },
      "post": {
        "description": "**Access:** Account required.",
        "operationId": "createOrganization",
        "parameters": [
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationNameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Created."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Create an organization",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Organization management happens in the web app.",
        "x-mcp-tools": []
      }
    },
    "/v1/organizations/{organization_id}": {
      "get": {
        "description": "**Access:** Account required.",
        "operationId": "getOrganization",
        "parameters": [
          {
            "description": "Organization id.",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Organization."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "One organization",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Organization management happens in the web app.",
        "x-mcp-tools": []
      },
      "patch": {
        "description": "**Access:** Account required.",
        "operationId": "renameOrganization",
        "parameters": [
          {
            "description": "Organization id.",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationNameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Renamed."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Rename an organization",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Organization management happens in the web app.",
        "x-mcp-tools": []
      }
    },
    "/v1/organizations/{organization_id}/members": {
      "get": {
        "description": "**Access:** Account required.",
        "operationId": "listMembers",
        "parameters": [
          {
            "description": "Organization id.",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "`live` (default) or `test`. Used for anonymous callers and OAuth access tokens; API keys and web sessions carry their own environment.",
            "in": "header",
            "name": "VI-Environment",
            "required": false,
            "schema": {
              "enum": [
                "live",
                "test"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemberList"
                }
              }
            },
            "description": "Members."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthenticated"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Organization members",
        "tags": [
          "Account"
        ],
        "x-access": "account",
        "x-idempotency": "none",
        "x-mcp-note": "Organization management happens in the web app.",
        "x-mcp-tools": []
      }
    },
    "/v1/providers/blocked": {
      "get": {
        "description": "**Access:** Public — no credentials needed.",
        "operationId": "listBlockedProviders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BlockedProviders"
                }
              }
            },
            "description": "Blocked domains and why."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Shared mailbox domains that can't be used",
        "tags": [
          "Checks"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Reference list; check_domain explains it per domain.",
        "x-mcp-tools": []
      }
    },
    "/v1/resume": {
      "post": {
        "description": "Unclaimed drafts get a fresh guest credential (+ cookie). Tokens expire after 24h and work once; otherwise 410 `resume_link_expired`.\n\n**Access:** Public — no credentials needed.",
        "operationId": "resume",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResumeResult"
                }
              }
            },
            "description": "Where to continue."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Exchange a one-time resume token",
        "tags": [
          "Guest sessions"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-note": "Browser hand-off; create_resume_link produces the link.",
        "x-mcp-tools": []
      }
    },
    "/v1/support": {
      "post": {
        "description": "Works anonymously (include `email` so a human can reply).\n\n**Access:** Public — no credentials needed. MCP: `contact_support`, `send_feedback`.",
        "operationId": "createSupportRequest",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportRequestInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportCreated"
                }
              }
            },
            "description": "Received."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "default": {
            "$ref": "#/components/responses/Error"
          }
        },
        "security": [
          {},
          {
            "guestToken": []
          },
          {
            "guestCookie": []
          },
          {
            "bearerAuth": []
          },
          {
            "sessionCookie": []
          }
        ],
        "summary": "Contact a human, feedback, feature request, partnership",
        "tags": [
          "Support"
        ],
        "x-access": "public",
        "x-idempotency": "none",
        "x-mcp-tools": [
          "contact_support",
          "send_feedback"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "Production",
      "url": "https://api.getverifiedinbox.com"
    }
  ],
  "tags": [
    {
      "description": "Service metadata, health and this contract.",
      "name": "Meta"
    },
    {
      "description": "Free, repeatable public checks of any domain.",
      "name": "Checks"
    },
    {
      "description": "Plain-English definitions of every term we use.",
      "name": "Glossary"
    },
    {
      "description": "Anonymous credentials and resume links.",
      "name": "Guest sessions"
    },
    {
      "description": "The server-side state of one domain's journey.",
      "name": "Applications"
    },
    {
      "description": "SPF, DKIM, DMARC and BIMI for an application.",
      "name": "Email health"
    },
    {
      "description": "Logo intake, SVG Tiny P/S conversion and approval.",
      "name": "Logo"
    },
    {
      "description": "USPTO trademark search and verification.",
      "name": "Trademark"
    },
    {
      "description": "VMC / CMC / not-yet-eligible outcome and price estimate.",
      "name": "Eligibility"
    },
    {
      "description": "Stripe hosted checkout (agents create links; people pay).",
      "name": "Checkout"
    },
    {
      "description": "Legal company verification.",
      "name": "Business"
    },
    {
      "description": "The DNS records to add, with live status.",
      "name": "DNS"
    },
    {
      "description": "Authentication results on a real email.",
      "name": "Test messages"
    },
    {
      "description": "Certificate order, status, reissue, renewal and revocation.",
      "name": "Certificate"
    },
    {
      "description": "BIMI publication and display confirmation.",
      "name": "Go live"
    },
    {
      "description": "Profile, organizations, environment, API keys, orders.",
      "name": "Account"
    },
    {
      "description": "Contact a human, feedback and feature requests.",
      "name": "Support"
    },
    {
      "description": "Public logo and certificate files referenced by BIMI records.",
      "name": "Hosting"
    },
    {
      "description": "Model Context Protocol endpoint and OAuth discovery.",
      "name": "MCP"
    },
    {
      "description": "Sandbox helpers (no real payments).",
      "name": "Test mode"
    }
  ]
}
