{
  "components": {
    "schemas": {
      "AtlasAeoPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "directAnswerMaximumCharacters": {
            "type": "integer",
            "minimum": 120,
            "maximum": 1200
          },
          "definitionMarkers": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 40
            }
          },
          "definitionMaximumCharacters": {
            "type": "integer",
            "minimum": 80,
            "maximum": 800
          },
          "evidenceTableFamilies": {
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          },
          "followUpQuestionMaximumCharacters": {
            "type": "integer",
            "minimum": 40,
            "maximum": 240
          },
          "followUpQuestionMinimumCharacters": {
            "type": "integer",
            "minimum": 10,
            "maximum": 120
          },
          "limitationHeadingTerms": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 40
            }
          },
          "maximumFollowUpQuestions": {
            "type": "integer",
            "minimum": 2,
            "maximum": 10
          },
          "maximumVerificationAgeDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 365
          },
          "minimumFollowUpQuestions": {
            "type": "integer",
            "minimum": 1,
            "maximum": 6
          },
          "minimumQuestionHeadingTokenOverlap": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 1
          },
          "minimumQuestionTokens": {
            "type": "integer",
            "minimum": 3,
            "maximum": 20
          },
          "verificationDatePrefixes": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 40
            }
          }
        },
        "required": [
          "directAnswerMaximumCharacters",
          "definitionMarkers",
          "definitionMaximumCharacters",
          "evidenceTableFamilies",
          "followUpQuestionMaximumCharacters",
          "followUpQuestionMinimumCharacters",
          "limitationHeadingTerms",
          "maximumFollowUpQuestions",
          "maximumVerificationAgeDays",
          "minimumFollowUpQuestions",
          "minimumQuestionHeadingTokenOverlap",
          "minimumQuestionTokens",
          "verificationDatePrefixes"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasAeoPolicy.schema.json",
        "title": "AtlasAeoPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasAeoQaReport": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "properties": {
              "datedStatements": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "blockId": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "purpose": {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "blockId",
                    "purpose"
                  ],
                  "additionalProperties": false
                }
              },
              "definition": {
                "type": "object",
                "properties": {
                  "blockId": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  },
                  "purpose": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 500
                  }
                },
                "required": [
                  "blockId",
                  "purpose"
                ],
                "additionalProperties": false
              },
              "directAnswer": {
                "type": "object",
                "properties": {
                  "blockId": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  },
                  "purpose": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 500
                  }
                },
                "required": [
                  "blockId",
                  "purpose"
                ],
                "additionalProperties": false
              },
              "evidenceTables": {
                "maxItems": 25,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "blockId": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "purpose": {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "blockId",
                    "purpose"
                  ],
                  "additionalProperties": false
                }
              },
              "followUpQuestions": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "blockId": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "purpose": {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "blockId",
                    "purpose"
                  ],
                  "additionalProperties": false
                }
              },
              "limitations": {
                "type": "object",
                "properties": {
                  "content": {
                    "minItems": 1,
                    "maxItems": 10,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "blockId": {
                          "type": "string",
                          "minLength": 8,
                          "maxLength": 128
                        },
                        "purpose": {
                          "type": "string",
                          "minLength": 10,
                          "maxLength": 500
                        }
                      },
                      "required": [
                        "blockId",
                        "purpose"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "heading": {
                    "type": "object",
                    "properties": {
                      "blockId": {
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 128
                      },
                      "purpose": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 500
                      }
                    },
                    "required": [
                      "blockId",
                      "purpose"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "content",
                  "heading"
                ],
                "additionalProperties": false
              },
              "questionMatchedSubheads": {
                "minItems": 1,
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "blockId": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "purpose": {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 500
                    }
                  },
                  "required": [
                    "blockId",
                    "purpose"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "datedStatements",
              "definition",
              "directAnswer",
              "evidenceTables",
              "followUpQuestions",
              "limitations",
              "questionMatchedSubheads"
            ],
            "additionalProperties": false
          },
          "checks": {
            "minItems": 8,
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "direct_answer",
                    "concise_definition",
                    "question_matched_subheads",
                    "evidence_backed_tables",
                    "limitations",
                    "dates",
                    "citations",
                    "useful_follow_up_questions"
                  ]
                },
                "detail": {
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 2000
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "failed",
                    "not_applicable",
                    "passed"
                  ]
                },
                "subjectIds": {
                  "maxItems": 50,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                }
              },
              "required": [
                "category",
                "detail",
                "status",
                "subjectIds"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "editorialQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "factualQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "passed"
            ]
          },
          "verifierVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "annotations",
          "checks",
          "configurationVersionId",
          "createdAt",
          "draftId",
          "editorialQaReportId",
          "entryId",
          "factualQaReportId",
          "id",
          "status",
          "verifierVersion",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasAeoQaReport.schema.json",
        "title": "AtlasAeoQaReport",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasAssistedDraft": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "blocks": {
            "minItems": 1,
            "maxItems": 250,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "claimIds": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "content": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 10000
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "sourceIds": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "supportStatus": {
                  "type": "string",
                  "enum": [
                    "supported",
                    "unsupported"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "callout",
                    "code",
                    "heading",
                    "list",
                    "paragraph",
                    "table"
                  ]
                },
                "unsupportedReason": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 1000
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "claimIds",
                "content",
                "id",
                "sourceIds",
                "supportStatus",
                "type",
                "unsupportedReason"
              ],
              "additionalProperties": false
            }
          },
          "briefId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "editorId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "evidencePackId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "modelId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "promptHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "promptTemplateId": {
            "type": "string",
            "minLength": 2,
            "maxLength": 160,
            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
          },
          "promptVersion": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 10000
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "blocks",
          "briefId",
          "configurationVersionId",
          "createdAt",
          "editorId",
          "entryId",
          "evidencePackId",
          "id",
          "modelId",
          "promptHash",
          "promptTemplateId",
          "promptVersion",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasAssistedDraft.schema.json",
        "title": "AtlasAssistedDraft",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDigestPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dailyDeliveryHourUtc": {
            "type": "integer",
            "minimum": 0,
            "maximum": 23
          },
          "dailyTemplateKey": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100
          },
          "maximumAttempts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "maximumEntriesPerDigest": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "maximumRecipientsPerRun": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000
          },
          "publicOrigin": {
            "type": "string",
            "format": "uri"
          },
          "retryBaseSeconds": {
            "type": "integer",
            "minimum": 30,
            "maximum": 3600
          },
          "senderName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "verificationExpiryHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 168
          },
          "verificationTemplateKey": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100
          },
          "weeklyDeliveryDayUtc": {
            "type": "integer",
            "minimum": 0,
            "maximum": 6
          },
          "weeklyDeliveryHourUtc": {
            "type": "integer",
            "minimum": 0,
            "maximum": 23
          },
          "weeklyTemplateKey": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100
          }
        },
        "required": [
          "dailyDeliveryHourUtc",
          "dailyTemplateKey",
          "maximumAttempts",
          "maximumEntriesPerDigest",
          "maximumRecipientsPerRun",
          "publicOrigin",
          "retryBaseSeconds",
          "senderName",
          "verificationExpiryHours",
          "verificationTemplateKey",
          "weeklyDeliveryDayUtc",
          "weeklyDeliveryHourUtc",
          "weeklyTemplateKey"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDigestPolicy.schema.json",
        "title": "AtlasDigestPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDigestSubscription": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "createdAt": {
            "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))$"
          },
          "frequency": {
            "type": "string",
            "enum": [
              "daily",
              "weekly"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "locale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "modelId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "providerId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "pending",
              "suppressed",
              "unsubscribed"
            ]
          },
          "subjectType": {
            "type": "string",
            "enum": [
              "all",
              "model",
              "provider",
              "task",
              "country",
              "platform_update"
            ]
          },
          "taxonomyTermId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "updatedAt": {
            "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))$"
          },
          "userId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "verifiedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "createdAt",
          "frequency",
          "id",
          "locale",
          "modelId",
          "providerId",
          "status",
          "subjectType",
          "taxonomyTermId",
          "updatedAt",
          "userId",
          "verifiedAt",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDigestSubscription.schema.json",
        "title": "AtlasDigestSubscription",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDistributionFeed": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "items": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "canonicalPath": {
                  "type": "string",
                  "maxLength": 300,
                  "pattern": "^\\/atlas\\/.*"
                },
                "family": {
                  "type": "string",
                  "enum": [
                    "article",
                    "model_profile",
                    "comparison",
                    "task_guide",
                    "provider_profile",
                    "lab_profile",
                    "country_brief",
                    "region_brief",
                    "benchmark",
                    "topic",
                    "author",
                    "update"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "publishedAt": {
                  "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))$"
                },
                "summary": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                },
                "title": {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 250
                },
                "lastModifiedAt": {
                  "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))$"
                },
                "newsEligible": {
                  "type": "boolean"
                }
              },
              "required": [
                "canonicalPath",
                "family",
                "id",
                "publishedAt",
                "summary",
                "title",
                "lastModifiedAt",
                "newsEligible"
              ],
              "additionalProperties": false
            }
          },
          "language": {
            "type": "string",
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "publicationName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          }
        },
        "required": [
          "items",
          "language",
          "publicationName"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDistributionFeed.schema.json",
        "title": "AtlasDistributionFeed",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDistributionManifest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "additionalRobotsDisallow": {
            "maxItems": 25,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 200,
              "pattern": "^\\/(?!\\/)[A-Za-z0-9./_*$-]*$"
            }
          },
          "latestModifiedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "segmentCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000
          },
          "segmentSize": {
            "type": "integer",
            "minimum": 100,
            "maximum": 5000
          },
          "totalItems": {
            "type": "integer",
            "minimum": 0,
            "maximum": 50000000
          }
        },
        "required": [
          "additionalRobotsDisallow",
          "latestModifiedAt",
          "segmentCount",
          "segmentSize",
          "totalItems"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDistributionManifest.schema.json",
        "title": "AtlasDistributionManifest",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDistributionPage": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "items": {
            "maxItems": 5000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "canonicalPath": {
                  "type": "string",
                  "maxLength": 300,
                  "pattern": "^\\/atlas\\/.*"
                },
                "family": {
                  "type": "string",
                  "enum": [
                    "article",
                    "model_profile",
                    "comparison",
                    "task_guide",
                    "provider_profile",
                    "lab_profile",
                    "country_brief",
                    "region_brief",
                    "benchmark",
                    "topic",
                    "author",
                    "update"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "publishedAt": {
                  "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))$"
                },
                "summary": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                },
                "title": {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 250
                },
                "lastModifiedAt": {
                  "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))$"
                },
                "newsEligible": {
                  "type": "boolean"
                }
              },
              "required": [
                "canonicalPath",
                "family",
                "id",
                "publishedAt",
                "summary",
                "title",
                "lastModifiedAt",
                "newsEligible"
              ],
              "additionalProperties": false
            }
          },
          "segment": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          }
        },
        "required": [
          "items",
          "segment"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDistributionPage.schema.json",
        "title": "AtlasDistributionPage",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasDistributionPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "additionalRobotsDisallow": {
            "maxItems": 25,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 200,
              "pattern": "^\\/(?!\\/)[A-Za-z0-9./_*$-]*$"
            }
          },
          "feedItemLimit": {
            "type": "integer",
            "minimum": 10,
            "maximum": 100
          },
          "machineDiscoveryArtifacts": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "llms_txt",
                "atlas_index"
              ]
            }
          },
          "machineDiscoveryDescription": {
            "type": "string",
            "minLength": 40,
            "maxLength": 500
          },
          "machineDiscoveryMaximumItems": {
            "type": "integer",
            "minimum": 10,
            "maximum": 1000
          },
          "machineDiscoveryMeasurementWindowDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 180
          },
          "machineDiscoveryMinimumCohortSize": {
            "type": "integer",
            "minimum": 5,
            "maximum": 1000000
          },
          "machineDiscoveryMinimumConversions": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000
          },
          "machineDiscoveryMinimumObservationDays": {
            "type": "integer",
            "minimum": 2,
            "maximum": 90
          },
          "newsEligibleFamilies": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          },
          "newsLanguage": {
            "type": "string",
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "newsPublicationName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "newsWindowHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 48
          },
          "sitemapSegmentSize": {
            "type": "integer",
            "minimum": 100,
            "maximum": 5000
          },
          "submissionProviders": {
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "google_search_console",
                "indexnow"
              ]
            }
          }
        },
        "required": [
          "additionalRobotsDisallow",
          "feedItemLimit",
          "machineDiscoveryArtifacts",
          "machineDiscoveryDescription",
          "machineDiscoveryMaximumItems",
          "machineDiscoveryMeasurementWindowDays",
          "machineDiscoveryMinimumCohortSize",
          "machineDiscoveryMinimumConversions",
          "machineDiscoveryMinimumObservationDays",
          "newsEligibleFamilies",
          "newsLanguage",
          "newsPublicationName",
          "newsWindowHours",
          "sitemapSegmentSize",
          "submissionProviders"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasDistributionPolicy.schema.json",
        "title": "AtlasDistributionPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasEditorialBrief": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "answerThesis": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "comparisonMethod": {
            "type": "object",
            "properties": {
              "approach": {
                "type": "string",
                "minLength": 10,
                "maxLength": 2000
              },
              "dimensions": {
                "maxItems": 25,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 160
                }
              },
              "required": {
                "type": "boolean"
              }
            },
            "required": [
              "approach",
              "dimensions",
              "required"
            ],
            "additionalProperties": false
          },
          "createdAt": {
            "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))$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "evidencePackId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "internalLinks": {
            "maxItems": 25,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "entryId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "rationale": {
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 500
                },
                "relationship": {
                  "type": "string",
                  "enum": [
                    "context",
                    "next_step",
                    "prerequisite",
                    "related"
                  ]
                }
              },
              "required": [
                "entryId",
                "rationale",
                "relationship"
              ],
              "additionalProperties": false
            }
          },
          "originalDataOpportunity": {
            "type": "object",
            "properties": {
              "decision": {
                "type": "string",
                "enum": [
                  "not_planned",
                  "recommended",
                  "required"
                ]
              },
              "description": {
                "type": "string",
                "minLength": 10,
                "maxLength": 2000
              }
            },
            "required": [
              "decision",
              "description"
            ],
            "additionalProperties": false
          },
          "primarySourceIds": {
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            }
          },
          "reader": {
            "type": "object",
            "properties": {
              "audience": {
                "type": "string",
                "enum": [
                  "developer",
                  "enterprise_team",
                  "researcher",
                  "startup",
                  "student",
                  "venture_studio"
                ]
              },
              "knowledgeLevel": {
                "type": "string",
                "enum": [
                  "beginner",
                  "intermediate",
                  "advanced",
                  "mixed"
                ]
              },
              "needs": {
                "type": "string",
                "minLength": 10,
                "maxLength": 1000
              }
            },
            "required": [
              "audience",
              "knowledgeLevel",
              "needs"
            ],
            "additionalProperties": false
          },
          "requiredEntities": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "model",
                    "provider",
                    "taxonomy"
                  ]
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "comparison",
                    "mentioned",
                    "subject"
                  ]
                }
              },
              "required": [
                "id",
                "kind",
                "role"
              ],
              "additionalProperties": false
            }
          },
          "risks": {
            "minItems": 1,
            "maxItems": 25,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "accuracy",
                    "commercial_bias",
                    "copyright",
                    "legal",
                    "regional_sensitivity",
                    "safety",
                    "security",
                    "staleness"
                  ]
                },
                "mitigation": {
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 1000
                }
              },
              "required": [
                "category",
                "mitigation"
              ],
              "additionalProperties": false
            }
          },
          "supportingClaimIds": {
            "minItems": 1,
            "maxItems": 250,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            }
          },
          "targetQuestion": {
            "type": "string",
            "minLength": 10,
            "maxLength": 500
          },
          "topicCandidateId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "updateTrigger": {
            "type": "object",
            "properties": {
              "events": {
                "minItems": 1,
                "maxItems": 8,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "benchmark_change",
                    "citation_expiry",
                    "model_deprecation",
                    "policy_change",
                    "price_change",
                    "provider_incident",
                    "regional_availability_change",
                    "scheduled_review"
                  ]
                }
              },
              "reviewBy": {
                "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))$"
              }
            },
            "required": [
              "events",
              "reviewBy"
            ],
            "additionalProperties": false
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "answerThesis",
          "comparisonMethod",
          "createdAt",
          "entryId",
          "evidencePackId",
          "id",
          "internalLinks",
          "originalDataOpportunity",
          "primarySourceIds",
          "reader",
          "requiredEntities",
          "risks",
          "supportingClaimIds",
          "targetQuestion",
          "topicCandidateId",
          "updateTrigger",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasEditorialBrief.schema.json",
        "title": "AtlasEditorialBrief",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasEditorialOperatingObservation": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "fullyGatedCandidates": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "gateFailedCandidates": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "observedOn": {
            "type": "string",
            "format": "date",
            "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])))$"
          },
          "publishedItems": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          },
          "returnedToQueueWithinSla": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000
          }
        },
        "required": [
          "fullyGatedCandidates",
          "gateFailedCandidates",
          "observedOn",
          "publishedItems",
          "returnedToQueueWithinSla"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasEditorialOperatingObservation.schema.json",
        "title": "AtlasEditorialOperatingObservation",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasEditorialOperatingPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "automaticPublicationAllowed": {
            "type": "boolean",
            "const": false
          },
          "failedGateDisposition": {
            "type": "string",
            "const": "return_to_editorial_queue"
          },
          "forcedPublicationErrorBudget": {
            "type": "number",
            "const": 0
          },
          "measurementWindowDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 90
          },
          "publishableItemsPerDayObjective": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "qualityGates": {
            "minItems": 8,
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "evidence",
                "factual_qa",
                "editorial_qa",
                "aeo",
                "geo",
                "legal_safety",
                "human_approval",
                "accessibility_indexing"
              ]
            }
          },
          "queueReturnSlaHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          }
        },
        "required": [
          "automaticPublicationAllowed",
          "failedGateDisposition",
          "forcedPublicationErrorBudget",
          "measurementWindowDays",
          "publishableItemsPerDayObjective",
          "qualityGates",
          "queueReturnSlaHours"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasEditorialOperatingPolicy.schema.json",
        "title": "AtlasEditorialOperatingPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasEditorialQaReport": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "checks": {
            "minItems": 9,
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "answer_first_structure",
                    "originality",
                    "usefulness",
                    "information_gain",
                    "reading_clarity",
                    "title_description_quality",
                    "heading_structure",
                    "accessible_tables",
                    "non_promotional_tone"
                  ]
                },
                "evidence": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                },
                "observedValue": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "score": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "failed",
                    "manual_review",
                    "not_applicable",
                    "passed"
                  ]
                },
                "subjectId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "subjectKind": {
                  "type": "string",
                  "enum": [
                    "block",
                    "draft",
                    "entry"
                  ]
                }
              },
              "required": [
                "category",
                "evidence",
                "observedValue",
                "score",
                "status",
                "subjectId",
                "subjectKind"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reviewerId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reviewerVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "manual_review",
              "passed"
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "checks",
          "configurationVersionId",
          "createdAt",
          "draftId",
          "entryId",
          "id",
          "reviewerId",
          "reviewerVersion",
          "status",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasEditorialQaReport.schema.json",
        "title": "AtlasEditorialQaReport",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasEvidencePack": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "claims": {
            "minItems": 1,
            "maxItems": 250,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "confidence": {
                  "type": "string",
                  "enum": [
                    "low",
                    "medium",
                    "high"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "sourceIds": {
                  "minItems": 1,
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "statement": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 2000
                },
                "validUntil": {
                  "anyOf": [
                    {
                      "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))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "confidence",
                "id",
                "sourceIds",
                "statement",
                "validUntil"
              ],
              "additionalProperties": false
            }
          },
          "citations": {
            "minItems": 1,
            "maxItems": 1000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "claimId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "locator": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500
                },
                "quote": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 500
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "quotedWordCount": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 25
                },
                "sourceId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                }
              },
              "required": [
                "claimId",
                "locator",
                "quote",
                "quotedWordCount",
                "sourceId"
              ],
              "additionalProperties": false
            }
          },
          "createdAt": {
            "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))$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "methodology": {
            "type": "string",
            "minLength": 20,
            "maxLength": 10000
          },
          "sources": {
            "minItems": 1,
            "maxItems": 250,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "author": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "classification": {
                  "type": "string",
                  "enum": [
                    "primary",
                    "secondary"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "license": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicationDate": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date",
                      "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])))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publisher": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "retrievalDate": {
                  "type": "string",
                  "format": "date",
                  "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])))$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500
                },
                "url": {
                  "type": "string",
                  "maxLength": 2048,
                  "format": "uri"
                }
              },
              "required": [
                "author",
                "classification",
                "id",
                "license",
                "publicationDate",
                "publisher",
                "retrievalDate",
                "title",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "claims",
          "citations",
          "createdAt",
          "entryId",
          "id",
          "methodology",
          "sources",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasEvidencePack.schema.json",
        "title": "AtlasEvidencePack",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasExternalDistributionPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "channels": {
            "minItems": 1,
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "campaignMedium": {
                  "type": "string",
                  "enum": [
                    "community",
                    "social"
                  ]
                },
                "campaignSource": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 80,
                  "pattern": "^[a-z0-9]+(?:[_-][a-z0-9]+)*$"
                },
                "channel": {
                  "type": "string",
                  "enum": [
                    "x",
                    "linkedin",
                    "reddit",
                    "discord"
                  ]
                },
                "destinationKeys": {
                  "minItems": 1,
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 64,
                    "pattern": "^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$"
                  }
                },
                "enabled": {
                  "type": "boolean"
                },
                "maximumHashtags": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 10
                },
                "maximumMessageCharacters": {
                  "type": "integer",
                  "minimum": 80,
                  "maximum": 3000
                }
              },
              "required": [
                "campaignMedium",
                "campaignSource",
                "channel",
                "destinationKeys",
                "enabled",
                "maximumHashtags",
                "maximumMessageCharacters"
              ],
              "additionalProperties": false
            }
          },
          "maximumAttempts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "maximumBatchSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "publicOrigin": {
            "type": "string",
            "format": "uri"
          },
          "requireHumanApproval": {
            "type": "boolean",
            "const": true
          },
          "requireIndependentApprover": {
            "type": "boolean",
            "const": true
          },
          "retryBaseSeconds": {
            "type": "integer",
            "minimum": 30,
            "maximum": 3600
          }
        },
        "required": [
          "channels",
          "maximumAttempts",
          "maximumBatchSize",
          "publicOrigin",
          "requireHumanApproval",
          "requireIndependentApprover",
          "retryBaseSeconds"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasExternalDistributionPolicy.schema.json",
        "title": "AtlasExternalDistributionPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasExternalDistributionPost": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "approvedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "approvedBy": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "attributedUrl": {
            "type": "string",
            "format": "uri"
          },
          "campaign": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string",
                "minLength": 2,
                "maxLength": 80,
                "pattern": "^[a-z0-9]+(?:[_-][a-z0-9]+)*$"
              },
              "medium": {
                "type": "string",
                "enum": [
                  "community",
                  "social"
                ]
              },
              "name": {
                "type": "string",
                "minLength": 2,
                "maxLength": 80,
                "pattern": "^[a-z0-9]+(?:[_-][a-z0-9]+)*$"
              },
              "source": {
                "type": "string",
                "minLength": 2,
                "maxLength": 80,
                "pattern": "^[a-z0-9]+(?:[_-][a-z0-9]+)*$"
              }
            },
            "required": [
              "content",
              "medium",
              "name",
              "source"
            ],
            "additionalProperties": false
          },
          "canonicalUrl": {
            "type": "string",
            "format": "uri"
          },
          "channel": {
            "type": "string",
            "enum": [
              "x",
              "linkedin",
              "reddit",
              "discord"
            ]
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "contentHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "createdAt": {
            "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))$"
          },
          "createdBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "destinationKey": {
            "type": "string",
            "minLength": 3,
            "maxLength": 64,
            "pattern": "^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "hashtags": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[\\p{L}\\p{N}_]{1,64}$"
            }
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "message": {
            "type": "string",
            "minLength": 20,
            "maxLength": 3000
          },
          "providerPostId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ]
          },
          "providerPostUrl": {
            "anyOf": [
              {
                "type": "string",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "publicationEventId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "publicationGeneration": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "publishedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "status": {
            "type": "string",
            "enum": [
              "approved",
              "cancelled",
              "dead",
              "draft",
              "failed",
              "processing",
              "published"
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "approvedAt",
          "approvedBy",
          "attributedUrl",
          "campaign",
          "canonicalUrl",
          "channel",
          "configurationVersionId",
          "contentHash",
          "createdAt",
          "createdBy",
          "destinationKey",
          "entryId",
          "hashtags",
          "id",
          "message",
          "providerPostId",
          "providerPostUrl",
          "publicationEventId",
          "publicationGeneration",
          "publishedAt",
          "revision",
          "status",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasExternalDistributionPost.schema.json",
        "title": "AtlasExternalDistributionPost",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasFactualQaReport": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "checks": {
            "minItems": 10,
            "maxItems": 2000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "claim_citation_coverage",
                    "contradiction",
                    "date",
                    "link_health",
                    "model_version",
                    "numeric_claim",
                    "price",
                    "quotation",
                    "regional_availability",
                    "source_recency"
                  ]
                },
                "checkedAt": {
                  "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))$"
                },
                "evidenceSourceIds": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "expected": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "observed": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "failed",
                    "manual_review",
                    "not_applicable",
                    "passed"
                  ]
                },
                "subjectId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "subjectKind": {
                  "type": "string",
                  "enum": [
                    "block",
                    "claim",
                    "draft",
                    "source"
                  ]
                }
              },
              "required": [
                "category",
                "checkedAt",
                "evidenceSourceIds",
                "expected",
                "observed",
                "status",
                "subjectId",
                "subjectKind"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "contradictions": {
            "maxItems": 250,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "claimIds": {
                  "minItems": 2,
                  "maxItems": 2,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "resolution": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 10,
                      "maxLength": 2000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "resolved",
                    "unresolved"
                  ]
                }
              },
              "required": [
                "claimIds",
                "resolution",
                "status"
              ],
              "additionalProperties": false
            }
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "evidencePackId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "manual_review",
              "passed"
            ]
          },
          "verifierId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "verifierVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "checks",
          "configurationVersionId",
          "contradictions",
          "createdAt",
          "draftId",
          "entryId",
          "evidencePackId",
          "id",
          "status",
          "verifierId",
          "verifierVersion",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasFactualQaReport.schema.json",
        "title": "AtlasFactualQaReport",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasGeoPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "extractableSummaryMaximumCharacters": {
            "type": "integer",
            "minimum": 120,
            "maximum": 1200
          },
          "extractableSummaryMinimumCharacters": {
            "type": "integer",
            "minimum": 40,
            "maximum": 400
          },
          "machineReadableTableFamilies": {
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          },
          "maximumSourceAgeDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3650
          },
          "methodologyHeadingTerms": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 40
            }
          },
          "methodologyRequiredFamilies": {
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          },
          "minimumAuthorBiographyCharacters": {
            "type": "integer",
            "minimum": 20,
            "maximum": 1000
          },
          "minimumAuthorExpertiseTags": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "minimumMethodologyCharacters": {
            "type": "integer",
            "minimum": 20,
            "maximum": 1000
          },
          "minimumSummaryClaims": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "requireExactEntityNames": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "extractableSummaryMaximumCharacters",
          "extractableSummaryMinimumCharacters",
          "machineReadableTableFamilies",
          "maximumSourceAgeDays",
          "methodologyHeadingTerms",
          "methodologyRequiredFamilies",
          "minimumAuthorBiographyCharacters",
          "minimumAuthorExpertiseTags",
          "minimumMethodologyCharacters",
          "minimumSummaryClaims",
          "requireExactEntityNames"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasGeoPolicy.schema.json",
        "title": "AtlasGeoPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasGeoQaReport": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "aeoQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "annotations": {
            "type": "object",
            "properties": {
              "comparisonTableIds": {
                "maxItems": 25,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                }
              },
              "entityMentions": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "blockIds": {
                      "minItems": 1,
                      "maxItems": 25,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 8,
                        "maxLength": 128
                      }
                    },
                    "id": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "model",
                        "provider",
                        "taxonomy"
                      ]
                    }
                  },
                  "required": [
                    "blockIds",
                    "id",
                    "kind"
                  ],
                  "additionalProperties": false
                }
              },
              "factualSummaryBlockId": {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              "methodologyBlockIds": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                }
              }
            },
            "required": [
              "comparisonTableIds",
              "entityMentions",
              "factualSummaryBlockId",
              "methodologyBlockIds"
            ],
            "additionalProperties": false
          },
          "authorProfileId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "checks": {
            "minItems": 7,
            "maxItems": 7,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "stable_entities",
                    "extractable_factual_summary",
                    "claim_level_provenance",
                    "original_statistics_methodology",
                    "machine_readable_comparisons",
                    "content_freshness",
                    "publisher_expertise"
                  ]
                },
                "detail": {
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 2000
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "failed",
                    "not_applicable",
                    "passed"
                  ]
                },
                "subjectIds": {
                  "maxItems": 100,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                }
              },
              "required": [
                "category",
                "detail",
                "status",
                "subjectIds"
              ],
              "additionalProperties": false
            }
          },
          "comparisons": {
            "maxItems": 25,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "blockId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "columns": {
                  "minItems": 2,
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  }
                },
                "rowCount": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 49
                }
              },
              "required": [
                "blockId",
                "columns",
                "rowCount"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "editorialQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entities": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "blockIds": {
                  "minItems": 1,
                  "maxItems": 25,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "canonicalName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "displayName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "model",
                    "provider",
                    "taxonomy"
                  ]
                }
              },
              "required": [
                "blockIds",
                "canonicalName",
                "displayName",
                "id",
                "kind"
              ],
              "additionalProperties": false
            }
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "factualQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "passed"
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "aeoQaReportId",
          "annotations",
          "authorProfileId",
          "checks",
          "comparisons",
          "configurationVersionId",
          "createdAt",
          "draftId",
          "editorialQaReportId",
          "entities",
          "entryId",
          "factualQaReportId",
          "id",
          "status",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasGeoQaReport.schema.json",
        "title": "AtlasGeoQaReport",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasHumanApproval": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "aeoQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "geoQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "claimAssessments": {
            "minItems": 1,
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "categories": {
                  "maxItems": 7,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "benchmark",
                      "safety",
                      "legal",
                      "financial",
                      "health",
                      "political",
                      "reputational"
                    ]
                  }
                },
                "claimId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                }
              },
              "required": [
                "categories",
                "claimId"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "editorialQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "factualQaReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "legalSafetyReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reason": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "reviewerId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reviewerRoles": {
            "minItems": 1,
            "maxItems": 6,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "author",
                "editor",
                "fact_checker",
                "legal_reviewer",
                "security_reviewer",
                "publisher"
              ]
            }
          },
          "riskCategories": {
            "maxItems": 7,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "benchmark",
                "safety",
                "legal",
                "financial",
                "health",
                "political",
                "reputational"
              ]
            }
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "aeoQaReportId",
          "geoQaReportId",
          "claimAssessments",
          "configurationVersionId",
          "createdAt",
          "draftId",
          "editorialQaReportId",
          "entryId",
          "factualQaReportId",
          "id",
          "legalSafetyReportId",
          "reason",
          "reviewerId",
          "reviewerRoles",
          "riskCategories",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasHumanApproval.schema.json",
        "title": "AtlasHumanApproval",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasInternalLinkPlan": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "links": {
            "minItems": 1,
            "maxItems": 30,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "anchorText": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 120
                },
                "rationale": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                },
                "relationship": {
                  "type": "string",
                  "enum": [
                    "brief_approved",
                    "product_context",
                    "shared_model",
                    "shared_provider",
                    "shared_taxonomy"
                  ]
                },
                "sharedEntityIds": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 128
                  }
                },
                "targetEntryId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "targetPath": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "/docs",
                        "/models",
                        "/pricing"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "anchorText",
                "rationale",
                "relationship",
                "sharedEntityIds",
                "targetEntryId",
                "targetPath"
              ],
              "additionalProperties": false
            }
          },
          "sourceEntryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          }
        },
        "required": [
          "links",
          "sourceEntryId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasInternalLinkPlan.schema.json",
        "title": "AtlasInternalLinkPlan",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasInternalLinkPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "allowedProductPaths": {
            "minItems": 1,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "/docs",
                "/models",
                "/pricing"
              ]
            }
          },
          "cannibalizationSimilarity": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 1
          },
          "maximumExactAnchorRatio": {
            "type": "number",
            "minimum": 0,
            "maximum": 0.5
          },
          "maximumLinksPerPage": {
            "type": "integer",
            "minimum": 2,
            "maximum": 30
          },
          "maximumSameFamilyLinks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "minimumInboundLinks": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "minimumSharedEntities": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [
          "allowedProductPaths",
          "cannibalizationSimilarity",
          "maximumExactAnchorRatio",
          "maximumLinksPerPage",
          "maximumSameFamilyLinks",
          "minimumInboundLinks",
          "minimumSharedEntities"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasInternalLinkPolicy.schema.json",
        "title": "AtlasInternalLinkPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasLegalSafetyPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "criticalEscalationSlaHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24
          },
          "highEscalationSlaHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 72
          },
          "maximumAggregateQuotationWords": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          },
          "maximumQuotationWordsPerSpan": {
            "type": "integer",
            "minimum": 1,
            "maximum": 25
          },
          "minimumOriginalityScore": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 1
          },
          "requireConflictDisclosure": {
            "type": "boolean",
            "const": true
          },
          "requireIndependentLegalReviewFor": {
            "minItems": 7,
            "maxItems": 7,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "copyright",
                "trademark",
                "disclosure",
                "conflict_of_interest",
                "privacy",
                "defamation",
                "regional_sensitivity"
              ]
            }
          }
        },
        "required": [
          "criticalEscalationSlaHours",
          "highEscalationSlaHours",
          "maximumAggregateQuotationWords",
          "maximumQuotationWordsPerSpan",
          "minimumOriginalityScore",
          "requireConflictDisclosure",
          "requireIndependentLegalReviewFor"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasLegalSafetyPolicy.schema.json",
        "title": "AtlasLegalSafetyPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasLegalSafetyReport": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "checks": {
            "minItems": 9,
            "maxItems": 500,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "originality",
                    "copyright",
                    "quotation_length",
                    "trademark",
                    "disclosure",
                    "conflict_of_interest",
                    "privacy",
                    "defamation",
                    "regional_sensitivity"
                  ]
                },
                "evidence": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 1000
                },
                "quotationWordCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 500
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "similarityScore": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "failed",
                    "manual_review",
                    "not_applicable",
                    "passed"
                  ]
                },
                "subjectId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "subjectKind": {
                  "type": "string",
                  "enum": [
                    "block",
                    "draft",
                    "entry"
                  ]
                }
              },
              "required": [
                "category",
                "evidence",
                "quotationWordCount",
                "similarityScore",
                "status",
                "subjectId",
                "subjectKind"
              ],
              "additionalProperties": false
            }
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "createdAt": {
            "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))$"
          },
          "draftId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "escalations": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "originality",
                    "copyright",
                    "quotation_length",
                    "trademark",
                    "disclosure",
                    "conflict_of_interest",
                    "privacy",
                    "defamation",
                    "regional_sensitivity"
                  ]
                },
                "deadlineAt": {
                  "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))$"
                },
                "reasonCode": {
                  "type": "string",
                  "enum": [
                    "ATTRIBUTION_OR_LICENSE_UNCLEAR",
                    "CONFLICT_OR_DISCLOSURE_UNCLEAR",
                    "DEFINITIONAL_OR_REPUTATIONAL_RISK",
                    "PERSONAL_DATA_OR_CONSENT_UNCLEAR",
                    "QUOTATION_LIMIT_EXCEEDED",
                    "REGIONAL_CONTEXT_REVIEW_REQUIRED",
                    "SIMILARITY_THRESHOLD_NOT_MET",
                    "TRADEMARK_USE_REVIEW_REQUIRED"
                  ]
                },
                "requiredReviewerRole": {
                  "type": "string",
                  "enum": [
                    "editor",
                    "legal_reviewer",
                    "security_reviewer"
                  ]
                },
                "severity": {
                  "type": "string",
                  "enum": [
                    "critical",
                    "high"
                  ]
                },
                "status": {
                  "type": "string",
                  "const": "open"
                },
                "subjectId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                }
              },
              "required": [
                "category",
                "deadlineAt",
                "reasonCode",
                "requiredReviewerRole",
                "severity",
                "status",
                "subjectId"
              ],
              "additionalProperties": false
            }
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reviewerId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "reviewerVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "failed",
              "manual_review",
              "passed"
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "checks",
          "configurationVersionId",
          "createdAt",
          "draftId",
          "entryId",
          "escalations",
          "id",
          "reviewerId",
          "reviewerVersion",
          "status",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasLegalSafetyReport.schema.json",
        "title": "AtlasLegalSafetyReport",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasLocalizationPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "automaticPageCreation": {
            "type": "boolean",
            "const": false
          },
          "canonicalStrategy": {
            "type": "string",
            "const": "self"
          },
          "hreflangStrategy": {
            "type": "string",
            "const": "published_only"
          },
          "machinePublicationAllowed": {
            "type": "boolean",
            "const": false
          },
          "minimumHumanReviewers": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3
          },
          "missingTranslationBehavior": {
            "type": "string",
            "const": "not_found"
          },
          "requireIndependentReviewer": {
            "type": "boolean",
            "const": true
          },
          "sourceLocale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "targetLocales": {
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "direction": {
                  "type": "string",
                  "enum": [
                    "ltr",
                    "rtl"
                  ]
                },
                "label": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 80
                },
                "locale": {
                  "type": "string",
                  "maxLength": 16,
                  "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "pilot",
                    "planned"
                  ]
                }
              },
              "required": [
                "direction",
                "label",
                "locale",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "automaticPageCreation",
          "canonicalStrategy",
          "hreflangStrategy",
          "machinePublicationAllowed",
          "minimumHumanReviewers",
          "missingTranslationBehavior",
          "requireIndependentReviewer",
          "sourceLocale",
          "targetLocales"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasLocalizationPolicy.schema.json",
        "title": "AtlasLocalizationPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasMachineDiscoveryIndex": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "artifact": {
            "type": "string",
            "enum": [
              "llms_txt",
              "atlas_index"
            ]
          },
          "description": {
            "type": "string",
            "minLength": 40,
            "maxLength": 500
          },
          "evidence": {
            "type": "object",
            "properties": {
              "aggregateCohortSize": {
                "type": "integer",
                "minimum": 5,
                "maximum": 2147483647
              },
              "engagedConversions": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 2147483647
              },
              "measurementBasis": {
                "type": "string",
                "const": "privacy_safe_incremental_discovery"
              },
              "observationDays": {
                "type": "integer",
                "minimum": 2,
                "maximum": 180
              },
              "observedFrom": {
                "type": "string",
                "format": "date",
                "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])))$"
              },
              "observedThrough": {
                "type": "string",
                "format": "date",
                "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])))$"
              }
            },
            "required": [
              "aggregateCohortSize",
              "engagedConversions",
              "measurementBasis",
              "observationDays",
              "observedFrom",
              "observedThrough"
            ],
            "additionalProperties": false
          },
          "generatedAt": {
            "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))$"
          },
          "items": {
            "maxItems": 1000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "canonicalPath": {
                  "type": "string",
                  "maxLength": 300,
                  "pattern": "^\\/atlas\\/.*"
                },
                "family": {
                  "type": "string",
                  "enum": [
                    "article",
                    "model_profile",
                    "comparison",
                    "task_guide",
                    "provider_profile",
                    "lab_profile",
                    "country_brief",
                    "region_brief",
                    "benchmark",
                    "topic",
                    "author",
                    "update"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "publishedAt": {
                  "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))$"
                },
                "summary": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                },
                "title": {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 250
                },
                "lastModifiedAt": {
                  "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))$"
                },
                "newsEligible": {
                  "type": "boolean"
                }
              },
              "required": [
                "canonicalPath",
                "family",
                "id",
                "publishedAt",
                "summary",
                "title",
                "lastModifiedAt",
                "newsEligible"
              ],
              "additionalProperties": false
            }
          },
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "artifact",
          "description",
          "evidence",
          "generatedAt",
          "items",
          "name",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasMachineDiscoveryIndex.schema.json",
        "title": "AtlasMachineDiscoveryIndex",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasMeasurementObservation": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "collectedAt": {
            "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))$"
          },
          "collectionMethod": {
            "type": "string",
            "enum": [
              "direct",
              "provider_aggregate",
              "reconciled"
            ]
          },
          "configurationVersionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "cohortSize": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "coverageRatio": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "countryCode": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "denominator": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "entryId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "metricKind": {
            "type": "string",
            "enum": [
              "answer_engine_referrals",
              "api_key_conversions",
              "assisted_revenue_usd",
              "content_decay",
              "crawl_health",
              "newsletter_conversions",
              "observable_cited_mentions",
              "qualified_organic_sessions",
              "returning_readers",
              "topic_authority"
            ]
          },
          "numerator": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "observedOn": {
            "type": "string",
            "format": "date",
            "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])))$"
          },
          "sourceReportId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 160
          },
          "sourceType": {
            "type": "string",
            "enum": [
              "answer_engine_analytics",
              "bing_webmaster_tools",
              "crawl_monitor",
              "first_party_analytics",
              "google_search_console",
              "ledger_attribution",
              "mention_monitor",
              "platform_conversion"
            ]
          },
          "taxonomySlug": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "unit": {
            "type": "string",
            "enum": [
              "count",
              "ratio",
              "usd"
            ]
          },
          "value": {
            "type": "string",
            "maxLength": 32,
            "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,6})?$"
          },
          "windowDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 366
          }
        },
        "required": [
          "collectedAt",
          "collectionMethod",
          "configurationVersionId",
          "cohortSize",
          "coverageRatio",
          "countryCode",
          "denominator",
          "entryId",
          "metricKind",
          "numerator",
          "observedOn",
          "sourceReportId",
          "sourceType",
          "taxonomySlug",
          "unit",
          "value",
          "windowDays"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasMeasurementObservation.schema.json",
        "title": "AtlasMeasurementObservation",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasMeasurementPoint": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "cohortSize": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "collectedAt": {
            "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))$"
          },
          "collectionMethod": {
            "type": "string",
            "enum": [
              "direct",
              "provider_aggregate",
              "reconciled"
            ]
          },
          "countryCode": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "coverageRatio": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "denominator": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "entryId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "metricKind": {
            "type": "string",
            "enum": [
              "answer_engine_referrals",
              "api_key_conversions",
              "assisted_revenue_usd",
              "content_decay",
              "crawl_health",
              "newsletter_conversions",
              "observable_cited_mentions",
              "qualified_organic_sessions",
              "returning_readers",
              "topic_authority"
            ]
          },
          "numerator": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "observedOn": {
            "type": "string",
            "format": "date",
            "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])))$"
          },
          "sourceType": {
            "type": "string",
            "enum": [
              "answer_engine_analytics",
              "bing_webmaster_tools",
              "crawl_monitor",
              "first_party_analytics",
              "google_search_console",
              "ledger_attribution",
              "mention_monitor",
              "platform_conversion"
            ]
          },
          "taxonomySlug": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "unit": {
            "type": "string",
            "enum": [
              "count",
              "ratio",
              "usd"
            ]
          },
          "value": {
            "type": "string",
            "maxLength": 32,
            "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,6})?$"
          },
          "windowDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 366
          }
        },
        "required": [
          "cohortSize",
          "collectedAt",
          "collectionMethod",
          "countryCode",
          "coverageRatio",
          "denominator",
          "entryId",
          "metricKind",
          "numerator",
          "observedOn",
          "sourceType",
          "taxonomySlug",
          "unit",
          "value",
          "windowDays"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasMeasurementPoint.schema.json",
        "title": "AtlasMeasurementPoint",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasMeasurementPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "assistedRevenueAttributionWindowDays": {
            "type": "integer",
            "minimum": 1,
            "maximum": 180
          },
          "baseCurrency": {
            "type": "string",
            "const": "USD"
          },
          "contentDecayMinimumDropPercentage": {
            "type": "number",
            "minimum": 1,
            "maximum": 100
          },
          "contentDecayWindowDays": {
            "type": "integer",
            "minimum": 7,
            "maximum": 365
          },
          "minimumAggregateCohortSize": {
            "type": "integer",
            "minimum": 5,
            "maximum": 10000
          },
          "publicOrigin": {
            "type": "string",
            "format": "uri"
          },
          "qualifiedSessionMinimumEngagedSeconds": {
            "type": "integer",
            "minimum": 5,
            "maximum": 3600
          },
          "qualifiedSessionMinimumPageViews": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "returningReaderWindowDays": {
            "type": "integer",
            "minimum": 2,
            "maximum": 365
          },
          "searchConsoleLagDays": {
            "type": "integer",
            "minimum": 2,
            "maximum": 7
          },
          "sourceFreshnessHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 720
          }
        },
        "required": [
          "assistedRevenueAttributionWindowDays",
          "baseCurrency",
          "contentDecayMinimumDropPercentage",
          "contentDecayWindowDays",
          "minimumAggregateCohortSize",
          "publicOrigin",
          "qualifiedSessionMinimumEngagedSeconds",
          "qualifiedSessionMinimumPageViews",
          "returningReaderWindowDays",
          "searchConsoleLagDays",
          "sourceFreshnessHours"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasMeasurementPolicy.schema.json",
        "title": "AtlasMeasurementPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasMetadataPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "datasetEligibleFamilies": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          },
          "datasetLicenseUrl": {
            "type": "string",
            "format": "uri"
          },
          "defaultSocialImageUrl": {
            "type": "string",
            "format": "uri"
          },
          "minimumIndexableCharacters": {
            "type": "integer",
            "minimum": 200,
            "maximum": 5000
          },
          "publisher": {
            "type": "object",
            "properties": {
              "logoUrl": {
                "type": "string",
                "format": "uri"
              },
              "name": {
                "type": "string",
                "minLength": 2,
                "maxLength": 100
              },
              "url": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "logoUrl",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "techArticleFamilies": {
            "minItems": 1,
            "maxItems": 12,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "model_profile",
                "comparison",
                "task_guide",
                "provider_profile",
                "lab_profile",
                "country_brief",
                "region_brief",
                "benchmark",
                "topic",
                "author",
                "update"
              ]
            }
          }
        },
        "required": [
          "datasetEligibleFamilies",
          "datasetLicenseUrl",
          "defaultSocialImageUrl",
          "minimumIndexableCharacters",
          "publisher",
          "techArticleFamilies"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasMetadataPolicy.schema.json",
        "title": "AtlasMetadataPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasPublicIndex": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "items": {
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "canonicalPath": {
                  "type": "string",
                  "maxLength": 300,
                  "pattern": "^\\/atlas\\/.*"
                },
                "family": {
                  "type": "string",
                  "enum": [
                    "article",
                    "model_profile",
                    "comparison",
                    "task_guide",
                    "provider_profile",
                    "lab_profile",
                    "country_brief",
                    "region_brief",
                    "benchmark",
                    "topic",
                    "author",
                    "update"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 128
                },
                "publishedAt": {
                  "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))$"
                },
                "summary": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                },
                "title": {
                  "type": "string",
                  "minLength": 4,
                  "maxLength": 250
                }
              },
              "required": [
                "canonicalPath",
                "family",
                "id",
                "publishedAt",
                "summary",
                "title"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "items",
          "nextCursor"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasPublicIndex.schema.json",
        "title": "AtlasPublicIndex",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasPublicPage": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "canonicalPath": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^\\/atlas\\/.*"
              },
              "kind": {
                "type": "string",
                "const": "archived"
              },
              "noindex": {
                "type": "boolean",
                "const": true
              },
              "publicationGeneration": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "summary": {
                "type": "string",
                "minLength": 20,
                "maxLength": 1000
              },
              "title": {
                "type": "string",
                "minLength": 4,
                "maxLength": 250
              }
            },
            "required": [
              "canonicalPath",
              "kind",
              "noindex",
              "publicationGeneration",
              "summary",
              "title"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "canonicalPath": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^\\/atlas\\/.*"
              },
              "kind": {
                "type": "string",
                "const": "redirect"
              },
              "publicationGeneration": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "status": {
                "type": "number",
                "const": 308
              },
              "targetCanonicalPath": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^\\/atlas\\/.*"
              }
            },
            "required": [
              "canonicalPath",
              "kind",
              "publicationGeneration",
              "status",
              "targetCanonicalPath"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "author": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "biography": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5000
                      },
                      "displayName": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300
                      },
                      "expertise": {
                        "minItems": 1,
                        "maxItems": 20,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 100
                        }
                      },
                      "slug": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 160,
                        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                      }
                    },
                    "required": [
                      "biography",
                      "displayName",
                      "expertise",
                      "slug"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "blocks": {
                "minItems": 1,
                "maxItems": 250,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "citations": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "locator": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "publisher": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 300
                          },
                          "sourceId": {
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 128
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 500
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          }
                        },
                        "required": [
                          "locator",
                          "publisher",
                          "sourceId",
                          "title",
                          "url"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "content": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 10000
                    },
                    "id": {
                      "type": "string",
                      "minLength": 8,
                      "maxLength": 128
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "callout",
                        "code",
                        "heading",
                        "list",
                        "paragraph",
                        "table"
                      ]
                    }
                  },
                  "required": [
                    "citations",
                    "content",
                    "id",
                    "type"
                  ],
                  "additionalProperties": false
                }
              },
              "canonicalPath": {
                "type": "string",
                "maxLength": 300,
                "pattern": "^\\/atlas\\/.*"
              },
              "corrections": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 2000
                    },
                    "material": {
                      "type": "boolean"
                    },
                    "publishedAt": {
                      "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))$"
                    }
                  },
                  "required": [
                    "description",
                    "material",
                    "publishedAt"
                  ],
                  "additionalProperties": false
                }
              },
              "family": {
                "type": "string",
                "enum": [
                  "article",
                  "model_profile",
                  "comparison",
                  "task_guide",
                  "provider_profile",
                  "lab_profile",
                  "country_brief",
                  "region_brief",
                  "benchmark",
                  "topic",
                  "author",
                  "update"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "dataset": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "description": {
                            "type": "string",
                            "minLength": 20,
                            "maxLength": 2000
                          },
                          "licenseUrl": {
                            "type": "string",
                            "format": "uri"
                          },
                          "methodology": {
                            "type": "string",
                            "minLength": 20,
                            "maxLength": 10000
                          },
                          "variables": {
                            "minItems": 1,
                            "maxItems": 25,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 2,
                              "maxLength": 160
                            }
                          }
                        },
                        "required": [
                          "description",
                          "licenseUrl",
                          "methodology",
                          "variables"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "indexable": {
                    "type": "boolean"
                  },
                  "noindexReason": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "thin_content"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "publisher": {
                    "type": "object",
                    "properties": {
                      "logoUrl": {
                        "type": "string",
                        "format": "uri"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100
                      },
                      "url": {
                        "type": "string",
                        "format": "uri"
                      }
                    },
                    "required": [
                      "logoUrl",
                      "name",
                      "url"
                    ],
                    "additionalProperties": false
                  },
                  "schemaType": {
                    "type": "string",
                    "enum": [
                      "Article",
                      "TechArticle"
                    ]
                  },
                  "socialImageUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "required": [
                  "dataset",
                  "indexable",
                  "noindexReason",
                  "publisher",
                  "schemaType",
                  "socialImageUrl"
                ],
                "additionalProperties": false
              },
              "kind": {
                "type": "string",
                "const": "content"
              },
              "lastReviewedAt": {
                "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))$"
              },
              "publishedAt": {
                "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))$"
              },
              "publicationGeneration": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "relatedLinks": {
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "anchorText": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 120
                    },
                    "path": {
                      "type": "string",
                      "maxLength": 300,
                      "pattern": "^\\/(?!\\/)[a-z0-9]+(?:[/-][a-z0-9]+)*$"
                    },
                    "relationship": {
                      "type": "string",
                      "enum": [
                        "brief_approved",
                        "product_context",
                        "shared_model",
                        "shared_provider",
                        "shared_taxonomy"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 250
                    }
                  },
                  "required": [
                    "anchorText",
                    "path",
                    "relationship",
                    "title"
                  ],
                  "additionalProperties": false
                }
              },
              "state": {
                "type": "string",
                "enum": [
                  "corrected",
                  "published"
                ]
              },
              "summary": {
                "type": "string",
                "minLength": 20,
                "maxLength": 1000
              },
              "title": {
                "type": "string",
                "minLength": 4,
                "maxLength": 250
              }
            },
            "required": [
              "author",
              "blocks",
              "canonicalPath",
              "corrections",
              "family",
              "id",
              "metadata",
              "kind",
              "lastReviewedAt",
              "publishedAt",
              "publicationGeneration",
              "revision",
              "relatedLinks",
              "state",
              "summary",
              "title"
            ],
            "additionalProperties": false
          }
        ],
        "$id": "https://schemas.openwaya.africa/v1/AtlasPublicPage.schema.json",
        "title": "AtlasPublicPage",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasPublicationEvent": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "archived",
              "corrected",
              "published",
              "redirected",
              "rolled_back",
              "scheduled"
            ]
          },
          "actorId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "canonicalPath": {
            "type": "string",
            "maxLength": 300,
            "pattern": "^\\/atlas\\/.*"
          },
          "createdAt": {
            "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))$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "publicationGeneration": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "reason": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "redirectTargetEntryId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "scheduledAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "string",
            "const": "2026-09-05"
          }
        },
        "required": [
          "action",
          "actorId",
          "canonicalPath",
          "createdAt",
          "entryId",
          "id",
          "publicationGeneration",
          "reason",
          "redirectTargetEntryId",
          "revision",
          "scheduledAt",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasPublicationEvent.schema.json",
        "title": "AtlasPublicationEvent",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasRefreshJob": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "assignedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "assignedTo": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "baselineLastSubstantiveReviewAt": {
            "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))$"
          },
          "baselineRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "detectedAt": {
            "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))$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "priority": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "reviewDueAt": {
            "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))$"
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "assigned",
              "resolved",
              "dismissed"
            ]
          },
          "triggerType": {
            "type": "string",
            "enum": [
              "scheduled_due",
              "registry_change",
              "source_change",
              "traffic_decay",
              "broken_citation",
              "model_deprecation",
              "price_change",
              "claim_expiry"
            ]
          }
        },
        "required": [
          "assignedAt",
          "assignedTo",
          "baselineLastSubstantiveReviewAt",
          "baselineRevision",
          "detectedAt",
          "entryId",
          "id",
          "priority",
          "reviewDueAt",
          "status",
          "triggerType"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasRefreshJob.schema.json",
        "title": "AtlasRefreshJob",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasRefreshPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contentDecayMinimumRatio": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 1
          },
          "maximumJobsPerScan": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "reviewSlaHours": {
            "type": "object",
            "properties": {
              "broken_citation": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "claim_expiry": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "model_deprecation": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "price_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "registry_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "scheduled_due": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "source_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "traffic_decay": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "broken_citation",
              "claim_expiry",
              "model_deprecation",
              "price_change",
              "registry_change",
              "scheduled_due",
              "source_change",
              "traffic_decay"
            ],
            "additionalProperties": false
          },
          "scheduledReviewLookaheadHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2160
          },
          "sourceEventLookbackHours": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8760
          },
          "triggerPriority": {
            "type": "object",
            "properties": {
              "broken_citation": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "claim_expiry": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "model_deprecation": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "price_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "registry_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "scheduled_due": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "source_change": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "traffic_decay": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "broken_citation",
              "claim_expiry",
              "model_deprecation",
              "price_change",
              "registry_change",
              "scheduled_due",
              "source_change",
              "traffic_decay"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "contentDecayMinimumRatio",
          "maximumJobsPerScan",
          "reviewSlaHours",
          "scheduledReviewLookaheadHours",
          "sourceEventLookbackHours",
          "triggerPriority"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasRefreshPolicy.schema.json",
        "title": "AtlasRefreshPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasSourceRetrievalPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "allowedMimeTypes": {
            "minItems": 1,
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "application/json",
                "application/pdf",
                "text/html",
                "text/plain"
              ]
            }
          },
          "maximumDnsAddresses": {
            "type": "integer",
            "minimum": 1,
            "maximum": 32
          },
          "maximumResponseBytes": {
            "type": "integer",
            "minimum": 1024,
            "maximum": 26214400
          },
          "timeoutMilliseconds": {
            "type": "integer",
            "minimum": 500,
            "maximum": 30000
          },
          "userAgent": {
            "type": "string",
            "minLength": 10,
            "maxLength": 200
          }
        },
        "required": [
          "allowedMimeTypes",
          "maximumDnsAddresses",
          "maximumResponseBytes",
          "timeoutMilliseconds",
          "userAgent"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasSourceRetrievalPolicy.schema.json",
        "title": "AtlasSourceRetrievalPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "AtlasTranslationProvenance": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "assistanceConfigurationId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "assistedModelId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 128
              },
              {
                "type": "null"
              }
            ]
          },
          "contentHash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "createdAt": {
            "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))$"
          },
          "entryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "generationMethod": {
            "type": "string",
            "enum": [
              "assisted",
              "human"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "publishedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "reviewedAt": {
            "anyOf": [
              {
                "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))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "reviewerIds": {
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            }
          },
          "sourceLocale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "sourceRevisionId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "status": {
            "type": "string",
            "enum": [
              "approved",
              "archived",
              "draft",
              "published",
              "review"
            ]
          },
          "targetLocale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "translatedBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 128
          },
          "version": {
            "type": "string",
            "const": "2026-09-06"
          }
        },
        "required": [
          "assistanceConfigurationId",
          "assistedModelId",
          "contentHash",
          "createdAt",
          "entryId",
          "generationMethod",
          "id",
          "publishedAt",
          "reviewedAt",
          "reviewerIds",
          "sourceLocale",
          "sourceRevisionId",
          "status",
          "targetLocale",
          "translatedBy",
          "version"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AtlasTranslationProvenance.schema.json",
        "title": "AtlasTranslationProvenance",
        "x-openwaya-contract-version": "1.0"
      },
      "AuditActor": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "ipCountry": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "user",
              "api_key",
              "service",
              "provider",
              "system"
            ]
          },
          "organizationId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "sessionId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "ipCountry",
          "kind",
          "organizationId",
          "sessionId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AuditActor.schema.json",
        "title": "AuditActor",
        "x-openwaya-contract-version": "1.0"
      },
      "AuditEvent": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "actor": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 96,
                    "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ipCountry": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "kind": {
                "type": "string",
                "enum": [
                  "user",
                  "api_key",
                  "service",
                  "provider",
                  "system"
                ]
              },
              "organizationId": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 96,
                    "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sessionId": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 96,
                    "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "ipCountry",
              "kind",
              "organizationId",
              "sessionId"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "occurredAt": {
            "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)))$"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 2000
              },
              {
                "type": "null"
              }
            ]
          },
          "requestId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "resourceId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "resourceType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "result": {
            "type": "string",
            "enum": [
              "succeeded",
              "denied",
              "failed"
            ]
          }
        },
        "required": [
          "action",
          "actor",
          "contractVersion",
          "id",
          "occurredAt",
          "reason",
          "requestId",
          "resourceId",
          "resourceType",
          "result"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/AuditEvent.schema.json",
        "title": "AuditEvent",
        "x-openwaya-contract-version": "1.0"
      },
      "ConfigurationActivation": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "activatedAt": {
            "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)))$"
          },
          "activatedBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "changeId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "effectiveAt": {
            "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)))$"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "activatedAt",
          "activatedBy",
          "changeId",
          "contractVersion",
          "effectiveAt",
          "revision"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConfigurationActivation.schema.json",
        "title": "ConfigurationActivation",
        "x-openwaya-contract-version": "1.0"
      },
      "ConfigurationApproval": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "approvedAt": {
            "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)))$"
          },
          "approvedBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "changeId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "decision": {
            "type": "string",
            "enum": [
              "approved",
              "rejected"
            ]
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          }
        },
        "required": [
          "approvedAt",
          "approvedBy",
          "changeId",
          "contractVersion",
          "decision",
          "reason"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConfigurationApproval.schema.json",
        "title": "ConfigurationApproval",
        "x-openwaya-contract-version": "1.0"
      },
      "ConfigurationChange": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "baseRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "createdBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "scope": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 96,
                    "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "environment",
                  "global",
                  "country",
                  "currency",
                  "provider",
                  "model",
                  "plan",
                  "organization",
                  "user"
                ]
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          "state": {
            "type": "string",
            "enum": [
              "draft",
              "in_review",
              "approved",
              "scheduled",
              "active",
              "retired"
            ]
          },
          "value": {
            "anyOf": [
              {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "null"
                ]
              },
              {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                }
              },
              {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": [
                    "string",
                    "number",
                    "boolean",
                    "null"
                  ]
                }
              }
            ]
          }
        },
        "required": [
          "baseRevision",
          "contractVersion",
          "createdAt",
          "createdBy",
          "id",
          "key",
          "reason",
          "scope",
          "state",
          "value"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConfigurationChange.schema.json",
        "title": "ConfigurationChange",
        "x-openwaya-contract-version": "1.0"
      },
      "ConfigurationRollback": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "fromRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "rolledBackAt": {
            "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)))$"
          },
          "rolledBackBy": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "toRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "contractVersion",
          "fromRevision",
          "reason",
          "rolledBackAt",
          "rolledBackBy",
          "toRevision"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConfigurationRollback.schema.json",
        "title": "ConfigurationRollback",
        "x-openwaya-contract-version": "1.0"
      },
      "ConsensusApiError": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "enum": [
              "CONSENSUS_DISABLED",
              "CONSENSUS_PROVIDER_BUSY",
              "CONSENSUS_PROVIDER_TIMEOUT",
              "CONSENSUS_PROVIDER_UNAVAILABLE",
              "CONSENSUS_REQUEST_ABORTED",
              "CONSENSUS_REQUEST_REJECTED",
              "CONSENSUS_REQUEST_REPLAYED",
              "CONSENSUS_RESERVATION_FAILED",
              "CONSENSUS_SETTLEMENT_PENDING",
              "CONSENSUS_UNAVAILABLE",
              "INVALID_API_KEY",
              "INVALID_CONSENSUS_REQUEST",
              "INVALID_IDEMPOTENCY_KEY"
            ]
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          }
        },
        "required": [
          "code",
          "requestId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConsensusApiError.schema.json",
        "title": "ConsensusApiError",
        "x-openwaya-contract-version": "1.0"
      },
      "ConsensusRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "deepSynthesis": {
            "default": false,
            "type": "boolean"
          },
          "idempotencyKey": {
            "type": "string",
            "minLength": 16,
            "maxLength": 255,
            "pattern": "^[A-Za-z0-9._:-]+$"
          },
          "maximumCharge": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "modelSetId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^cset_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "models": {
            "minItems": 2,
            "maxItems": 5,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
            }
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100000
          },
          "webGrounding": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "contractVersion",
          "deepSynthesis",
          "prompt",
          "webGrounding"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConsensusRequest.schema.json",
        "title": "ConsensusRequest",
        "x-openwaya-contract-version": "1.0"
      },
      "ConsensusResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "consensus": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "agreement": {
                    "maxItems": 64,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000000
                    }
                  },
                  "confidence": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "dissent": {
                    "maxItems": 64,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000000
                    }
                  },
                  "engineLabel": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  "engineScore": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "label": {
                    "type": "string",
                    "enum": [
                      "strong",
                      "moderate",
                      "split",
                      "divergent",
                      "unmapped"
                    ]
                  },
                  "score": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "scoreScale": {
                    "type": "string",
                    "enum": [
                      "normalized_0_1",
                      "provider_native_unmapped"
                    ]
                  },
                  "synthesis": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000000
                  }
                },
                "required": [
                  "agreement",
                  "confidence",
                  "dissent",
                  "engineLabel",
                  "engineScore",
                  "label",
                  "score",
                  "scoreScale",
                  "synthesis"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "providerUsage": {
            "type": "object",
            "properties": {
              "creditsReported": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              },
              "refunded": {
                "type": [
                  "boolean",
                  "null"
                ]
              }
            },
            "required": [
              "creditsReported",
              "refunded"
            ],
            "additionalProperties": false
          },
          "requestedModels": {
            "minItems": 2,
            "maxItems": 5,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
            }
          },
          "results": {
            "minItems": 2,
            "maxItems": 5,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "agreementScore": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "content": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 1000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "errorCode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "upstream_result_missing",
                        "upstream_failed",
                        "upstream_timed_out",
                        "upstream_unavailable"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "latencyMs": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 3600000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "model": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 512,
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "succeeded",
                    "failed",
                    "timed_out",
                    "unavailable"
                  ]
                },
                "tokenUsage": {
                  "type": "object",
                  "properties": {
                    "inputTokens": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "outputTokens": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "reported": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "inputTokens",
                    "outputTokens",
                    "reported"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "agreementScore",
                "content",
                "errorCode",
                "latencyMs",
                "model",
                "status",
                "tokenUsage"
              ],
              "additionalProperties": false
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "complete",
              "degraded"
            ]
          },
          "usage": {
            "type": "object",
            "properties": {
              "modelsCalled": {
                "type": "integer",
                "minimum": 0,
                "maximum": 5
              },
              "modelsRequested": {
                "type": "integer",
                "minimum": 2,
                "maximum": 5
              },
              "modelsSucceeded": {
                "type": "integer",
                "minimum": 0,
                "maximum": 5
              }
            },
            "required": [
              "modelsCalled",
              "modelsRequested",
              "modelsSucceeded"
            ],
            "additionalProperties": false
          },
          "billing": {
            "type": "object",
            "properties": {
              "actualCharge": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "maxLength": 128,
                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "actualCharge"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "engine": {
            "type": "string",
            "const": "drux"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "modelSetId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^cset_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "consensus",
          "providerUsage",
          "requestedModels",
          "results",
          "status",
          "usage",
          "billing",
          "contractVersion",
          "createdAt",
          "engine",
          "id",
          "modelSetId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ConsensusResponse.schema.json",
        "title": "ConsensusResponse",
        "x-openwaya-contract-version": "1.0"
      },
      "Dispute": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "amount": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "closedAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "dueAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "openedAt": {
            "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)))$"
          },
          "paymentIntentId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "processorReason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "under_review",
              "won",
              "lost",
              "closed"
            ]
          },
          "statusChangedAt": {
            "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)))$"
          },
          "statusReasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "statusSource": {
            "type": "string",
            "enum": [
              "administrator",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "terminalAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "amount",
          "closedAt",
          "contractVersion",
          "dueAt",
          "id",
          "openedAt",
          "paymentIntentId",
          "processorReason",
          "status",
          "statusChangedAt",
          "statusReasonCode",
          "statusSource",
          "terminalAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/Dispute.schema.json",
        "title": "Dispute",
        "x-openwaya-contract-version": "1.0"
      },
      "DisputeTransition": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "disputeId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "occurredAt": {
            "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)))$"
          },
          "previousStatus": {
            "type": "string",
            "enum": [
              "open",
              "under_review",
              "won",
              "lost",
              "closed"
            ]
          },
          "reasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "source": {
            "type": "string",
            "enum": [
              "administrator",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "under_review",
              "won",
              "lost",
              "closed"
            ]
          }
        },
        "required": [
          "contractVersion",
          "disputeId",
          "occurredAt",
          "previousStatus",
          "reasonCode",
          "source",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/DisputeTransition.schema.json",
        "title": "DisputeTransition",
        "x-openwaya-contract-version": "1.0"
      },
      "DomainEventEnvelope": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "correlationId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "additionalProperties": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "eventId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "eventType": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^[a-z][a-z0-9_.]+\\.v\\d+$"
          },
          "eventVersion": {
            "type": "number",
            "const": 1
          },
          "occurredAt": {
            "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)))$"
          },
          "source": {
            "type": "string",
            "maxLength": 64,
            "pattern": "^openwaya\\.[a-z][a-z0-9-]+$"
          }
        },
        "required": [
          "correlationId",
          "data",
          "eventId",
          "eventType",
          "eventVersion",
          "occurredAt",
          "source"
        ],
        "additionalProperties": false,
        "$defs": {
          "__schema0": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "null"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "$ref": "#/$defs/__schema0"
                }
              }
            ]
          }
        },
        "$id": "https://schemas.openwaya.africa/v1/DomainEventEnvelope.schema.json",
        "title": "DomainEventEnvelope",
        "x-openwaya-contract-version": "1.0"
      },
      "ErrorEnvelope": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "authentication_required",
                  "authorization_denied",
                  "invalid_request",
                  "invalid_api_key",
                  "rate_limit_exceeded",
                  "insufficient_balance",
                  "model_not_found",
                  "model_unavailable",
                  "provider_unavailable",
                  "request_timeout",
                  "content_rejected",
                  "conflict",
                  "idempotency_conflict",
                  "payment_required",
                  "payment_failed",
                  "configuration_invalid",
                  "internal_error"
                ]
              },
              "details": {
                "maxItems": 50,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "field": {
                      "type": "string",
                      "maxLength": 255
                    },
                    "issue": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "location": {
                      "type": "string",
                      "enum": [
                        "body",
                        "header",
                        "path",
                        "query"
                      ]
                    }
                  },
                  "required": [
                    "issue"
                  ],
                  "additionalProperties": false
                }
              },
              "message": {
                "type": "string",
                "minLength": 1,
                "maxLength": 2000
              },
              "retryable": {
                "type": "boolean"
              },
              "type": {
                "type": "string",
                "const": "openwaya_error"
              }
            },
            "required": [
              "code",
              "message",
              "retryable",
              "type"
            ],
            "additionalProperties": false
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "timestamp": {
            "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)))$"
          }
        },
        "required": [
          "contractVersion",
          "error",
          "requestId",
          "timestamp"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ErrorEnvelope.schema.json",
        "title": "ErrorEnvelope",
        "x-openwaya-contract-version": "1.0"
      },
      "InferenceRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contentLogging": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "const": true
              },
              "purpose": {
                "type": "string",
                "enum": [
                  "development_debugging",
                  "quality_evaluation",
                  "support_investigation"
                ]
              },
              "retentionHours": {
                "type": "integer",
                "minimum": 1,
                "maximum": 168
              }
            },
            "required": [
              "enabled",
              "purpose",
              "retentionHours"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "idempotencyKey": {
            "type": "string",
            "minLength": 16,
            "maxLength": 255
          },
          "maxTokens": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          },
          "messages": {
            "minItems": 1,
            "maxItems": 10000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "content": {
                  "anyOf": [
                    {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 1000000
                        },
                        {
                          "minItems": 1,
                          "maxItems": 100,
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "text": {
                                    "type": "string",
                                    "maxLength": 1000000
                                  },
                                  "type": {
                                    "type": "string",
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "text",
                                  "type"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "detail": {
                                    "default": "auto",
                                    "type": "string",
                                    "enum": [
                                      "auto",
                                      "low",
                                      "high"
                                    ]
                                  },
                                  "type": {
                                    "type": "string",
                                    "const": "image_url"
                                  },
                                  "url": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 8192,
                                    "format": "uri"
                                  }
                                },
                                "required": [
                                  "detail",
                                  "type",
                                  "url"
                                ],
                                "additionalProperties": false
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "system",
                    "developer",
                    "user",
                    "assistant",
                    "tool"
                  ]
                },
                "toolCallId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "toolCalls": {
                  "minItems": 1,
                  "maxItems": 128,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "function": {
                        "type": "object",
                        "properties": {
                          "arguments": {
                            "type": "string",
                            "maxLength": 1000000
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[A-Za-z0-9_-]+$"
                          }
                        },
                        "required": [
                          "arguments",
                          "name"
                        ],
                        "additionalProperties": false
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "type": {
                        "type": "string",
                        "const": "function"
                      }
                    },
                    "required": [
                      "function",
                      "id",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "content",
                "role"
              ],
              "additionalProperties": false
            }
          },
          "metadata": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 64
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 512
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "parallelToolCalls": {
            "type": "boolean"
          },
          "responseFormat": {
            "default": "text",
            "type": "string",
            "enum": [
              "text",
              "json_object"
            ]
          },
          "routingPolicy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          },
          "stop": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 512
              },
              {
                "maxItems": 16,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 512
                }
              }
            ]
          },
          "stream": {
            "default": false,
            "type": "boolean"
          },
          "streamFallbackBehavior": {
            "default": "terminate",
            "type": "string",
            "enum": [
              "terminate",
              "replay"
            ]
          },
          "temperature": {
            "type": "number",
            "minimum": 0,
            "maximum": 2
          },
          "toolChoice": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "auto",
                  "none",
                  "required"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "function": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64,
                        "pattern": "^[A-Za-z0-9_-]+$"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "additionalProperties": false
                  },
                  "type": {
                    "type": "string",
                    "const": "function"
                  }
                },
                "required": [
                  "function",
                  "type"
                ],
                "additionalProperties": false
              }
            ]
          },
          "tools": {
            "maxItems": 128,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "function": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "type": "string",
                      "maxLength": 4096
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 64,
                      "pattern": "^[A-Za-z0-9_-]+$"
                    },
                    "parameters": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    },
                    "strict": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "function"
                }
              },
              "required": [
                "function",
                "type"
              ],
              "additionalProperties": false
            }
          },
          "topP": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "user": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "contractVersion",
          "messages",
          "model",
          "responseFormat",
          "stream",
          "streamFallbackBehavior"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/InferenceRequest.schema.json",
        "title": "InferenceRequest",
        "x-openwaya-contract-version": "1.0"
      },
      "InferenceResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "choices": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "finishReason": {
                  "type": "string",
                  "enum": [
                    "stop",
                    "length",
                    "tool_calls",
                    "content_filter",
                    "error"
                  ]
                },
                "index": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "message": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "anyOf": [
                        {
                          "anyOf": [
                            {
                              "type": "string",
                              "maxLength": 1000000
                            },
                            {
                              "minItems": 1,
                              "maxItems": 100,
                              "type": "array",
                              "items": {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "text": {
                                        "type": "string",
                                        "maxLength": 1000000
                                      },
                                      "type": {
                                        "type": "string",
                                        "const": "text"
                                      }
                                    },
                                    "required": [
                                      "text",
                                      "type"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "detail": {
                                        "default": "auto",
                                        "type": "string",
                                        "enum": [
                                          "auto",
                                          "low",
                                          "high"
                                        ]
                                      },
                                      "type": {
                                        "type": "string",
                                        "const": "image_url"
                                      },
                                      "url": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 8192,
                                        "format": "uri"
                                      }
                                    },
                                    "required": [
                                      "detail",
                                      "type",
                                      "url"
                                    ],
                                    "additionalProperties": false
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 64
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "system",
                        "developer",
                        "user",
                        "assistant",
                        "tool"
                      ]
                    },
                    "toolCallId": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "toolCalls": {
                      "minItems": 1,
                      "maxItems": 128,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "function": {
                            "type": "object",
                            "properties": {
                              "arguments": {
                                "type": "string",
                                "maxLength": 1000000
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 64,
                                "pattern": "^[A-Za-z0-9_-]+$"
                              }
                            },
                            "required": [
                              "arguments",
                              "name"
                            ],
                            "additionalProperties": false
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "type": {
                            "type": "string",
                            "const": "function"
                          }
                        },
                        "required": [
                          "function",
                          "id",
                          "type"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "content",
                    "role"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "finishReason",
                "index",
                "message"
              ],
              "additionalProperties": false
            }
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "routeAttemptCount": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "usage": {
            "type": "object",
            "properties": {
              "cachedInputTokens": {
                "default": 0,
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "cacheWriteInputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "inputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "outputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "reasoningTokens": {
                "default": 0,
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "totalTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "cachedInputTokens",
              "inputTokens",
              "outputTokens",
              "reasoningTokens",
              "totalTokens"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "choices",
          "contractVersion",
          "createdAt",
          "id",
          "model",
          "provider",
          "routeAttemptCount",
          "usage"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/InferenceResponse.schema.json",
        "title": "InferenceResponse",
        "x-openwaya-contract-version": "1.0"
      },
      "NotificationDelivery": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "attempt": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "sms",
              "whatsapp",
              "in_app",
              "webhook"
            ]
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "notificationRequestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "providerMessageId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "rendered",
              "sent",
              "delivered",
              "failed",
              "suppressed",
              "cancelled"
            ]
          },
          "updatedAt": {
            "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)))$"
          }
        },
        "required": [
          "attempt",
          "channel",
          "contractVersion",
          "id",
          "notificationRequestId",
          "provider",
          "providerMessageId",
          "status",
          "updatedAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/NotificationDelivery.schema.json",
        "title": "NotificationDelivery",
        "x-openwaya-contract-version": "1.0"
      },
      "NotificationPreference": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "sms",
              "whatsapp",
              "in_app",
              "webhook"
            ]
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "enabled": {
            "type": "boolean"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "transactional",
              "security",
              "billing",
              "product",
              "marketing",
              "incident"
            ]
          },
          "updatedAt": {
            "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)))$"
          },
          "userId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          }
        },
        "required": [
          "channel",
          "contractVersion",
          "enabled",
          "purpose",
          "updatedAt",
          "userId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/NotificationPreference.schema.json",
        "title": "NotificationPreference",
        "x-openwaya-contract-version": "1.0"
      },
      "NotificationRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "sms",
              "whatsapp",
              "in_app",
              "webhook"
            ]
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "locale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "organizationId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "recipientId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "requestedAt": {
            "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)))$"
          },
          "templateKey": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "variables": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            }
          }
        },
        "required": [
          "channel",
          "contractVersion",
          "id",
          "locale",
          "organizationId",
          "recipientId",
          "requestedAt",
          "templateKey",
          "variables"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/NotificationRequest.schema.json",
        "title": "NotificationRequest",
        "x-openwaya-contract-version": "1.0"
      },
      "NotificationStatus": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "deliveryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "occurredAt": {
            "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)))$"
          },
          "providerStatus": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "rendered",
              "sent",
              "delivered",
              "failed",
              "suppressed",
              "cancelled"
            ]
          }
        },
        "required": [
          "contractVersion",
          "deliveryId",
          "occurredAt",
          "providerStatus",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/NotificationStatus.schema.json",
        "title": "NotificationStatus",
        "x-openwaya-contract-version": "1.0"
      },
      "NotificationTemplate": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "email",
              "sms",
              "whatsapp",
              "in_app",
              "webhook"
            ]
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "locale": {
            "type": "string",
            "maxLength": 16,
            "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "transactional",
              "security",
              "billing",
              "product",
              "marketing",
              "incident"
            ]
          },
          "requiredVariables": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "approved",
              "active",
              "retired"
            ]
          }
        },
        "required": [
          "channel",
          "contractVersion",
          "key",
          "locale",
          "purpose",
          "requiredVariables",
          "revision",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/NotificationTemplate.schema.json",
        "title": "NotificationTemplate",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentEvent": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "payment.created",
              "payment.requires_action",
              "payment.processing",
              "payment.succeeded",
              "payment.failed",
              "payment.cancelled"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "occurredAt": {
            "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)))$"
          },
          "paymentIntentId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "processor": {
            "type": "string",
            "enum": [
              "flutterwave",
              "paystack",
              "stripe",
              "paypal"
            ]
          },
          "processorEventId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "signatureVerified": {
            "type": "boolean"
          }
        },
        "required": [
          "contractVersion",
          "eventType",
          "id",
          "occurredAt",
          "paymentIntentId",
          "processor",
          "processorEventId",
          "signatureVerified"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentEvent.schema.json",
        "title": "PaymentEvent",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentIntent": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "amount": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "customerId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "expiresAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "idempotencyKey": {
            "type": "string",
            "minLength": 16,
            "maxLength": 255,
            "pattern": "^[A-Za-z0-9._:-]+$"
          },
          "organizationId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "processor": {
            "type": "string",
            "enum": [
              "flutterwave",
              "paystack",
              "stripe",
              "paypal"
            ]
          },
          "processorReference": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "requires_action",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "statusChangedAt": {
            "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)))$"
          },
          "statusReasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "statusSource": {
            "type": "string",
            "enum": [
              "checkout",
              "customer",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "terminalAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "amount",
          "contractVersion",
          "createdAt",
          "customerId",
          "expiresAt",
          "id",
          "idempotencyKey",
          "organizationId",
          "processor",
          "processorReference",
          "status",
          "statusChangedAt",
          "statusReasonCode",
          "statusSource",
          "terminalAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentIntent.schema.json",
        "title": "PaymentIntent",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentIntentTransition": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "occurredAt": {
            "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)))$"
          },
          "paymentIntentId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "previousStatus": {
            "type": "string",
            "enum": [
              "created",
              "requires_action",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "reasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "source": {
            "type": "string",
            "enum": [
              "checkout",
              "customer",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "requires_action",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          }
        },
        "required": [
          "contractVersion",
          "occurredAt",
          "paymentIntentId",
          "previousStatus",
          "reasonCode",
          "source",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentIntentTransition.schema.json",
        "title": "PaymentIntentTransition",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentProcessorCapability": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "capabilities": {
            "minItems": 2,
            "maxItems": 9,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "checkout_create",
                "checkout_cancel",
                "payment_verify",
                "payment_capture",
                "refund_full",
                "refund_partial",
                "dispute_receive",
                "dispute_evidence_submit",
                "transaction_poll"
              ]
            }
          },
          "captureModes": {
            "minItems": 1,
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            }
          },
          "checkoutModes": {
            "minItems": 1,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "hosted_redirect",
                "embedded_component",
                "server_to_server"
              ]
            }
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "eventDeliveryModes": {
            "minItems": 1,
            "maxItems": 2,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "webhook",
                "polling"
              ]
            }
          },
          "idempotency": {
            "type": "object",
            "properties": {
              "checkoutCreate": {
                "type": "boolean"
              },
              "refundCreate": {
                "type": "boolean"
              }
            },
            "required": [
              "checkoutCreate",
              "refundCreate"
            ],
            "additionalProperties": false
          },
          "processor": {
            "type": "string",
            "enum": [
              "flutterwave",
              "paystack",
              "stripe",
              "paypal"
            ]
          },
          "webhookVerification": {
            "type": "string",
            "enum": [
              "asymmetric_signature",
              "shared_secret_hash",
              "symmetric_signature",
              "not_applicable"
            ]
          }
        },
        "required": [
          "capabilities",
          "captureModes",
          "checkoutModes",
          "contractVersion",
          "displayName",
          "eventDeliveryModes",
          "idempotency",
          "processor",
          "webhookVerification"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentProcessorCapability.schema.json",
        "title": "PaymentProcessorCapability",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentProcessorMatrix": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "merchantEntities": {
            "maxItems": 32,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "countryCode": {
                  "type": "string",
                  "pattern": "^[A-Z]{2}$"
                },
                "displayName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120
                },
                "enabled": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                }
              },
              "required": [
                "countryCode",
                "displayName",
                "enabled",
                "id"
              ],
              "additionalProperties": false
            }
          },
          "processorAccounts": {
            "maxItems": 64,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                },
                "merchantEntityId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                },
                "processor": {
                  "type": "string",
                  "enum": [
                    "flutterwave",
                    "paystack",
                    "stripe",
                    "paypal"
                  ]
                },
                "runtimeBinding": {
                  "type": "string",
                  "pattern": "^payments\\/(flutterwave|paystack|stripe|paypal)$"
                }
              },
              "required": [
                "enabled",
                "id",
                "merchantEntityId",
                "processor",
                "runtimeBinding"
              ],
              "additionalProperties": false
            }
          },
          "processorCapabilities": {
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "capabilities": {
                  "minItems": 2,
                  "maxItems": 9,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "checkout_create",
                      "checkout_cancel",
                      "payment_verify",
                      "payment_capture",
                      "refund_full",
                      "refund_partial",
                      "dispute_receive",
                      "dispute_evidence_submit",
                      "transaction_poll"
                    ]
                  }
                },
                "captureModes": {
                  "minItems": 1,
                  "maxItems": 2,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "automatic",
                      "manual"
                    ]
                  }
                },
                "checkoutModes": {
                  "minItems": 1,
                  "maxItems": 3,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "hosted_redirect",
                      "embedded_component",
                      "server_to_server"
                    ]
                  }
                },
                "contractVersion": {
                  "type": "string",
                  "const": "1.0"
                },
                "displayName": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "eventDeliveryModes": {
                  "minItems": 1,
                  "maxItems": 2,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "webhook",
                      "polling"
                    ]
                  }
                },
                "idempotency": {
                  "type": "object",
                  "properties": {
                    "checkoutCreate": {
                      "type": "boolean"
                    },
                    "refundCreate": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "checkoutCreate",
                    "refundCreate"
                  ],
                  "additionalProperties": false
                },
                "processor": {
                  "type": "string",
                  "enum": [
                    "flutterwave",
                    "paystack",
                    "stripe",
                    "paypal"
                  ]
                },
                "webhookVerification": {
                  "type": "string",
                  "enum": [
                    "asymmetric_signature",
                    "shared_secret_hash",
                    "symmetric_signature",
                    "not_applicable"
                  ]
                }
              },
              "required": [
                "capabilities",
                "captureModes",
                "checkoutModes",
                "contractVersion",
                "displayName",
                "eventDeliveryModes",
                "idempotency",
                "processor",
                "webhookVerification"
              ],
              "additionalProperties": false
            }
          },
          "rails": {
            "maxItems": 2000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "countryEligibility": {
                  "type": "object",
                  "properties": {
                    "countryCodes": {
                      "maxItems": 249,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "mode": {
                      "type": "string",
                      "enum": [
                        "all",
                        "exclude",
                        "include"
                      ]
                    }
                  },
                  "required": [
                    "countryCodes",
                    "mode"
                  ],
                  "additionalProperties": false
                },
                "currencyCode": {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$"
                },
                "customerFee": {
                  "type": "object",
                  "properties": {
                    "fixed": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 39,
                      "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                    },
                    "maximum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "minimum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "percentageBasisPoints": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    }
                  },
                  "required": [
                    "fixed",
                    "maximum",
                    "minimum",
                    "percentageBasisPoints"
                  ],
                  "additionalProperties": false
                },
                "enabled": {
                  "type": "boolean"
                },
                "health": {
                  "type": "object",
                  "properties": {
                    "observedAt": {
                      "anyOf": [
                        {
                          "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)))$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "reasonCode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^[a-z][a-z0-9_]{0,63}$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "source": {
                      "type": "string",
                      "enum": [
                        "manual",
                        "none",
                        "probe",
                        "processor_status"
                      ]
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "degraded",
                        "healthy",
                        "suspended",
                        "unavailable",
                        "unknown"
                      ]
                    },
                    "validUntil": {
                      "anyOf": [
                        {
                          "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)))$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "observedAt",
                    "reasonCode",
                    "source",
                    "state",
                    "validUntil"
                  ],
                  "additionalProperties": false
                },
                "id": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                },
                "limits": {
                  "type": "object",
                  "properties": {
                    "dailyMaximum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "monthlyMaximum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "perTransactionMaximum": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 39,
                      "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                    },
                    "perTransactionMinimum": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 39,
                      "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                    }
                  },
                  "required": [
                    "dailyMaximum",
                    "monthlyMaximum",
                    "perTransactionMaximum",
                    "perTransactionMinimum"
                  ],
                  "additionalProperties": false
                },
                "merchantEntityId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                },
                "paymentMethod": {
                  "type": "object",
                  "properties": {
                    "category": {
                      "type": "string",
                      "enum": [
                        "bank_transfer",
                        "card",
                        "digital_wallet",
                        "mobile_money"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "pattern": "^[a-z][a-z0-9_]{0,63}$"
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "providerCode": {
                      "type": "string",
                      "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                    }
                  },
                  "required": [
                    "category",
                    "id",
                    "label",
                    "providerCode"
                  ],
                  "additionalProperties": false
                },
                "processor": {
                  "type": "string",
                  "enum": [
                    "flutterwave",
                    "paystack",
                    "stripe",
                    "paypal"
                  ]
                },
                "processorAccountId": {
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 96,
                  "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
                },
                "processorCost": {
                  "type": "object",
                  "properties": {
                    "fixed": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 39,
                      "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                    },
                    "maximum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "minimum": {
                      "anyOf": [
                        {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 39,
                          "pattern": "^(?:0|[1-9]\\d{0,19})(?:\\.\\d{1,18})?$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "percentageBasisPoints": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100000
                    }
                  },
                  "required": [
                    "fixed",
                    "maximum",
                    "minimum",
                    "percentageBasisPoints"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "countryEligibility",
                "currencyCode",
                "customerFee",
                "enabled",
                "health",
                "id",
                "limits",
                "merchantEntityId",
                "paymentMethod",
                "processor",
                "processorAccountId",
                "processorCost"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "contractVersion",
          "merchantEntities",
          "processorAccounts",
          "processorCapabilities",
          "rails"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentProcessorMatrix.schema.json",
        "title": "PaymentProcessorMatrix",
        "x-openwaya-contract-version": "1.0"
      },
      "PaymentRoutingPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "defaultProcessorOrder": {
            "minItems": 1,
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "flutterwave",
                "paystack",
                "stripe",
                "paypal"
              ]
            }
          },
          "eligibleHealthStates": {
            "minItems": 1,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "degraded",
                "healthy",
                "unknown"
              ]
            }
          },
          "fallbackEnabled": {
            "type": "boolean"
          },
          "maximumAttempts": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "priorityRules": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^[a-z][a-z0-9_]{2,63}$"
                },
                "processorOrder": {
                  "minItems": 1,
                  "maxItems": 4,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "flutterwave",
                      "paystack",
                      "stripe",
                      "paypal"
                    ]
                  }
                },
                "scope": {
                  "type": "object",
                  "properties": {
                    "countryCodes": {
                      "maxItems": 249,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "currencyCodes": {
                      "maxItems": 64,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Z]{3}$"
                      }
                    },
                    "paymentMethodCategories": {
                      "maxItems": 4,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "bank_transfer",
                          "card",
                          "digital_wallet",
                          "mobile_money"
                        ]
                      }
                    }
                  },
                  "required": [
                    "countryCodes",
                    "currencyCodes",
                    "paymentMethodCategories"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "id",
                "processorOrder",
                "scope"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "defaultProcessorOrder",
          "eligibleHealthStates",
          "fallbackEnabled",
          "maximumAttempts",
          "priorityRules"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PaymentRoutingPolicy.schema.json",
        "title": "PaymentRoutingPolicy",
        "x-openwaya-contract-version": "1.0"
      },
      "ProviderCost": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "cost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "maxLength": 128,
                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "additionalProperties": false
              },
              "inputCost": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "outputCost": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "priceBookVersion": {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              "roundingAdjustment": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              }
            },
            "required": [
              "amount",
              "inputCost",
              "outputCost",
              "priceBookVersion",
              "roundingAdjustment"
            ],
            "additionalProperties": false
          },
          "providerAccountId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "providerAttemptId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          }
        },
        "required": [
          "contractVersion",
          "cost",
          "providerAccountId",
          "providerAttemptId",
          "requestId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ProviderCost.schema.json",
        "title": "ProviderCost",
        "x-openwaya-contract-version": "1.0"
      },
      "ProviderModel": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "capabilities": {
            "type": "object",
            "properties": {
              "contextWindowTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "featureSupport": {
                "type": "object",
                "properties": {
                  "jsonMode": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "logprobs": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "parallelToolCalling": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "promptCaching": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "reasoning": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "seed": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "streaming": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "structuredOutputs": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "toolCalling": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  }
                },
                "required": [
                  "jsonMode",
                  "logprobs",
                  "parallelToolCalling",
                  "promptCaching",
                  "reasoning",
                  "seed",
                  "streaming",
                  "structuredOutputs",
                  "toolCalling"
                ],
                "additionalProperties": false
              },
              "inputModalities": {
                "minItems": 1,
                "maxItems": 5,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "text",
                    "image",
                    "audio",
                    "video",
                    "file"
                  ]
                }
              },
              "maxInputTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "maxOutputTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mediaLimits": {
                "type": "object",
                "properties": {
                  "maxAudioBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxAudioDurationSeconds": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxAudioItemsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxFileBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxFilesPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxImageBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxImagesPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoDurationSeconds": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoItemsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "maxAudioBytesPerItem",
                  "maxAudioDurationSeconds",
                  "maxAudioItemsPerRequest",
                  "maxFileBytesPerItem",
                  "maxFilesPerRequest",
                  "maxImageBytesPerItem",
                  "maxImagesPerRequest",
                  "maxVideoBytesPerItem",
                  "maxVideoDurationSeconds",
                  "maxVideoItemsPerRequest"
                ],
                "additionalProperties": false
              },
              "outputModalities": {
                "minItems": 1,
                "maxItems": 5,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "text",
                    "image",
                    "audio",
                    "video",
                    "embedding"
                  ]
                }
              },
              "regionLimits": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "maxItems": 128,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 64,
                      "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
                    }
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "allowlist",
                      "global",
                      "unknown"
                    ]
                  }
                },
                "required": [
                  "allowed",
                  "mode"
                ],
                "additionalProperties": false
              },
              "tasks": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "chat",
                    "text_generation",
                    "embeddings",
                    "image_generation",
                    "image_edit",
                    "speech_to_text",
                    "text_to_speech",
                    "video_generation",
                    "rerank",
                    "moderation"
                  ]
                }
              },
              "toolLimits": {
                "type": "object",
                "properties": {
                  "maxCallsPerResponse": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxDefinitionBytes": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxDefinitionsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "maxCallsPerResponse",
                  "maxDefinitionBytes",
                  "maxDefinitionsPerRequest"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "contextWindowTokens",
              "featureSupport",
              "inputModalities",
              "maxInputTokens",
              "maxOutputTokens",
              "mediaLimits",
              "outputModalities",
              "regionLimits",
              "tasks",
              "toolLimits"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "enabled": {
            "type": "boolean"
          },
          "health": {
            "type": "string",
            "enum": [
              "unknown",
              "healthy",
              "degraded",
              "unavailable"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "modelId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "providerId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "providerModelName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "region": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "canary",
              "active",
              "degraded",
              "unavailable",
              "deprecated",
              "retired"
            ]
          },
          "updatedAt": {
            "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)))$"
          }
        },
        "required": [
          "capabilities",
          "contractVersion",
          "enabled",
          "health",
          "id",
          "modelId",
          "providerId",
          "providerModelName",
          "region",
          "state",
          "updatedAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/ProviderModel.schema.json",
        "title": "ProviderModel",
        "x-openwaya-contract-version": "1.0"
      },
      "PublicModel": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "capabilities": {
            "type": "object",
            "properties": {
              "contextWindowTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "featureSupport": {
                "type": "object",
                "properties": {
                  "jsonMode": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "logprobs": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "parallelToolCalling": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "promptCaching": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "reasoning": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "seed": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "streaming": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "structuredOutputs": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  },
                  "toolCalling": {
                    "type": "string",
                    "enum": [
                      "supported",
                      "unsupported",
                      "unknown"
                    ]
                  }
                },
                "required": [
                  "jsonMode",
                  "logprobs",
                  "parallelToolCalling",
                  "promptCaching",
                  "reasoning",
                  "seed",
                  "streaming",
                  "structuredOutputs",
                  "toolCalling"
                ],
                "additionalProperties": false
              },
              "inputModalities": {
                "minItems": 1,
                "maxItems": 5,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "text",
                    "image",
                    "audio",
                    "video",
                    "file"
                  ]
                }
              },
              "maxInputTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "maxOutputTokens": {
                "anyOf": [
                  {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mediaLimits": {
                "type": "object",
                "properties": {
                  "maxAudioBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxAudioDurationSeconds": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxAudioItemsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxFileBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxFilesPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxImageBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxImagesPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoBytesPerItem": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoDurationSeconds": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxVideoItemsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "maxAudioBytesPerItem",
                  "maxAudioDurationSeconds",
                  "maxAudioItemsPerRequest",
                  "maxFileBytesPerItem",
                  "maxFilesPerRequest",
                  "maxImageBytesPerItem",
                  "maxImagesPerRequest",
                  "maxVideoBytesPerItem",
                  "maxVideoDurationSeconds",
                  "maxVideoItemsPerRequest"
                ],
                "additionalProperties": false
              },
              "outputModalities": {
                "minItems": 1,
                "maxItems": 5,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "text",
                    "image",
                    "audio",
                    "video",
                    "embedding"
                  ]
                }
              },
              "regionLimits": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "maxItems": 128,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 64,
                      "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
                    }
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "allowlist",
                      "global",
                      "unknown"
                    ]
                  }
                },
                "required": [
                  "allowed",
                  "mode"
                ],
                "additionalProperties": false
              },
              "tasks": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "chat",
                    "text_generation",
                    "embeddings",
                    "image_generation",
                    "image_edit",
                    "speech_to_text",
                    "text_to_speech",
                    "video_generation",
                    "rerank",
                    "moderation"
                  ]
                }
              },
              "toolLimits": {
                "type": "object",
                "properties": {
                  "maxCallsPerResponse": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxDefinitionBytes": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxDefinitionsPerRequest": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "maxCallsPerResponse",
                  "maxDefinitionBytes",
                  "maxDefinitionsPerRequest"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "contextWindowTokens",
              "featureSupport",
              "inputModalities",
              "maxInputTokens",
              "maxOutputTokens",
              "mediaLimits",
              "outputModalities",
              "regionLimits",
              "tasks",
              "toolLimits"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 4000
              },
              {
                "type": "null"
              }
            ]
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "lifecycle": {
            "type": "string",
            "enum": [
              "canary",
              "active",
              "degraded",
              "unavailable",
              "deprecated",
              "retired"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "ownedBy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "pricing": {
            "type": "object",
            "properties": {
              "currency": {
                "type": "string",
                "const": "USD"
              },
              "inputPerMillionTokens": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "outputPerMillionTokens": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              }
            },
            "required": [
              "currency",
              "inputPerMillionTokens",
              "outputPerMillionTokens"
            ],
            "additionalProperties": false
          },
          "updatedAt": {
            "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)))$"
          }
        },
        "required": [
          "capabilities",
          "contractVersion",
          "createdAt",
          "description",
          "displayName",
          "id",
          "lifecycle",
          "name",
          "ownedBy",
          "pricing",
          "updatedAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/PublicModel.schema.json",
        "title": "PublicModel",
        "x-openwaya-contract-version": "1.0"
      },
      "Reconciliation": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "expected": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "observed": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "paymentIntentId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "reconciledAt": {
            "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)))$"
          },
          "result": {
            "type": "string",
            "enum": [
              "matched",
              "underpaid",
              "overpaid",
              "missing",
              "currency_mismatch"
            ]
          }
        },
        "required": [
          "contractVersion",
          "expected",
          "id",
          "observed",
          "paymentIntentId",
          "reconciledAt",
          "result"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/Reconciliation.schema.json",
        "title": "Reconciliation",
        "x-openwaya-contract-version": "1.0"
      },
      "Refund": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "amount": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "paymentIntentId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "processorReference": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 512
              },
              {
                "type": "null"
              }
            ]
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "status": {
            "type": "string",
            "enum": [
              "requested",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "statusChangedAt": {
            "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)))$"
          },
          "statusReasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "statusSource": {
            "type": "string",
            "enum": [
              "administrator",
              "customer",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "terminalAt": {
            "anyOf": [
              {
                "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)))$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "amount",
          "contractVersion",
          "createdAt",
          "id",
          "paymentIntentId",
          "processorReference",
          "reason",
          "status",
          "statusChangedAt",
          "statusReasonCode",
          "statusSource",
          "terminalAt"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/Refund.schema.json",
        "title": "Refund",
        "x-openwaya-contract-version": "1.0"
      },
      "RefundTransition": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "occurredAt": {
            "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)))$"
          },
          "previousStatus": {
            "type": "string",
            "enum": [
              "requested",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          },
          "reasonCode": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]{2,63}$"
          },
          "refundId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "source": {
            "type": "string",
            "enum": [
              "administrator",
              "customer",
              "polling",
              "reconciliation",
              "system",
              "webhook"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "requested",
              "processing",
              "succeeded",
              "failed",
              "cancelled"
            ]
          }
        },
        "required": [
          "contractVersion",
          "occurredAt",
          "previousStatus",
          "reasonCode",
          "refundId",
          "source",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/RefundTransition.schema.json",
        "title": "RefundTransition",
        "x-openwaya-contract-version": "1.0"
      },
      "Reservation": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "expiresAt": {
            "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)))$"
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "maximumCharge": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "organizationId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "settled",
              "released",
              "expired"
            ]
          }
        },
        "required": [
          "contractVersion",
          "createdAt",
          "expiresAt",
          "id",
          "maximumCharge",
          "organizationId",
          "requestId",
          "status"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/Reservation.schema.json",
        "title": "Reservation",
        "x-openwaya-contract-version": "1.0"
      },
      "RetailCost": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "cost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string",
                    "maxLength": 128,
                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  }
                },
                "required": [
                  "amount",
                  "currency"
                ],
                "additionalProperties": false
              },
              "inputCost": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "outputCost": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "priceBookVersion": {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              "roundingAdjustment": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              }
            },
            "required": [
              "amount",
              "inputCost",
              "outputCost",
              "priceBookVersion",
              "roundingAdjustment"
            ],
            "additionalProperties": false
          },
          "fxQuoteId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "organizationId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          }
        },
        "required": [
          "contractVersion",
          "cost",
          "fxQuoteId",
          "organizationId",
          "requestId"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/RetailCost.schema.json",
        "title": "RetailCost",
        "x-openwaya-contract-version": "1.0"
      },
      "Settlement": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "actualCharge": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "journalEntryId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "providerCost": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "string",
                "maxLength": 128,
                "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$"
              }
            },
            "required": [
              "amount",
              "currency"
            ],
            "additionalProperties": false
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "reservationId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "settledAt": {
            "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)))$"
          },
          "usageQuantity": {
            "type": "string",
            "maxLength": 128,
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
          }
        },
        "required": [
          "actualCharge",
          "contractVersion",
          "journalEntryId",
          "providerCost",
          "requestId",
          "reservationId",
          "settledAt",
          "usageQuantity"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/Settlement.schema.json",
        "title": "Settlement",
        "x-openwaya-contract-version": "1.0"
      },
      "StreamingChunk": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "createdAt": {
            "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)))$"
          },
          "delta": {
            "type": "object",
            "properties": {
              "content": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "role": {
                "type": "string",
                "enum": [
                  "assistant",
                  "tool"
                ]
              },
              "toolCalls": {
                "maxItems": 128,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "function": {
                      "type": "object",
                      "properties": {
                        "arguments": {
                          "type": "string",
                          "maxLength": 1000000
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 64,
                          "pattern": "^[A-Za-z0-9_-]+$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 127
                    },
                    "type": {
                      "type": "string",
                      "const": "function"
                    }
                  },
                  "required": [
                    "index"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "content"
            ],
            "additionalProperties": false
          },
          "finishReason": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "stop",
                  "length",
                  "tool_calls",
                  "content_filter",
                  "error"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "provider": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "replayFromStart": {
            "default": false,
            "type": "boolean"
          },
          "routeAttemptCount": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "sequence": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "usage": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "cachedInputTokens": {
                    "default": 0,
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "cacheWriteInputTokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "inputTokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "outputTokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "reasoningTokens": {
                    "default": 0,
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "totalTokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "cachedInputTokens",
                  "inputTokens",
                  "outputTokens",
                  "reasoningTokens",
                  "totalTokens"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "contractVersion",
          "createdAt",
          "delta",
          "finishReason",
          "id",
          "index",
          "model",
          "replayFromStart",
          "sequence",
          "usage"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/StreamingChunk.schema.json",
        "title": "StreamingChunk",
        "x-openwaya-contract-version": "1.0"
      },
      "UsageRecord": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "contractVersion": {
            "type": "string",
            "const": "1.0"
          },
          "modelId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "organizationId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "providerModelId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "recordedAt": {
            "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)))$"
          },
          "requestId": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "usage": {
            "type": "object",
            "properties": {
              "cachedInputTokens": {
                "default": 0,
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "cacheWriteInputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "inputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "outputTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "reasoningTokens": {
                "default": 0,
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "totalTokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "cachedInputTokens",
              "inputTokens",
              "outputTokens",
              "reasoningTokens",
              "totalTokens"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "contractVersion",
          "modelId",
          "organizationId",
          "providerModelId",
          "recordedAt",
          "requestId",
          "usage"
        ],
        "additionalProperties": false,
        "$id": "https://schemas.openwaya.africa/v1/UsageRecord.schema.json",
        "title": "UsageRecord",
        "x-openwaya-contract-version": "1.0"
      },
      "OpenAIChatCompletionChunk": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "choices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "delta": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "assistant",
                        "tool"
                      ]
                    },
                    "tool_calls": {
                      "maxItems": 128,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "function": {
                            "type": "object",
                            "properties": {
                              "arguments": {
                                "type": "string",
                                "maxLength": 1000000
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 64,
                                "pattern": "^[A-Za-z0-9_-]+$"
                              }
                            },
                            "additionalProperties": false
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "index": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 127
                          },
                          "type": {
                            "type": "string",
                            "const": "function"
                          }
                        },
                        "required": [
                          "index"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "finish_reason": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "stop",
                        "length",
                        "tool_calls",
                        "content_filter",
                        "error"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "index": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "delta",
                "finish_reason",
                "index"
              ],
              "additionalProperties": false
            }
          },
          "created": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "object": {
            "type": "string",
            "const": "chat.completion.chunk"
          },
          "usage": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "completion_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "completion_tokens_details": {
                    "type": "object",
                    "properties": {
                      "reasoning_tokens": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "reasoning_tokens"
                    ],
                    "additionalProperties": false
                  },
                  "prompt_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "prompt_tokens_details": {
                    "type": "object",
                    "properties": {
                      "cached_tokens": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "cached_tokens"
                    ],
                    "additionalProperties": false
                  },
                  "total_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "completion_tokens",
                  "completion_tokens_details",
                  "prompt_tokens",
                  "prompt_tokens_details",
                  "total_tokens"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "choices",
          "created",
          "id",
          "model",
          "object"
        ],
        "additionalProperties": false
      },
      "OpenAIChatCompletionRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "max_completion_tokens": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          },
          "max_tokens": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          },
          "messages": {
            "minItems": 1,
            "maxItems": 10000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "content": {
                  "anyOf": [
                    {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 1000000
                        },
                        {
                          "minItems": 1,
                          "maxItems": 100,
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "text": {
                                    "type": "string",
                                    "maxLength": 1000000
                                  },
                                  "type": {
                                    "type": "string",
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "text",
                                  "type"
                                ],
                                "additionalProperties": false
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "image_url": {
                                    "type": "object",
                                    "properties": {
                                      "detail": {
                                        "type": "string",
                                        "enum": [
                                          "auto",
                                          "low",
                                          "high"
                                        ]
                                      },
                                      "url": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 8192,
                                        "format": "uri"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "additionalProperties": false
                                  },
                                  "type": {
                                    "type": "string",
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "image_url",
                                  "type"
                                ],
                                "additionalProperties": false
                              }
                            ]
                          }
                        }
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "system",
                    "developer",
                    "user",
                    "assistant",
                    "tool"
                  ]
                },
                "tool_call_id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "tool_calls": {
                  "minItems": 1,
                  "maxItems": 128,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "function": {
                        "type": "object",
                        "properties": {
                          "arguments": {
                            "type": "string",
                            "maxLength": 1000000
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 64,
                            "pattern": "^[A-Za-z0-9_-]+$"
                          }
                        },
                        "required": [
                          "arguments",
                          "name"
                        ],
                        "additionalProperties": false
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "type": {
                        "type": "string",
                        "const": "function"
                      }
                    },
                    "required": [
                      "function",
                      "id",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "content",
                "role"
              ],
              "additionalProperties": false
            }
          },
          "metadata": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 64
            },
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 512
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "content_logging": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "const": true
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "development_debugging",
                      "quality_evaluation",
                      "support_investigation"
                    ]
                  },
                  "retention_hours": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 168
                  }
                },
                "required": [
                  "enabled",
                  "purpose",
                  "retention_hours"
                ],
                "additionalProperties": false
              },
              "routing_policy": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "stream_fallback_behavior": {
                "type": "string",
                "enum": [
                  "terminate",
                  "replay"
                ]
              }
            },
            "additionalProperties": false
          },
          "parallel_tool_calls": {
            "default": true,
            "type": "boolean"
          },
          "response_format": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "text",
                  "json_object"
                ]
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          },
          "stop": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 512
              },
              {
                "maxItems": 16,
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 512
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "stream": {
            "default": false,
            "type": "boolean"
          },
          "stream_options": {
            "type": "object",
            "properties": {
              "include_usage": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "temperature": {
            "type": "number",
            "minimum": 0,
            "maximum": 2
          },
          "tool_choice": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "auto",
                  "none",
                  "required"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "function": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 64,
                        "pattern": "^[A-Za-z0-9_-]+$"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "additionalProperties": false
                  },
                  "type": {
                    "type": "string",
                    "const": "function"
                  }
                },
                "required": [
                  "function",
                  "type"
                ],
                "additionalProperties": false
              }
            ]
          },
          "tools": {
            "maxItems": 128,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "function": {
                  "type": "object",
                  "properties": {
                    "description": {
                      "type": "string",
                      "maxLength": 4096
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 64,
                      "pattern": "^[A-Za-z0-9_-]+$"
                    },
                    "parameters": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    },
                    "strict": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name"
                  ],
                  "additionalProperties": false
                },
                "type": {
                  "type": "string",
                  "const": "function"
                }
              },
              "required": [
                "function",
                "type"
              ],
              "additionalProperties": false
            }
          },
          "top_p": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "user": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "messages",
          "model",
          "parallel_tool_calls",
          "stream"
        ],
        "additionalProperties": false
      },
      "OpenAIChatCompletionResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "choices": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "finish_reason": {
                  "type": "string",
                  "enum": [
                    "stop",
                    "length",
                    "tool_calls",
                    "content_filter",
                    "error"
                  ]
                },
                "index": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "message": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "const": "assistant"
                    },
                    "tool_calls": {
                      "minItems": 1,
                      "maxItems": 128,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "function": {
                            "type": "object",
                            "properties": {
                              "arguments": {
                                "type": "string",
                                "maxLength": 1000000
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 64,
                                "pattern": "^[A-Za-z0-9_-]+$"
                              }
                            },
                            "required": [
                              "arguments",
                              "name"
                            ],
                            "additionalProperties": false
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "type": {
                            "type": "string",
                            "const": "function"
                          }
                        },
                        "required": [
                          "function",
                          "id",
                          "type"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "content",
                    "role"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "finish_reason",
                "index",
                "message"
              ],
              "additionalProperties": false
            }
          },
          "created": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 96,
            "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "object": {
            "type": "string",
            "const": "chat.completion"
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "contract_version": {
                "type": "string",
                "const": "1.0"
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "route_attempt_count": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "contract_version",
              "provider",
              "route_attempt_count"
            ],
            "additionalProperties": false
          },
          "usage": {
            "type": "object",
            "properties": {
              "completion_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "completion_tokens_details": {
                "type": "object",
                "properties": {
                  "reasoning_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "reasoning_tokens"
                ],
                "additionalProperties": false
              },
              "prompt_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "prompt_tokens_details": {
                "type": "object",
                "properties": {
                  "cached_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "cached_tokens"
                ],
                "additionalProperties": false
              },
              "total_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "completion_tokens",
              "completion_tokens_details",
              "prompt_tokens",
              "prompt_tokens_details",
              "total_tokens"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "choices",
          "created",
          "id",
          "model",
          "object",
          "openwaya",
          "usage"
        ],
        "additionalProperties": false
      },
      "OpenAIEmbeddingRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "dimensions": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 65536
          },
          "encoding_format": {
            "default": "float",
            "type": "string",
            "const": "float"
          },
          "input": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 1000000
              },
              {
                "minItems": 1,
                "maxItems": 2048,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 1000000
                }
              }
            ]
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "routing_policy": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "additionalProperties": false
          },
          "user": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "encoding_format",
          "input",
          "model"
        ],
        "additionalProperties": false
      },
      "OpenAIEmbeddingResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "data": {
            "minItems": 1,
            "maxItems": 2048,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "embedding": {
                  "minItems": 1,
                  "maxItems": 65536,
                  "type": "array",
                  "items": {
                    "type": "number"
                  }
                },
                "index": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "object": {
                  "type": "string",
                  "const": "embedding"
                }
              },
              "required": [
                "embedding",
                "index",
                "object"
              ],
              "additionalProperties": false
            }
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "object": {
            "type": "string",
            "const": "list"
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "contract_version": {
                "type": "string",
                "const": "1.0"
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "request_id": {
                "type": "string",
                "minLength": 8,
                "maxLength": 96,
                "pattern": "^[a-z][a-z0-9]{1,15}_[A-Za-z0-9][A-Za-z0-9_-]+$"
              },
              "route_attempt_count": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "contract_version",
              "provider",
              "request_id",
              "route_attempt_count"
            ],
            "additionalProperties": false
          },
          "usage": {
            "type": "object",
            "properties": {
              "prompt_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "total_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "prompt_tokens",
              "total_tokens"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "data",
          "model",
          "object",
          "openwaya",
          "usage"
        ],
        "additionalProperties": false
      },
      "OpenAIModel": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "object": {
            "type": "string",
            "const": "model"
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "capabilities": {
                "type": "object",
                "properties": {
                  "contextWindowTokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "featureSupport": {
                    "type": "object",
                    "properties": {
                      "jsonMode": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "logprobs": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "parallelToolCalling": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "promptCaching": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "reasoning": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "seed": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "streaming": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "structuredOutputs": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      },
                      "toolCalling": {
                        "type": "string",
                        "enum": [
                          "supported",
                          "unsupported",
                          "unknown"
                        ]
                      }
                    },
                    "required": [
                      "jsonMode",
                      "logprobs",
                      "parallelToolCalling",
                      "promptCaching",
                      "reasoning",
                      "seed",
                      "streaming",
                      "structuredOutputs",
                      "toolCalling"
                    ],
                    "additionalProperties": false
                  },
                  "inputModalities": {
                    "minItems": 1,
                    "maxItems": 5,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "text",
                        "image",
                        "audio",
                        "video",
                        "file"
                      ]
                    }
                  },
                  "maxInputTokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "maxOutputTokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "mediaLimits": {
                    "type": "object",
                    "properties": {
                      "maxAudioBytesPerItem": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxAudioDurationSeconds": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxAudioItemsPerRequest": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxFileBytesPerItem": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxFilesPerRequest": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxImageBytesPerItem": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxImagesPerRequest": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxVideoBytesPerItem": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxVideoDurationSeconds": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxVideoItemsPerRequest": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "maxAudioBytesPerItem",
                      "maxAudioDurationSeconds",
                      "maxAudioItemsPerRequest",
                      "maxFileBytesPerItem",
                      "maxFilesPerRequest",
                      "maxImageBytesPerItem",
                      "maxImagesPerRequest",
                      "maxVideoBytesPerItem",
                      "maxVideoDurationSeconds",
                      "maxVideoItemsPerRequest"
                    ],
                    "additionalProperties": false
                  },
                  "outputModalities": {
                    "minItems": 1,
                    "maxItems": 5,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "text",
                        "image",
                        "audio",
                        "video",
                        "embedding"
                      ]
                    }
                  },
                  "regionLimits": {
                    "type": "object",
                    "properties": {
                      "allowed": {
                        "maxItems": 128,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 64,
                          "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
                        }
                      },
                      "mode": {
                        "type": "string",
                        "enum": [
                          "allowlist",
                          "global",
                          "unknown"
                        ]
                      }
                    },
                    "required": [
                      "allowed",
                      "mode"
                    ],
                    "additionalProperties": false
                  },
                  "tasks": {
                    "minItems": 1,
                    "maxItems": 10,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "chat",
                        "text_generation",
                        "embeddings",
                        "image_generation",
                        "image_edit",
                        "speech_to_text",
                        "text_to_speech",
                        "video_generation",
                        "rerank",
                        "moderation"
                      ]
                    }
                  },
                  "toolLimits": {
                    "type": "object",
                    "properties": {
                      "maxCallsPerResponse": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxDefinitionBytes": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "maxDefinitionsPerRequest": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "maxCallsPerResponse",
                      "maxDefinitionBytes",
                      "maxDefinitionsPerRequest"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contextWindowTokens",
                  "featureSupport",
                  "inputModalities",
                  "maxInputTokens",
                  "maxOutputTokens",
                  "mediaLimits",
                  "outputModalities",
                  "regionLimits",
                  "tasks",
                  "toolLimits"
                ],
                "additionalProperties": false
              },
              "contractVersion": {
                "type": "string",
                "const": "1.0"
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "maxLength": 4000
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "displayName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "lifecycle": {
                "type": "string",
                "enum": [
                  "canary",
                  "active",
                  "degraded",
                  "unavailable",
                  "deprecated",
                  "retired"
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "pricing": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string",
                    "const": "USD"
                  },
                  "inputPerMillionTokens": {
                    "type": "string",
                    "maxLength": 128,
                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                  },
                  "outputPerMillionTokens": {
                    "type": "string",
                    "maxLength": 128,
                    "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                  }
                },
                "required": [
                  "currency",
                  "inputPerMillionTokens",
                  "outputPerMillionTokens"
                ],
                "additionalProperties": false
              },
              "updatedAt": {
                "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)))$"
              }
            },
            "required": [
              "capabilities",
              "contractVersion",
              "description",
              "displayName",
              "lifecycle",
              "name",
              "pricing",
              "updatedAt"
            ],
            "additionalProperties": false
          },
          "owned_by": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "created",
          "id",
          "object",
          "openwaya",
          "owned_by"
        ],
        "additionalProperties": false
      },
      "OpenAIModelList": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "data": {
            "maxItems": 1000,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "created": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                },
                "object": {
                  "type": "string",
                  "const": "model"
                },
                "openwaya": {
                  "type": "object",
                  "properties": {
                    "capabilities": {
                      "type": "object",
                      "properties": {
                        "contextWindowTokens": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "featureSupport": {
                          "type": "object",
                          "properties": {
                            "jsonMode": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "logprobs": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "parallelToolCalling": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "promptCaching": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "reasoning": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "seed": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "streaming": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "structuredOutputs": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            },
                            "toolCalling": {
                              "type": "string",
                              "enum": [
                                "supported",
                                "unsupported",
                                "unknown"
                              ]
                            }
                          },
                          "required": [
                            "jsonMode",
                            "logprobs",
                            "parallelToolCalling",
                            "promptCaching",
                            "reasoning",
                            "seed",
                            "streaming",
                            "structuredOutputs",
                            "toolCalling"
                          ],
                          "additionalProperties": false
                        },
                        "inputModalities": {
                          "minItems": 1,
                          "maxItems": 5,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "text",
                              "image",
                              "audio",
                              "video",
                              "file"
                            ]
                          }
                        },
                        "maxInputTokens": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "maxOutputTokens": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "mediaLimits": {
                          "type": "object",
                          "properties": {
                            "maxAudioBytesPerItem": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxAudioDurationSeconds": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxAudioItemsPerRequest": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxFileBytesPerItem": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxFilesPerRequest": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxImageBytesPerItem": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxImagesPerRequest": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxVideoBytesPerItem": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxVideoDurationSeconds": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxVideoItemsPerRequest": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "maxAudioBytesPerItem",
                            "maxAudioDurationSeconds",
                            "maxAudioItemsPerRequest",
                            "maxFileBytesPerItem",
                            "maxFilesPerRequest",
                            "maxImageBytesPerItem",
                            "maxImagesPerRequest",
                            "maxVideoBytesPerItem",
                            "maxVideoDurationSeconds",
                            "maxVideoItemsPerRequest"
                          ],
                          "additionalProperties": false
                        },
                        "outputModalities": {
                          "minItems": 1,
                          "maxItems": 5,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "text",
                              "image",
                              "audio",
                              "video",
                              "embedding"
                            ]
                          }
                        },
                        "regionLimits": {
                          "type": "object",
                          "properties": {
                            "allowed": {
                              "maxItems": 128,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 2,
                                "maxLength": 64,
                                "pattern": "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
                              }
                            },
                            "mode": {
                              "type": "string",
                              "enum": [
                                "allowlist",
                                "global",
                                "unknown"
                              ]
                            }
                          },
                          "required": [
                            "allowed",
                            "mode"
                          ],
                          "additionalProperties": false
                        },
                        "tasks": {
                          "minItems": 1,
                          "maxItems": 10,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "chat",
                              "text_generation",
                              "embeddings",
                              "image_generation",
                              "image_edit",
                              "speech_to_text",
                              "text_to_speech",
                              "video_generation",
                              "rerank",
                              "moderation"
                            ]
                          }
                        },
                        "toolLimits": {
                          "type": "object",
                          "properties": {
                            "maxCallsPerResponse": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxDefinitionBytes": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "maxDefinitionsPerRequest": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "maxCallsPerResponse",
                            "maxDefinitionBytes",
                            "maxDefinitionsPerRequest"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "contextWindowTokens",
                        "featureSupport",
                        "inputModalities",
                        "maxInputTokens",
                        "maxOutputTokens",
                        "mediaLimits",
                        "outputModalities",
                        "regionLimits",
                        "tasks",
                        "toolLimits"
                      ],
                      "additionalProperties": false
                    },
                    "contractVersion": {
                      "type": "string",
                      "const": "1.0"
                    },
                    "description": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 4000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "displayName": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "lifecycle": {
                      "type": "string",
                      "enum": [
                        "canary",
                        "active",
                        "degraded",
                        "unavailable",
                        "deprecated",
                        "retired"
                      ]
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "pricing": {
                      "type": "object",
                      "properties": {
                        "currency": {
                          "type": "string",
                          "const": "USD"
                        },
                        "inputPerMillionTokens": {
                          "type": "string",
                          "maxLength": 128,
                          "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                        },
                        "outputPerMillionTokens": {
                          "type": "string",
                          "maxLength": 128,
                          "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$"
                        }
                      },
                      "required": [
                        "currency",
                        "inputPerMillionTokens",
                        "outputPerMillionTokens"
                      ],
                      "additionalProperties": false
                    },
                    "updatedAt": {
                      "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)))$"
                    }
                  },
                  "required": [
                    "capabilities",
                    "contractVersion",
                    "description",
                    "displayName",
                    "lifecycle",
                    "name",
                    "pricing",
                    "updatedAt"
                  ],
                  "additionalProperties": false
                },
                "owned_by": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              },
              "required": [
                "created",
                "id",
                "object",
                "openwaya",
                "owned_by"
              ],
              "additionalProperties": false
            }
          },
          "object": {
            "type": "string",
            "const": "list"
          }
        },
        "required": [
          "data",
          "object"
        ],
        "additionalProperties": false
      },
      "OpenAIResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "completed_at": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "created_at": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "error": {
            "type": "null"
          },
          "id": {
            "type": "string",
            "pattern": "^resp_[0-9a-f]{32}$"
          },
          "incomplete_details": {
            "type": "null"
          },
          "instructions": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_output_tokens": {
            "anyOf": [
              {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "metadata": {
            "anyOf": [
              {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "maxLength": 64
                },
                "additionalProperties": {
                  "type": "string",
                  "maxLength": 512
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "object": {
            "type": "string",
            "const": "response"
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "contract_version": {
                "type": "string",
                "const": "1.0"
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "request_id": {
                "type": "string",
                "pattern": "^req_[0-9a-f]{32}$"
              },
              "route_attempt_count": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "contract_version",
              "provider",
              "request_id",
              "route_attempt_count"
            ],
            "additionalProperties": false
          },
          "output": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "content": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "annotations": {
                        "type": "array",
                        "items": {
                          "not": {}
                        }
                      },
                      "logprobs": {
                        "type": "array",
                        "items": {
                          "not": {}
                        }
                      },
                      "text": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string",
                        "const": "output_text"
                      }
                    },
                    "required": [
                      "annotations",
                      "text",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                },
                "id": {
                  "type": "string",
                  "pattern": "^msg_[0-9a-f]{32}$"
                },
                "role": {
                  "type": "string",
                  "const": "assistant"
                },
                "status": {
                  "type": "string",
                  "const": "completed"
                },
                "type": {
                  "type": "string",
                  "const": "message"
                }
              },
              "required": [
                "content",
                "id",
                "role",
                "status",
                "type"
              ],
              "additionalProperties": false
            }
          },
          "output_text": {
            "type": "string"
          },
          "parallel_tool_calls": {
            "type": "boolean",
            "const": false
          },
          "safety_identifier": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 64
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "const": "completed"
          },
          "store": {
            "type": "boolean",
            "const": false
          },
          "temperature": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              },
              {
                "type": "null"
              }
            ]
          },
          "tool_choice": {
            "type": "string",
            "const": "none"
          },
          "tools": {
            "type": "array",
            "items": {
              "not": {}
            }
          },
          "top_p": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              {
                "type": "null"
              }
            ]
          },
          "truncation": {
            "type": "string",
            "const": "disabled"
          },
          "usage": {
            "type": "object",
            "properties": {
              "input_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "input_tokens_details": {
                "type": "object",
                "properties": {
                  "cache_write_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "cached_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "cache_write_tokens",
                  "cached_tokens"
                ],
                "additionalProperties": false
              },
              "output_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "output_tokens_details": {
                "type": "object",
                "properties": {
                  "reasoning_tokens": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "reasoning_tokens"
                ],
                "additionalProperties": false
              },
              "total_tokens": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "input_tokens",
              "input_tokens_details",
              "output_tokens",
              "output_tokens_details",
              "total_tokens"
            ],
            "additionalProperties": false
          },
          "user": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "completed_at",
          "created_at",
          "error",
          "id",
          "incomplete_details",
          "instructions",
          "max_output_tokens",
          "metadata",
          "model",
          "object",
          "openwaya",
          "output",
          "output_text",
          "parallel_tool_calls",
          "safety_identifier",
          "status",
          "store",
          "temperature",
          "tool_choice",
          "tools",
          "top_p",
          "truncation",
          "usage",
          "user"
        ],
        "additionalProperties": false
      },
      "OpenAIResponseRequest": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "input": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 1000000
              },
              {
                "minItems": 1,
                "maxItems": 10000,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 1000000
                        },
                        {
                          "minItems": 1,
                          "maxItems": 100,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "text": {
                                "type": "string",
                                "maxLength": 1000000
                              },
                              "type": {
                                "type": "string",
                                "const": "input_text"
                              }
                            },
                            "required": [
                              "text",
                              "type"
                            ],
                            "additionalProperties": false
                          }
                        }
                      ]
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "system",
                        "developer",
                        "user",
                        "assistant"
                      ]
                    },
                    "type": {
                      "type": "string",
                      "const": "message"
                    }
                  },
                  "required": [
                    "content",
                    "role"
                  ],
                  "additionalProperties": false
                }
              }
            ]
          },
          "instructions": {
            "type": "string",
            "maxLength": 1000000
          },
          "max_output_tokens": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 1000000
          },
          "metadata": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "maxLength": 64
            },
            "additionalProperties": {
              "type": "string",
              "maxLength": 512
            }
          },
          "model": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512
          },
          "openwaya": {
            "type": "object",
            "properties": {
              "content_logging": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "const": true
                  },
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "development_debugging",
                      "quality_evaluation",
                      "support_investigation"
                    ]
                  },
                  "retention_hours": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 168
                  }
                },
                "required": [
                  "enabled",
                  "purpose",
                  "retention_hours"
                ],
                "additionalProperties": false
              },
              "routing_policy": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              }
            },
            "additionalProperties": false
          },
          "safety_identifier": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "store": {
            "default": false,
            "type": "boolean",
            "const": false
          },
          "stream": {
            "default": false,
            "type": "boolean"
          },
          "stream_options": {
            "type": "object",
            "properties": {
              "include_obfuscation": {
                "type": "boolean",
                "const": false
              }
            },
            "additionalProperties": false
          },
          "temperature": {
            "type": "number",
            "minimum": 0,
            "maximum": 2
          },
          "text": {
            "type": "object",
            "properties": {
              "format": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "text",
                      "json_object"
                    ]
                  }
                },
                "required": [
                  "type"
                ],
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "top_p": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "truncation": {
            "default": "disabled",
            "type": "string",
            "const": "disabled"
          },
          "user": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        },
        "required": [
          "input",
          "model",
          "store",
          "stream",
          "truncation"
        ],
        "additionalProperties": false
      },
      "OpenAIResponseStreamEvent": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "response": {
                "type": "object",
                "properties": {
                  "completed_at": {
                    "type": "null"
                  },
                  "created_at": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "error": {
                    "type": "null"
                  },
                  "id": {
                    "type": "string",
                    "pattern": "^resp_[0-9a-f]{32}$"
                  },
                  "incomplete_details": {
                    "type": "null"
                  },
                  "instructions": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "max_output_tokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "type": "object",
                        "propertyNames": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "additionalProperties": {
                          "type": "string",
                          "maxLength": 512
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 512
                  },
                  "object": {
                    "type": "string",
                    "const": "response"
                  },
                  "openwaya": {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "1.0"
                      },
                      "request_id": {
                        "type": "string",
                        "pattern": "^req_[0-9a-f]{32}$"
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id"
                    ],
                    "additionalProperties": false
                  },
                  "output": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "output_text": {
                    "type": "string",
                    "const": ""
                  },
                  "parallel_tool_calls": {
                    "type": "boolean",
                    "const": false
                  },
                  "safety_identifier": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 64
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "status": {
                    "type": "string",
                    "const": "in_progress"
                  },
                  "store": {
                    "type": "boolean",
                    "const": false
                  },
                  "temperature": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "tool_choice": {
                    "type": "string",
                    "const": "none"
                  },
                  "tools": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "top_p": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "truncation": {
                    "type": "string",
                    "const": "disabled"
                  },
                  "usage": {
                    "type": "null"
                  },
                  "user": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "completed_at",
                  "created_at",
                  "error",
                  "id",
                  "incomplete_details",
                  "instructions",
                  "max_output_tokens",
                  "metadata",
                  "model",
                  "object",
                  "openwaya",
                  "output",
                  "output_text",
                  "parallel_tool_calls",
                  "safety_identifier",
                  "status",
                  "store",
                  "temperature",
                  "tool_choice",
                  "tools",
                  "top_p",
                  "truncation",
                  "usage",
                  "user"
                ],
                "additionalProperties": false
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "type": {
                "type": "string",
                "const": "response.created"
              }
            },
            "required": [
              "response",
              "sequence_number",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "type": "object",
                "properties": {
                  "completed_at": {
                    "type": "null"
                  },
                  "created_at": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "error": {
                    "type": "null"
                  },
                  "id": {
                    "type": "string",
                    "pattern": "^resp_[0-9a-f]{32}$"
                  },
                  "incomplete_details": {
                    "type": "null"
                  },
                  "instructions": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "max_output_tokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "type": "object",
                        "propertyNames": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "additionalProperties": {
                          "type": "string",
                          "maxLength": 512
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 512
                  },
                  "object": {
                    "type": "string",
                    "const": "response"
                  },
                  "openwaya": {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "1.0"
                      },
                      "request_id": {
                        "type": "string",
                        "pattern": "^req_[0-9a-f]{32}$"
                      }
                    },
                    "required": [
                      "contract_version",
                      "request_id"
                    ],
                    "additionalProperties": false
                  },
                  "output": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "output_text": {
                    "type": "string",
                    "const": ""
                  },
                  "parallel_tool_calls": {
                    "type": "boolean",
                    "const": false
                  },
                  "safety_identifier": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 64
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "status": {
                    "type": "string",
                    "const": "in_progress"
                  },
                  "store": {
                    "type": "boolean",
                    "const": false
                  },
                  "temperature": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "tool_choice": {
                    "type": "string",
                    "const": "none"
                  },
                  "tools": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "top_p": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "truncation": {
                    "type": "string",
                    "const": "disabled"
                  },
                  "usage": {
                    "type": "null"
                  },
                  "user": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "completed_at",
                  "created_at",
                  "error",
                  "id",
                  "incomplete_details",
                  "instructions",
                  "max_output_tokens",
                  "metadata",
                  "model",
                  "object",
                  "openwaya",
                  "output",
                  "output_text",
                  "parallel_tool_calls",
                  "safety_identifier",
                  "status",
                  "store",
                  "temperature",
                  "tool_choice",
                  "tools",
                  "top_p",
                  "truncation",
                  "usage",
                  "user"
                ],
                "additionalProperties": false
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "type": {
                "type": "string",
                "const": "response.in_progress"
              }
            },
            "required": [
              "response",
              "sequence_number",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "item": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "id": {
                    "type": "string",
                    "pattern": "^msg_[0-9a-f]{32}$"
                  },
                  "role": {
                    "type": "string",
                    "const": "assistant"
                  },
                  "status": {
                    "type": "string",
                    "const": "in_progress"
                  },
                  "type": {
                    "type": "string",
                    "const": "message"
                  }
                },
                "required": [
                  "content",
                  "id",
                  "role",
                  "status",
                  "type"
                ],
                "additionalProperties": false
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "type": {
                "type": "string",
                "const": "response.output_item.added"
              }
            },
            "required": [
              "item",
              "output_index",
              "sequence_number",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "content_index": {
                "type": "number",
                "const": 0
              },
              "item_id": {
                "type": "string",
                "pattern": "^msg_[0-9a-f]{32}$"
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "part": {
                "type": "object",
                "properties": {
                  "annotations": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "text": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "const": "output_text"
                  }
                },
                "required": [
                  "annotations",
                  "text",
                  "type"
                ],
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "response.content_part.added"
              }
            },
            "required": [
              "content_index",
              "item_id",
              "output_index",
              "sequence_number",
              "part",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "content_index": {
                "type": "number",
                "const": 0
              },
              "item_id": {
                "type": "string",
                "pattern": "^msg_[0-9a-f]{32}$"
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "delta": {
                "type": "string"
              },
              "logprobs": {
                "type": "array",
                "items": {
                  "not": {}
                }
              },
              "type": {
                "type": "string",
                "const": "response.output_text.delta"
              }
            },
            "required": [
              "content_index",
              "item_id",
              "output_index",
              "sequence_number",
              "delta",
              "logprobs",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "content_index": {
                "type": "number",
                "const": 0
              },
              "item_id": {
                "type": "string",
                "pattern": "^msg_[0-9a-f]{32}$"
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "logprobs": {
                "type": "array",
                "items": {
                  "not": {}
                }
              },
              "text": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "const": "response.output_text.done"
              }
            },
            "required": [
              "content_index",
              "item_id",
              "output_index",
              "sequence_number",
              "logprobs",
              "text",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "content_index": {
                "type": "number",
                "const": 0
              },
              "item_id": {
                "type": "string",
                "pattern": "^msg_[0-9a-f]{32}$"
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "part": {
                "type": "object",
                "properties": {
                  "annotations": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "text": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "const": "output_text"
                  }
                },
                "required": [
                  "annotations",
                  "text",
                  "type"
                ],
                "additionalProperties": false
              },
              "type": {
                "type": "string",
                "const": "response.content_part.done"
              }
            },
            "required": [
              "content_index",
              "item_id",
              "output_index",
              "sequence_number",
              "part",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "item": {
                "type": "object",
                "properties": {
                  "content": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "annotations": {
                          "type": "array",
                          "items": {
                            "not": {}
                          }
                        },
                        "text": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "const": "output_text"
                        }
                      },
                      "required": [
                        "annotations",
                        "text",
                        "type"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "id": {
                    "type": "string",
                    "pattern": "^msg_[0-9a-f]{32}$"
                  },
                  "role": {
                    "type": "string",
                    "const": "assistant"
                  },
                  "status": {
                    "type": "string",
                    "const": "completed"
                  },
                  "type": {
                    "type": "string",
                    "const": "message"
                  }
                },
                "required": [
                  "content",
                  "id",
                  "role",
                  "status",
                  "type"
                ],
                "additionalProperties": false
              },
              "output_index": {
                "type": "number",
                "const": 0
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "type": {
                "type": "string",
                "const": "response.output_item.done"
              }
            },
            "required": [
              "item",
              "output_index",
              "sequence_number",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "type": "object",
                "properties": {
                  "completed_at": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "created_at": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "error": {
                    "type": "null"
                  },
                  "id": {
                    "type": "string",
                    "pattern": "^resp_[0-9a-f]{32}$"
                  },
                  "incomplete_details": {
                    "type": "null"
                  },
                  "instructions": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "max_output_tokens": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "type": "object",
                        "propertyNames": {
                          "type": "string",
                          "maxLength": 64
                        },
                        "additionalProperties": {
                          "type": "string",
                          "maxLength": 512
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "model": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 512
                  },
                  "object": {
                    "type": "string",
                    "const": "response"
                  },
                  "openwaya": {
                    "type": "object",
                    "properties": {
                      "contract_version": {
                        "type": "string",
                        "const": "1.0"
                      },
                      "provider": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "request_id": {
                        "type": "string",
                        "pattern": "^req_[0-9a-f]{32}$"
                      },
                      "route_attempt_count": {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "contract_version",
                      "provider",
                      "request_id",
                      "route_attempt_count"
                    ],
                    "additionalProperties": false
                  },
                  "output": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "content": {
                          "minItems": 1,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "annotations": {
                                "type": "array",
                                "items": {
                                  "not": {}
                                }
                              },
                              "logprobs": {
                                "type": "array",
                                "items": {
                                  "not": {}
                                }
                              },
                              "text": {
                                "type": "string"
                              },
                              "type": {
                                "type": "string",
                                "const": "output_text"
                              }
                            },
                            "required": [
                              "annotations",
                              "text",
                              "type"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "id": {
                          "type": "string",
                          "pattern": "^msg_[0-9a-f]{32}$"
                        },
                        "role": {
                          "type": "string",
                          "const": "assistant"
                        },
                        "status": {
                          "type": "string",
                          "const": "completed"
                        },
                        "type": {
                          "type": "string",
                          "const": "message"
                        }
                      },
                      "required": [
                        "content",
                        "id",
                        "role",
                        "status",
                        "type"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "output_text": {
                    "type": "string"
                  },
                  "parallel_tool_calls": {
                    "type": "boolean",
                    "const": false
                  },
                  "safety_identifier": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 64
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "status": {
                    "type": "string",
                    "const": "completed"
                  },
                  "store": {
                    "type": "boolean",
                    "const": false
                  },
                  "temperature": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "tool_choice": {
                    "type": "string",
                    "const": "none"
                  },
                  "tools": {
                    "type": "array",
                    "items": {
                      "not": {}
                    }
                  },
                  "top_p": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "truncation": {
                    "type": "string",
                    "const": "disabled"
                  },
                  "usage": {
                    "type": "object",
                    "properties": {
                      "input_tokens": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "input_tokens_details": {
                        "type": "object",
                        "properties": {
                          "cache_write_tokens": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          },
                          "cached_tokens": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "cache_write_tokens",
                          "cached_tokens"
                        ],
                        "additionalProperties": false
                      },
                      "output_tokens": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "output_tokens_details": {
                        "type": "object",
                        "properties": {
                          "reasoning_tokens": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "reasoning_tokens"
                        ],
                        "additionalProperties": false
                      },
                      "total_tokens": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "input_tokens",
                      "input_tokens_details",
                      "output_tokens",
                      "output_tokens_details",
                      "total_tokens"
                    ],
                    "additionalProperties": false
                  },
                  "user": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "completed_at",
                  "created_at",
                  "error",
                  "id",
                  "incomplete_details",
                  "instructions",
                  "max_output_tokens",
                  "metadata",
                  "model",
                  "object",
                  "openwaya",
                  "output",
                  "output_text",
                  "parallel_tool_calls",
                  "safety_identifier",
                  "status",
                  "store",
                  "temperature",
                  "tool_choice",
                  "tools",
                  "top_p",
                  "truncation",
                  "usage",
                  "user"
                ],
                "additionalProperties": false
              },
              "sequence_number": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "type": {
                "type": "string",
                "const": "response.completed"
              }
            },
            "required": [
              "response",
              "sequence_number",
              "type"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "bearerFormat": "OpenWaya API key",
        "description": "Use a server-side OpenWaya API key. Never expose keys in browser code.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "contact": {
      "name": "OpenWaya developer support",
      "url": "https://openwaya.africa/docs"
    },
    "description": "The versioned OpenWaya inference API. Requests authenticate with a server-side bearer key and return a request ID for operational correlation.",
    "title": "OpenWaya API",
    "version": "1.0.0"
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "openapi": "3.1.0",
  "paths": {
    "/v1/chat/completions": {
      "post": {
        "description": "Send an OpenAI-compatible non-streaming or streaming inference request through OpenWaya routing. Standard SDK fields are preserved; provider and route-attempt evidence is namespaced under openwaya.",
        "operationId": "createChatCompletion",
        "parameters": [
          {
            "description": "Caller-generated idempotency key for safely retrying mutations.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "minLength": 16,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenAIChatCompletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIChatCompletionResponse"
                }
              },
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIChatCompletionChunk"
                }
              }
            },
            "description": "A completed response or a stream of ordered chunks.",
            "headers": {
              "traceparent": {
                "description": "W3C trace context continued by OpenWaya.",
                "schema": {
                  "pattern": "^00-[0-9a-f]{32}-[0-9a-f]{16}-0[01]$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-requests": {
                "description": "Request limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-tokens": {
                "description": "Token limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-requests": {
                "description": "Requests remaining after this request's atomic reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-tokens": {
                "description": "Tokens remaining after this request's maximum-token reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-requests": {
                "description": "Milliseconds until the governing request window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-tokens": {
                "description": "Milliseconds until the governing token window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-request-id": {
                "description": "OpenWaya-generated request identity for logs and support.",
                "schema": {
                  "pattern": "^req_[0-9a-f]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a routed chat completion",
        "tags": [
          "Inference"
        ]
      }
    },
    "/v1/embeddings": {
      "post": {
        "description": "Create one or more ordered float embedding vectors through the same tenant-scoped routing, quota, settlement, and provider-attempt boundary. Token-array input and base64 encoding are rejected rather than ignored.",
        "operationId": "createEmbedding",
        "parameters": [
          {
            "description": "Caller-generated idempotency key for safely retrying mutations.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "minLength": 16,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenAIEmbeddingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIEmbeddingResponse"
                }
              }
            },
            "description": "An ordered list of float embedding vectors and normalized usage.",
            "headers": {
              "traceparent": {
                "description": "W3C trace context continued by OpenWaya.",
                "schema": {
                  "pattern": "^00-[0-9a-f]{32}-[0-9a-f]{16}-0[01]$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-requests": {
                "description": "Request limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-tokens": {
                "description": "Token limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-requests": {
                "description": "Requests remaining after this request's atomic reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-tokens": {
                "description": "Tokens remaining after this request's maximum-token reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-requests": {
                "description": "Milliseconds until the governing request window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-tokens": {
                "description": "Milliseconds until the governing token window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-request-id": {
                "description": "OpenWaya-generated request identity for logs and support.",
                "schema": {
                  "pattern": "^req_[0-9a-f]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create embeddings",
        "tags": [
          "Inference"
        ]
      }
    },
    "/v1/consensus": {
      "post": {
        "description": "Run two to five independent model responses through OpenWaya's secured Drux-backed consensus operation. The response preserves each child outcome, agreement, dissent, provider-native score semantics, normalized usage, and the settled OpenWaya charge.",
        "operationId": "createConsensus",
        "parameters": [
          {
            "description": "Caller-generated idempotency key for safely retrying mutations.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "minLength": 16,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "examples": {
                "configuredModelSet": {
                  "summary": "Use an administrator-configured model set",
                  "value": {
                    "contractVersion": "1.0",
                    "deepSynthesis": false,
                    "idempotencyKey": "consensus-fixture-0001",
                    "modelSetId": "cset_frontier_balanced",
                    "prompt": "Compare the evidence and identify any material disagreement.",
                    "webGrounding": false
                  }
                }
              },
              "schema": {
                "$ref": "#/components/schemas/ConsensusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "providerNativeScore": {
                    "summary": "Complete response where the engine score is preserved but not silently normalized",
                    "value": {
                      "billing": {
                        "actualCharge": {
                          "amount": "0.03",
                          "currency": "USD"
                        }
                      },
                      "consensus": {
                        "agreement": [
                          "The evidence supports the primary finding."
                        ],
                        "confidence": null,
                        "dissent": [
                          "The models assign different weight to the secondary evidence."
                        ],
                        "engineLabel": "Mostly aligned",
                        "engineScore": 7,
                        "label": "unmapped",
                        "score": null,
                        "scoreScale": "provider_native_unmapped",
                        "synthesis": "The primary finding is supported, while the secondary evidence remains unresolved."
                      },
                      "contractVersion": "1.0",
                      "createdAt": "2026-01-01T00:00:00.000Z",
                      "engine": "drux",
                      "id": "req_fixture_consensus",
                      "modelSetId": "cset_frontier_balanced",
                      "providerUsage": {
                        "creditsReported": 3,
                        "refunded": false
                      },
                      "requestedModels": [
                        "openai/gpt-5",
                        "anthropic/claude-sonnet-4.6",
                        "google/gemini-3.5-flash"
                      ],
                      "results": [
                        {
                          "agreementScore": null,
                          "content": "The primary evidence supports the finding.",
                          "errorCode": null,
                          "latencyMs": 1120,
                          "model": "openai/gpt-5",
                          "status": "succeeded",
                          "tokenUsage": {
                            "inputTokens": null,
                            "outputTokens": null,
                            "reported": false
                          }
                        },
                        {
                          "agreementScore": null,
                          "content": "The finding is supported with a caveat about secondary evidence.",
                          "errorCode": null,
                          "latencyMs": 1340,
                          "model": "anthropic/claude-sonnet-4.6",
                          "status": "succeeded",
                          "tokenUsage": {
                            "inputTokens": null,
                            "outputTokens": null,
                            "reported": false
                          }
                        },
                        {
                          "agreementScore": null,
                          "content": "The finding is likely, but the secondary evidence is inconclusive.",
                          "errorCode": null,
                          "latencyMs": 980,
                          "model": "google/gemini-3.5-flash",
                          "status": "succeeded",
                          "tokenUsage": {
                            "inputTokens": null,
                            "outputTokens": null,
                            "reported": false
                          }
                        }
                      ],
                      "status": "complete",
                      "usage": {
                        "modelsCalled": 3,
                        "modelsRequested": 3,
                        "modelsSucceeded": 3
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ConsensusResponse"
                }
              }
            },
            "description": "A complete or explicitly degraded multi-model consensus result."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsensusApiError"
                }
              }
            },
            "description": "A content-free consensus error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a metered multi-model consensus",
        "tags": [
          "Consensus"
        ]
      }
    },
    "/v1/models": {
      "get": {
        "description": "List models available to the authenticated organization with their lifecycle, capabilities, limits, and current USD price-book rates.",
        "operationId": "listModels",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIModelList"
                }
              }
            },
            "description": "The organization-visible model registry."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "List models",
        "tags": [
          "Models"
        ]
      }
    },
    "/v1/models/{model}": {
      "get": {
        "description": "Retrieve the current public contract for one organization-visible model.",
        "operationId": "retrieveModel",
        "parameters": [
          {
            "description": "OpenWaya model identifier.",
            "in": "path",
            "name": "model",
            "required": true,
            "schema": {
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIModel"
                }
              }
            },
            "description": "The requested model."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Retrieve a model",
        "tags": [
          "Models"
        ]
      }
    },
    "/v1/responses": {
      "post": {
        "description": "Create an OpenAI-compatible, non-stored text response through OpenWaya routing. The bounded subset supports ordered streaming lifecycle events and rejects unsupported tools, conversation state, images, and background processing rather than ignoring them.",
        "operationId": "createResponse",
        "parameters": [
          {
            "description": "Caller-generated idempotency key for safely retrying mutations.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "maxLength": 255,
              "minLength": 16,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenAIResponseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIResponse"
                }
              },
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAIResponseStreamEvent"
                }
              }
            },
            "description": "A completed response or ordered stream of typed lifecycle events.",
            "headers": {
              "traceparent": {
                "description": "W3C trace context continued by OpenWaya.",
                "schema": {
                  "pattern": "^00-[0-9a-f]{32}-[0-9a-f]{16}-0[01]$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-requests": {
                "description": "Request limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-limit-tokens": {
                "description": "Token limit for the currently governing API-key window.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-requests": {
                "description": "Requests remaining after this request's atomic reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-remaining-tokens": {
                "description": "Tokens remaining after this request's maximum-token reservation.",
                "schema": {
                  "pattern": "^(?:0|[1-9][0-9]{0,18})$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-requests": {
                "description": "Milliseconds until the governing request window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-ratelimit-reset-tokens": {
                "description": "Milliseconds until the governing token window resets.",
                "schema": {
                  "pattern": "^[0-9]+ms$",
                  "type": "string"
                }
              },
              "x-request-id": {
                "description": "OpenWaya-generated request identity for logs and support.",
                "schema": {
                  "pattern": "^req_[0-9a-f]{32}$",
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorEnvelope"
                }
              }
            },
            "description": "A normalized error with a stable code and request ID."
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "summary": "Create a routed response",
        "tags": [
          "Inference"
        ]
      }
    }
  },
  "x-openwaya-error-catalog": {
    "authentication_required": {
      "httpStatus": 401,
      "retryable": false
    },
    "authorization_denied": {
      "httpStatus": 403,
      "retryable": false
    },
    "invalid_request": {
      "httpStatus": 400,
      "retryable": false
    },
    "invalid_api_key": {
      "httpStatus": 401,
      "retryable": false
    },
    "rate_limit_exceeded": {
      "httpStatus": 429,
      "retryable": true
    },
    "insufficient_balance": {
      "httpStatus": 402,
      "retryable": false
    },
    "model_not_found": {
      "httpStatus": 404,
      "retryable": false
    },
    "model_unavailable": {
      "httpStatus": 503,
      "retryable": true
    },
    "provider_unavailable": {
      "httpStatus": 503,
      "retryable": true
    },
    "request_timeout": {
      "httpStatus": 504,
      "retryable": true
    },
    "content_rejected": {
      "httpStatus": 422,
      "retryable": false
    },
    "conflict": {
      "httpStatus": 409,
      "retryable": false
    },
    "idempotency_conflict": {
      "httpStatus": 409,
      "retryable": false
    },
    "payment_required": {
      "httpStatus": 402,
      "retryable": false
    },
    "payment_failed": {
      "httpStatus": 422,
      "retryable": true
    },
    "configuration_invalid": {
      "httpStatus": 503,
      "retryable": true
    },
    "internal_error": {
      "httpStatus": 500,
      "retryable": true
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "description": "Production",
      "url": "https://api.openwaya.africa"
    }
  ],
  "tags": [
    {
      "description": "Health-aware, policy-controlled model inference.",
      "name": "Inference"
    },
    {
      "description": "Independent multi-model evaluation with explicit agreement, dissent, and billing evidence.",
      "name": "Consensus"
    },
    {
      "description": "Organization-visible models, capabilities, limits, and prices.",
      "name": "Models"
    }
  ]
}
