Skip to content

Instantly share code, notes, and snippets.

@kayaelle
Last active August 29, 2015 14:06
Show Gist options
  • Save kayaelle/5d3dd52b59a16666bf56 to your computer and use it in GitHub Desktop.
Save kayaelle/5d3dd52b59a16666bf56 to your computer and use it in GitHub Desktop.
example-spec-1.1.json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title" : "Open Badges Specification",
"description": "Specification the Defines the content of an Open Badge",
"type": "object",
"properties": {
"Assertion": {
"title" : "Open Badges Specification",
"description": "Specification the Defines the content of an Open Badge instance",
"type": "object",
"properties": {
"uid": {
"description": "Unique Identifier for the badge. This is expected to be locally unique on a per-origin basis, not globally unique.",
"type": "string"
},
"recipient": {
"description":The recipient of the achievement.
"type": "object",
"properties": {
"identity": {
"description": "Either the hash of the identity or the plaintext value. If it's possible that the plaintext transmission and storage of the identity value would leak personally identifiable information, it is strongly recommended that an IdentityHash be used.",
"type": "",
},
"type": {
"description":"The type of identity.",
"type":"string"
},
"hashed": {
"description":"Whether or not the id value is hashed.",
"type": "boolean"
},
"salt": {
"description": " If the recipient is hashed, this should contain the string used to salt the hash. If this value is not provided, it should be assumed that the hash was not salted.",
"type": "string"
}
}
},
"badge": {
"description":"URL that describes the type of badge being awarded. The endpoint should be a ",
"type": "URI"
},
"verify": {
"description":"Data to help a third party verify this assertion.",
"type": "object",
"properties": {
"type": {
"description": "The type of verification method.",
"type": "string",
},
"url": {
"description": "If the type is "hosted", this should be a URL pointing to the assertion on the issuer's server. If the type is "signed", this should be a link to the issuer's public key.",
"type": "uri",
}
}
},
"issuedOn": {
"description": "Date that the achievement was awarded.",
"type": "DateTime",
},
"image": {
"description": "URL of an image representing this user's achievement. This must be a PNG image, and if possible, the image should be prepared via the Baking specification.",
"type": "Data URL or URL",
},
"evidence": {
"description": "URL of the work that the recipient did to earn the achievement. This can be a page that links out to other pages if linking directly to the work is infeasible.",
"type": "URL",
},
"expires": {
"description": "If the achievement has some notion of expiry, this indicates when a badge should no longer be considered valid.",
"type": "DateTime",
}
},
"Badge Class": {
"title" : "Open Badges Class Specification",
"description": "Specification the Defines the content of an Open Badge badge",
"type": "object",
"properties": {
"name": {
"description": "A name or title of the particular badge defined in the present badge class, which could then be issued to many recipients.",
"type": "string"
},
"description": {
"description": "A short description of the achievement represented by the present badge.",
"type": "string"
},
"image": {
"description": "The URL of the image that represents the present achievement. It will be baked into a complete badge for each recipient.",
"type": "string"
},
"criteria": {
"description": "The URL of a human-readable page describing the URL of the criteria for earning the achievement. If the badge represents an educational achievement, consider marking up this up with LRMI.",
"type": "string"
},
"issuer": {
"description": "URL of an object describing the organization that issued the badge. Endpoint should be JSON following the IssuerOrganization schema",
"type": "string"
},
"tags": {
"description": "An array of text: List of tags that describe the type of achievement.",
"type": "array",
"items": {
"type": "string"
}
},
"alignment": {
"description": "List of objects describing which educational standards this badge aligns to, if any. An array of AlignmentObjects.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Name of the alignment.",
"type": "string"
},
"url": {
"description": "URL linking to the official description of the standard.",
"type": "string"
},
"description": {
"description": "Short description of the standard.",
"type": "string"
}
},
"required": ["name","url"]
}
}
}
}
},
"Issuer Object": {
"title" : "Open Badges Issuer Specification",
"description": "Specification the Defines the content of an Open Badge issuer",
"type": "object",
"properties": {
"name": {
"description": "The name of the issuing organization.",
"type": "string"
},
"url": {
"description": "URL of the institution",
"type": "string"
},
"description": {
"description": "A short description of the institution",
"type": "string"
},
"image": {
"description": "An image representing the institution",
"type": "string"
},
"email": {
"description": "Contact address for someone at the organization.",
"type": "string"
},
"revocationList":{
"description": "URL of the Badge Revocation List. The endpoint should be a JSON representation of an object where the keys are the uid a revoked badge assertion, and the values are the reason for revocation. This is only necessary for signed badges.",
"type": "url"
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment