JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://suporte.inspire4u.com.br/schemas/eksp/v1/manifest.schema.json",
  "title": "Manifesto EKSP (/.well-known/encantra.json)",
  "type": "object",
  "required": [
    "eksp_version",
    "provider",
    "capabilities"
  ],
  "properties": {
    "eksp_version": {
      "type": "string",
      "enum": [
        "1.0"
      ],
      "description": "Versão do protocolo implementada."
    },
    "provider": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 150
        },
        "description": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "support_email": {
          "type": "string",
          "format": "email"
        },
        "logo_url": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "content",
          "catalog",
          "customers",
          "context",
          "usage",
          "status",
          "actions",
          "push"
        ]
      }
    },
    "endpoints": {
      "type": "object",
      "description": "Mapa capacidade → caminho (relativo à URL base) ou URL absoluta. Opcional: padrões do protocolo são usados.",
      "properties": {
        "content": {
          "type": "string"
        },
        "catalog": {
          "type": "string"
        },
        "customers": {
          "type": "string"
        },
        "context": {
          "type": "string"
        },
        "usage": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "actions": {
          "type": "string"
        }
      }
    },
    "auth": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "bearer",
            "none"
          ]
        },
        "header": {
          "type": "string"
        },
        "docs_url": {
          "type": "string"
        }
      }
    },
    "locales": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "limits": {
      "type": "object",
      "properties": {
        "max_page_size": {
          "type": "integer",
          "minimum": 1
        },
        "rate_limit_per_minute": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "push": {
      "type": "object",
      "properties": {
        "events": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "signature": {
          "type": "string",
          "enum": [
            "hmac-sha256"
          ]
        }
      }
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}

Encontrou algo para melhorar? Escreva para master@inspire4u.com.br.