{
  "openapi": "3.1.2",
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "info": {
    "title": "QuoteMoto public guidance API",
    "version": "1.0.0",
    "description": "Two bounded read-only public resources with reviewed provenance. No estimate, customer data or lead actions. Deployed through PR #626 on October 26, 2026."
  },
  "servers": [
    {
      "url": "https://www.quotemoto.com",
      "description": "Canonical production host."
    }
  ],
  "x-release-status": "deployed",
  "security": [],
  "paths": {
    "/api/agent/v1/capabilities": {
      "get": {
        "operationId": "getPublicCapabilities",
        "summary": "Read supported public capabilities",
        "description": "Public guidance only. No profile, customer data, rating or network lookup. Unknown/repeated query keys and GET bodies are rejected. HEAD has the same status/headers without a body. Infrastructure may impose separate admission limits; this handler does not claim a distributed quota.",
        "security": [],
        "parameters": [
          {
            "name": "If-None-Match",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "description": "Optional HTTP conditional request."
          }
        ],
        "responses": {
          "200": {
            "description": "Current reviewed public information.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Capabilities"
                },
                "examples": {
                  "capabilities": {
                    "value": {
                      "api_version": "v1",
                      "brand": "QuoteMoto",
                      "content_revision": "2026-08-07.1",
                      "locales": [
                        "en",
                        "es"
                      ],
                      "read_only": true,
                      "authentication": "none_for_public_guidance",
                      "capabilities": [
                        "read_supported_capabilities",
                        "read_california_minimum_liability"
                      ],
                      "excluded_actions": [
                        "estimate_premium",
                        "submit_quote",
                        "create_lead",
                        "contact_customer",
                        "bind_coverage",
                        "file_sr22",
                        "query_database"
                      ],
                      "website": "https://www.quotemoto.com",
                      "review_expires_at": "2027-01-02T00:00:00.000Z",
                      "notice": "Public educational guidance only. Website forms and existing MCP estimates are separate interfaces."
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Matching representation while sources remain current. No body.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or body",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "405": {
            "description": "GET only",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              },
              "Allow": {
                "schema": {
                  "const": "GET, HEAD"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "406": {
            "description": "JSON representation required",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "503": {
            "description": "Source review expired or unavailable",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                },
                "example": {
                  "type": "about:blank",
                  "title": "Guidance requires source review",
                  "status": 503,
                  "code": "guidance_unavailable",
                  "detail": "Consult the California DMV; no current guidance was substituted."
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "getPublicCapabilitiesHead",
        "summary": "Read response headers without a body",
        "parameters": [
          {
            "name": "If-None-Match",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "description": "Optional HTTP conditional request."
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Current reviewed public information.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "304": {
            "description": "Matching representation while sources remain current. No body.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or body",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          },
          "405": {
            "description": "GET only",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              },
              "Allow": {
                "schema": {
                  "const": "GET, HEAD"
                }
              }
            }
          },
          "406": {
            "description": "JSON representation required",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          },
          "503": {
            "description": "Source review expired or unavailable",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          }
        }
      }
    },
    "/api/agent/v1/guidance/california-minimum-liability": {
      "get": {
        "operationId": "getCaliforniaMinimumLiability",
        "summary": "Read dated standard California liability guidance",
        "description": "Public guidance only. No profile, customer data, rating or network lookup. Unknown/repeated query keys and GET bodies are rejected. HEAD has the same status/headers without a body. Infrastructure may impose separate admission limits; this handler does not claim a distributed quota.",
        "security": [],
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "es"
              ],
              "default": "en"
            }
          },
          {
            "name": "If-None-Match",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "description": "Optional HTTP conditional request."
          }
        ],
        "responses": {
          "200": {
            "description": "Current reviewed public information.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guidance"
                },
                "examples": {
                  "en": {
                    "value": {
                      "api_version": "v1",
                      "brand": "QuoteMoto",
                      "content_id": "california-minimum-liability",
                      "content_revision": "2026-08-07.1",
                      "locale": "en",
                      "jurisdiction": "US-CA",
                      "text": "Standard California auto liability minimums are $30,000 bodily injury per person, $60,000 per accident and $15,000 property damage.",
                      "limits_usd": {
                        "bodily_injury_per_person": 30000,
                        "bodily_injury_per_accident": 60000,
                        "property_damage": 15000
                      },
                      "limitations": [
                        "Coverage limits are not premiums or quotes.",
                        "This describes standard liability minimums, not every statutory program or an individual's requirements.",
                        "Liability coverage does not include comprehensive or collision."
                      ],
                      "canonical_page": "https://www.quotemoto.com/en/california",
                      "sources": [
                        {
                          "id": "california-minimum-liability",
                          "publisher": "California Department of Motor Vehicles",
                          "url": "https://www.dmv.ca.gov/portal/vehicle-registration/insurance-requirements/",
                          "verified_on": "2026-08-07",
                          "review_expires_at": "2027-01-02T00:00:00.000Z"
                        }
                      ],
                      "review_expires_at": "2027-01-02T00:00:00.000Z",
                      "disclaimer": "Educational guidance only. Confirm applicable requirements with the official source or an insurance professional."
                    }
                  },
                  "es": {
                    "value": {
                      "api_version": "v1",
                      "brand": "QuoteMoto",
                      "content_id": "california-minimum-liability",
                      "content_revision": "2026-08-07.1",
                      "locale": "es",
                      "jurisdiction": "US-CA",
                      "text": "Los mínimos de responsabilidad civil de una póliza estándar de auto en California son $30,000 por lesiones corporales por persona, $60,000 por accidente y $15,000 por daños materiales.",
                      "limits_usd": {
                        "bodily_injury_per_person": 30000,
                        "bodily_injury_per_accident": 60000,
                        "property_damage": 15000
                      },
                      "limitations": [
                        "Los límites de cobertura no son primas ni cotizaciones.",
                        "Se describen los mínimos estándar, no todos los programas legales ni los requisitos de una persona.",
                        "La responsabilidad civil no incluye cobertura contra otros daños ni colisión."
                      ],
                      "canonical_page": "https://www.quotemoto.com/es/california",
                      "sources": [
                        {
                          "id": "california-minimum-liability",
                          "publisher": "California Department of Motor Vehicles",
                          "url": "https://www.dmv.ca.gov/portal/vehicle-registration/insurance-requirements/",
                          "verified_on": "2026-08-07",
                          "review_expires_at": "2027-01-02T00:00:00.000Z"
                        }
                      ],
                      "review_expires_at": "2027-01-02T00:00:00.000Z",
                      "disclaimer": "Información educativa. Confirme los requisitos aplicables con la fuente oficial o un profesional de seguros."
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Matching representation while sources remain current. No body.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or body",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "405": {
            "description": "GET only",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              },
              "Allow": {
                "schema": {
                  "const": "GET, HEAD"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "406": {
            "description": "JSON representation required",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "503": {
            "description": "Source review expired or unavailable",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            },
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                },
                "example": {
                  "type": "about:blank",
                  "title": "Guidance requires source review",
                  "status": 503,
                  "code": "guidance_unavailable",
                  "detail": "Consult the California DMV; no current guidance was substituted."
                }
              }
            }
          }
        }
      },
      "head": {
        "operationId": "getCaliforniaMinimumLiabilityHead",
        "summary": "Read response headers without a body",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "es"
              ],
              "default": "en"
            }
          },
          {
            "name": "If-None-Match",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "description": "Optional HTTP conditional request."
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Current reviewed public information.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "304": {
            "description": "Matching representation while sources remain current. No body.",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Content hash, changes when representation changes."
              },
              "Cache-Control": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "public, max-age<=300; must-revalidate. TTL never exceeds remaining source review lifetime."
              },
              "X-Content-Type-Options": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "nosniff"
              },
              "Content-Language": {
                "schema": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "description": "Guidance locale; capabilities metadata is English."
              },
              "Vary": {
                "schema": {
                  "const": "Accept"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query or body",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          },
          "405": {
            "description": "GET only",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              },
              "Allow": {
                "schema": {
                  "const": "GET, HEAD"
                }
              }
            }
          },
          "406": {
            "description": "JSON representation required",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          },
          "503": {
            "description": "Source review expired or unavailable",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "const": "no-store"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Source": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "publisher": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "uri",
            "pattern": "^https://"
          },
          "verified_on": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "date"
          },
          "review_expires_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "publisher",
          "url",
          "verified_on",
          "review_expires_at"
        ]
      },
      "Guidance": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "api_version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "v1"
          },
          "brand": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "QuoteMoto"
          },
          "content_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "california-minimum-liability"
          },
          "content_revision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "pattern": "^\\d{4}-\\d{2}-\\d{2}\\.\\d+$"
          },
          "locale": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "enum": [
              "en",
              "es"
            ]
          },
          "jurisdiction": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "US-CA"
          },
          "text": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "limits_usd": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "bodily_injury_per_person": {
                "type": "integer",
                "minimum": 0
              },
              "bodily_injury_per_accident": {
                "type": "integer",
                "minimum": 0
              },
              "property_damage": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "bodily_injury_per_person",
              "bodily_injury_per_accident",
              "property_damage"
            ]
          },
          "limitations": {
            "type": "array",
            "minItems": 1,
            "maxItems": 8,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            }
          },
          "canonical_page": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "uri",
            "pattern": "^https://www\\.quotemoto\\.com/(en|es)/california$"
          },
          "sources": {
            "type": "array",
            "minItems": 1,
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          },
          "review_expires_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "date-time"
          },
          "disclaimer": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "api_version",
          "brand",
          "content_id",
          "content_revision",
          "locale",
          "jurisdiction",
          "text",
          "limits_usd",
          "limitations",
          "canonical_page",
          "sources",
          "review_expires_at",
          "disclaimer"
        ]
      },
      "Capabilities": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "api_version": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "v1"
          },
          "brand": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "QuoteMoto"
          },
          "content_revision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "locales": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000,
              "enum": [
                "en",
                "es"
              ]
            },
            "minItems": 2,
            "maxItems": 2,
            "uniqueItems": true
          },
          "read_only": {
            "const": true
          },
          "authentication": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "none_for_public_guidance"
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000,
              "enum": [
                "read_supported_capabilities",
                "read_california_minimum_liability"
              ]
            },
            "minItems": 2,
            "maxItems": 2,
            "uniqueItems": true
          },
          "excluded_actions": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "minItems": 7,
            "maxItems": 7,
            "uniqueItems": true
          },
          "website": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "https://www.quotemoto.com"
          },
          "review_expires_at": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "format": "date-time"
          },
          "notice": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "api_version",
          "brand",
          "content_revision",
          "locales",
          "read_only",
          "authentication",
          "capabilities",
          "excluded_actions",
          "website",
          "review_expires_at",
          "notice"
        ]
      },
      "Problem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "const": "about:blank"
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "status": {
            "type": "integer",
            "enum": [
              400,
              405,
              406,
              503
            ]
          },
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "enum": [
              "invalid_request",
              "method_not_allowed",
              "not_acceptable",
              "guidance_unavailable"
            ]
          },
          "detail": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "type",
          "title",
          "status",
          "code",
          "detail"
        ]
      }
    }
  }
}
