97 lines
2.1 KiB
JSON
97 lines
2.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://edut.ai/schemas/issuer-manifest.v1.schema.json",
|
|
"title": "EDUT Issuer Manifest Schema v1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"issuer_id",
|
|
"display_name",
|
|
"signing_keys",
|
|
"capabilities",
|
|
"published_at"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"type": "string",
|
|
"const": "issuer_manifest.v1"
|
|
},
|
|
"issuer_id": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9._-]{2,127}$"
|
|
},
|
|
"display_name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 160
|
|
},
|
|
"contact_email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"signing_keys": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"key_id",
|
|
"algorithm",
|
|
"public_key",
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"key_id": {
|
|
"type": "string",
|
|
"pattern": "^[a-zA-Z0-9._:-]{3,128}$"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ed25519",
|
|
"secp256k1"
|
|
]
|
|
},
|
|
"public_key": {
|
|
"type": "string",
|
|
"minLength": 16,
|
|
"maxLength": 2048
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"active",
|
|
"retired"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"capabilities": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"can_publish_offers",
|
|
"can_issue_entitlements"
|
|
],
|
|
"properties": {
|
|
"can_publish_offers": {
|
|
"type": "boolean"
|
|
},
|
|
"can_issue_entitlements": {
|
|
"type": "boolean"
|
|
},
|
|
"requires_review": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"published_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
}
|