{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.3sixty.global/w3c-did/DidVerifiableCredentialCommon",
	"title": "DidVerifiableCredentialCommon",
	"description": "Common properties shared by all verifiable credential versions.",
	"type": "object",
	"properties": {
		"id": {
			"type": "string",
			"description": "The identifier for the verifiable credential."
		},
		"type": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"type": "string"
					}
				}
			],
			"description": "The types of the data stored in the verifiable credential."
		},
		"credentialSubject": {
			"anyOf": [
				{
					"$ref": "https://schema.3sixty.global/json-ld/JsonLdNodeObject"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/json-ld/JsonLdNodeObject"
					}
				}
			],
			"description": "The data for the verifiable credential."
		},
		"credentialStatus": {
			"anyOf": [
				{
					"$ref": "https://schema.3sixty.global/w3c-did/DidCredentialStatus"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/w3c-did/DidCredentialStatus"
					}
				}
			],
			"description": "Used to discover information about the current status of the\nverifiable credential, such as whether it is suspended or revoked."
		},
		"credentialSchema": {
			"anyOf": [
				{
					"$ref": "https://schema.3sixty.global/w3c-did/DidCredentialSchema"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/w3c-did/DidCredentialSchema"
					}
				}
			],
			"description": "Annotate type definitions or lock them to specific versions of the vocabulary."
		},
		"issuer": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "object",
					"properties": {
						"id": {
							"type": "string"
						},
						"name": {
							"anyOf": [
								{
									"type": "string"
								},
								{
									"type": "array",
									"items": {
										"$ref": "https://schema.3sixty.global/w3c-did/DidLabel"
									}
								}
							]
						},
						"description": {
							"anyOf": [
								{
									"type": "string"
								},
								{
									"type": "array",
									"items": {
										"$ref": "https://schema.3sixty.global/w3c-did/DidLabel"
									}
								}
							]
						}
					},
					"required": ["id"]
				}
			],
			"description": "The issuing identity."
		},
		"name": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/w3c-did/DidLabel"
					}
				}
			],
			"description": "The name of the credential."
		},
		"description": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/w3c-did/DidLabel"
					}
				}
			],
			"description": "The description of the credential."
		},
		"evidence": {
			"anyOf": [
				{
					"$ref": "https://schema.3sixty.global/json-ld/JsonLdNodeObject"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/json-ld/JsonLdNodeObject"
					}
				}
			],
			"description": "Evidence associated with the Credential."
		},
		"proof": {
			"anyOf": [
				{
					"$ref": "https://schema.3sixty.global/w3c-did/Proof"
				},
				{
					"type": "array",
					"items": {
						"$ref": "https://schema.3sixty.global/w3c-did/Proof"
					}
				}
			],
			"description": "Proofs that the verifiable credential is valid.\nOptional if a different proof method is used, such as JWT."
		}
	},
	"required": ["type"]
}
