{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/w3c-did/Multikey",
	"title": "Multikey",
	"description": "Interface describing a Multikey.\nhttps://www.w3.org/TR/cid-1.0/",
	"type": "object",
	"properties": {
		"@context": {
			"anyOf": [
				{
					"const": "https://www.w3.org/ns/cid/v1"
				},
				{
					"const": "https://w3id.org/security/multikey/v1"
				},
				{
					"type": "array",
					"items": {
						"anyOf": [
							{
								"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
							},
							{
								"const": "https://www.w3.org/ns/cid/v1"
							}
						]
					},
					"contains": {
						"const": "https://www.w3.org/ns/cid/v1"
					},
					"minContains": 1,
					"maxContains": 1,
					"minItems": 1
				},
				{
					"type": "array",
					"items": {
						"anyOf": [
							{
								"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
							},
							{
								"const": "https://w3id.org/security/multikey/v1"
							}
						]
					},
					"contains": {
						"const": "https://w3id.org/security/multikey/v1"
					},
					"minContains": 1,
					"maxContains": 1,
					"minItems": 1
				}
			],
			"description": "JSON-LD Context."
		},
		"id": {
			"type": "string",
			"description": "The id of the entry."
		},
		"type": {
			"const": "Multikey",
			"description": "The type of the entry."
		},
		"controller": {
			"type": "string",
			"description": "The controller for the entry."
		},
		"publicKeyMultibase": {
			"type": "string",
			"description": "The public key for the entry."
		},
		"secretKeyMultibase": {
			"type": "string",
			"description": "The secret key for the entry."
		},
		"expires": {
			"type": "string",
			"description": "The date the entry expires."
		},
		"revoked": {
			"type": "string",
			"description": "The date the entry was revoked."
		}
	},
	"required": ["type", "publicKeyMultibase"]
}
