Abstract · JSON-LD Context
Abstract Api Context
JSON-LD context defining the semantic vocabulary for Abstract Api from Abstract.
19 Classes
3 Properties
2 Namespaces
Namespaces
abstract:
https://developer.abstract.com/vocab#
xsd:
http://www.w3.org/2001/XMLSchema#
Classes
id
type
name
description
url
avatarUrl
logoUrl
username
organizationId
projectId
branchId
fileId
layerId
pageId
commitSha
sha
status
role
visibility
Properties
| Property | Type | Container |
|---|---|---|
| createdAt | dateTime | |
| updatedAt | dateTime | |
| sizeInBytes | integer |
JSON-LD Document
{
"@context": {
"@vocab": "https://schema.org/",
"abstract": "https://developer.abstract.com/vocab#",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"id": "@id",
"type": "@type",
"createdAt": {
"@id": "schema:dateCreated",
"@type": "xsd:dateTime"
},
"updatedAt": {
"@id": "schema:dateModified",
"@type": "xsd:dateTime"
},
"name": "schema:name",
"description": "schema:description",
"url": "schema:url",
"avatarUrl": "schema:image",
"logoUrl": "schema:logo",
"username": "schema:alternateName",
"organizationId": "abstract:organizationId",
"projectId": "abstract:projectId",
"branchId": "abstract:branchId",
"fileId": "abstract:fileId",
"layerId": "abstract:layerId",
"pageId": "abstract:pageId",
"commitSha": "abstract:commitSha",
"sha": "abstract:sha",
"status": "abstract:status",
"role": "abstract:role",
"visibility": "abstract:visibility",
"sizeInBytes": {
"@id": "schema:contentSize",
"@type": "xsd:integer"
}
},
"@graph": [
{
"@id": "abstract:AbstractAPI",
"@type": "schema:WebAPI",
"schema:name": "Abstract API",
"schema:description": "The Abstract REST API provides programmatic access to design projects, branches, commits, files, collections, and component libraries managed within the Abstract platform.",
"schema:url": "https://developer.abstract.com",
"schema:documentation": "https://developer.abstract.com",
"schema:provider": {
"@id": "abstract:AbstractInc",
"@type": "schema:Organization",
"schema:name": "Abstract",
"schema:url": "https://www.goabstract.com"
},
"schema:termsOfService": "https://www.goabstract.com/terms",
"schema:endpointURL": "https://api.goabstract.com"
},
{
"@id": "abstract:User",
"@type": "schema:Person",
"schema:name": "User",
"schema:description": "An Abstract platform user account.",
"schema:identifier": "abstract:userId",
"abstract:hasProperty": [
{ "@id": "abstract:userId" },
{ "@id": "abstract:username" },
{ "@id": "schema:name" },
{ "@id": "schema:email" },
{ "@id": "schema:image" }
]
},
{
"@id": "abstract:Organization",
"@type": "schema:Organization",
"schema:name": "Organization",
"schema:description": "An Abstract organization that owns projects and manages team memberships.",
"abstract:hasProperty": [
{ "@id": "abstract:organizationId" },
{ "@id": "schema:name" },
{ "@id": "schema:logo" }
]
},
{
"@id": "abstract:Project",
"@type": "schema:CreativeWork",
"schema:name": "Project",
"schema:description": "A design project within Abstract, containing branches, files, and version history.",
"abstract:partOf": { "@id": "abstract:Organization" },
"abstract:hasProperty": [
{ "@id": "abstract:projectId" },
{ "@id": "schema:name" },
{ "@id": "abstract:organizationId" },
{ "@id": "abstract:visibility" },
{ "@id": "schema:dateCreated" },
{ "@id": "schema:dateModified" }
]
},
{
"@id": "abstract:Branch",
"@type": "schema:CreativeWork",
"schema:name": "Branch",
"schema:description": "A branch within a project, analogous to a git branch, allowing parallel design work.",
"abstract:partOf": { "@id": "abstract:Project" },
"abstract:hasProperty": [
{ "@id": "abstract:branchId" },
{ "@id": "schema:name" },
{ "@id": "abstract:projectId" },
{ "@id": "abstract:status" }
]
},
{
"@id": "abstract:Commit",
"@type": "schema:UpdateAction",
"schema:name": "Commit",
"schema:description": "A commit representing a saved set of design changes pushed to a branch.",
"abstract:partOf": { "@id": "abstract:Branch" },
"abstract:hasProperty": [
{ "@id": "abstract:sha" },
{ "@id": "abstract:projectId" },
{ "@id": "schema:name" },
{ "@id": "schema:description" },
{ "@id": "schema:dateCreated" }
]
},
{
"@id": "abstract:File",
"@type": "schema:DigitalDocument",
"schema:name": "File",
"schema:description": "A design file (e.g. a Sketch file) stored within a branch.",
"abstract:partOf": { "@id": "abstract:Branch" },
"abstract:hasProperty": [
{ "@id": "abstract:fileId" },
{ "@id": "schema:name" },
{ "@id": "abstract:projectId" },
{ "@id": "abstract:isLibrary" }
]
},
{
"@id": "abstract:Page",
"@type": "schema:CreativeWork",
"schema:name": "Page",
"schema:description": "A page within a design file, containing design layers.",
"abstract:partOf": { "@id": "abstract:File" },
"abstract:hasProperty": [
{ "@id": "abstract:pageId" },
{ "@id": "schema:name" },
{ "@id": "abstract:fileId" }
]
},
{
"@id": "abstract:Collection",
"@type": "schema:Collection",
"schema:name": "Collection",
"schema:description": "A curated collection of design layers shared for review or presentation.",
"abstract:partOf": { "@id": "abstract:Branch" },
"abstract:hasProperty": [
{ "@id": "abstract:collectionId" },
{ "@id": "schema:name" },
{ "@id": "schema:description" },
{ "@id": "abstract:projectId" },
{ "@id": "abstract:branchId" }
]
},
{
"@id": "abstract:Comment",
"@type": "schema:Comment",
"schema:name": "Comment",
"schema:description": "A comment attached to a branch, commit, page, or layer, optionally with a positional annotation.",
"abstract:hasProperty": [
{ "@id": "abstract:commentId" },
{ "@id": "schema:text" },
{ "@id": "abstract:userId" },
{ "@id": "abstract:projectId" }
]
},
{
"@id": "abstract:Webhook",
"@type": "schema:EntryPoint",
"schema:name": "Webhook",
"schema:description": "A webhook subscription that delivers Abstract events to an external URL.",
"abstract:partOf": { "@id": "abstract:Organization" },
"abstract:hasProperty": [
{ "@id": "abstract:webhookId" },
{ "@id": "schema:url" },
{ "@id": "abstract:events" },
{ "@id": "abstract:active" }
]
},
{
"@id": "abstract:Membership",
"@type": "schema:OrganizationRole",
"schema:name": "Membership",
"schema:description": "A user's role membership within an Abstract organization or project.",
"abstract:hasProperty": [
{ "@id": "abstract:userId" },
{ "@id": "abstract:organizationId" },
{ "@id": "abstract:role" }
]
}
]
}