{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "0.1.0"
    },
    "generated_at": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "content_hash": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "counts": {
      "type": "object",
      "properties": {
        "companies": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "offerings": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "by_category": {
          "type": "object",
          "propertyNames": {
            "type": "string",
            "enum": [
              "identity",
              "phone",
              "email",
              "address",
              "money",
              "legal",
              "insurance"
            ]
          },
          "additionalProperties": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "required": [
            "identity",
            "phone",
            "email",
            "address",
            "money",
            "legal",
            "insurance"
          ]
        }
      },
      "required": [
        "companies",
        "offerings",
        "by_category"
      ],
      "additionalProperties": false
    },
    "standards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
          },
          "name": {
            "type": "string"
          },
          "steward": {
            "type": "string"
          },
          "spec_url": {
            "type": "string",
            "format": "uri"
          },
          "explainer": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "explainer"
        ],
        "additionalProperties": false
      }
    },
    "companies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
          },
          "name": {
            "type": "string"
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "tagline": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "acquired",
              "dead"
            ]
          },
          "acquired_by": {
            "type": "string",
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
          },
          "status_note": {
            "type": "string"
          },
          "founded": {
            "type": "integer",
            "minimum": 2000,
            "maximum": 2100
          },
          "funding": {
            "type": "string"
          },
          "hq_country": {
            "type": "string",
            "pattern": "^[A-Z]{2}$"
          },
          "x_handle": {
            "type": "string",
            "pattern": "^[^@]+$"
          },
          "docs_url": {
            "type": "string",
            "format": "uri"
          },
          "pricing_url": {
            "type": "string",
            "format": "uri"
          },
          "changelog_url": {
            "type": "string",
            "format": "uri"
          },
          "sources": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "last_checked": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "added_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "editorial": {
            "type": "string"
          },
          "offerings": {
            "minItems": 1,
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "identity"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "credential_type": {
                          "type": "string"
                        },
                        "who_accepts": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "delegation_model": {
                          "type": "string"
                        },
                        "revocation": {
                          "type": "string"
                        },
                        "reputation_model": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "phone"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "number_types": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "local",
                              "toll_free",
                              "mobile"
                            ]
                          }
                        },
                        "countries": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "capabilities": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sms",
                              "voice",
                              "mms"
                            ]
                          }
                        },
                        "provisioning_time": {
                          "type": "string"
                        },
                        "a2p_compliance": {
                          "type": "string",
                          "enum": [
                            "handled",
                            "diy"
                          ]
                        },
                        "otp_policy": {
                          "type": "string",
                          "enum": [
                            "allowed",
                            "prohibited",
                            "unclear"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "email"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "address_model": {
                          "type": "string",
                          "enum": [
                            "own_domain",
                            "provider_domain",
                            "both"
                          ]
                        },
                        "direction": {
                          "type": "string",
                          "enum": [
                            "sending",
                            "receiving",
                            "both"
                          ]
                        },
                        "deliverability_handling": {
                          "type": "string"
                        },
                        "inbox_api": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "address"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "address_type": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "real_street",
                              "po_box",
                              "virtual",
                              "registered_agent"
                            ]
                          }
                        },
                        "mail_handling": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "scan",
                              "forward",
                              "check_deposit",
                              "shred"
                            ]
                          }
                        },
                        "registered_agent_eligible": {
                          "type": "boolean"
                        },
                        "notarization_required": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "money"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "offering_type": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "account",
                              "wallet",
                              "rail",
                              "card"
                            ]
                          }
                        },
                        "custody_model": {
                          "type": "string",
                          "enum": [
                            "self",
                            "custodial",
                            "hybrid"
                          ]
                        },
                        "partner_bank": {
                          "type": "string"
                        },
                        "fdic_passthrough": {
                          "type": "boolean"
                        },
                        "rails": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "spend_controls": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "fees": {
                          "type": "string"
                        },
                        "who_can_open": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "legal"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "offering_type": {
                          "type": "string",
                          "enum": [
                            "formation",
                            "wrapper",
                            "registration_regime"
                          ]
                        },
                        "jurisdictions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "entity_types": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "liability_model": {
                          "type": "string"
                        },
                        "signing_authority": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "what_you_get": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "announced",
                        "waitlist",
                        "beta",
                        "live",
                        "deprecated",
                        "dead"
                      ]
                    },
                    "geographies": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "acquisition": {
                      "type": "string",
                      "enum": [
                        "self_serve",
                        "waitlist",
                        "sales_led"
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "summary": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false
                    },
                    "integration": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "boolean"
                        },
                        "sdk": {
                          "type": "boolean"
                        },
                        "mcp": {
                          "type": "boolean"
                        },
                        "mcp_registry_links": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "format": "uri"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "standards": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
                      }
                    },
                    "gotchas": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "category": {
                      "type": "string",
                      "const": "insurance"
                    },
                    "details": {
                      "type": "object",
                      "properties": {
                        "coverage_type": {
                          "type": "string"
                        },
                        "insured_party": {
                          "type": "string",
                          "enum": [
                            "operator",
                            "platform",
                            "agent_entity"
                          ]
                        },
                        "limits": {
                          "type": "string"
                        },
                        "carrier_backing": {
                          "type": "string"
                        },
                        "notable_exclusions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "what_you_get",
                    "status",
                    "category"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "tagline",
          "status",
          "sources",
          "last_checked",
          "added_at",
          "updated_at",
          "offerings"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "schema_version",
    "generated_at",
    "content_hash",
    "counts",
    "standards",
    "companies"
  ],
  "additionalProperties": false,
  "title": "Agent Papers registry structural schema",
  "description": "Structural JSON Schema for the canonical Agent Papers registry aggregate. Canonical records also undergo semantic validation documented in the methodology."
}
