AbstractAPI
type: WebAPI
name: Abstract API
description: The Abstract REST API provides programmatic access to design projects, branches, commits, files, collections, and component libraries managed within the Abstract platform.
url: https://developer.abstract.com
documentation: https://developer.abstract.com
provider: AbstractInc
terms of service: https://www.goabstract.com/terms
endpoint URL: https://api.goabstract.com

AbstractInc
type: Organization
name: Abstract
url: https://www.goabstract.com

User
type: Person
name: User
description: An Abstract platform user account.
identifier: abstract:userId
has property: userId
has property: username
has property: name
has property: email
has property: image

Organization
name: Organization
description: An Abstract organization that owns projects and manages team memberships.
has property: organizationId
has property: name
has property: logo

Project
type: CreativeWork
name: Project
description: A design project within Abstract, containing branches, files, and version history.
part of: Organization
has property: projectId
has property: name
has property: organizationId
has property: visibility
has property: dateCreated
has property: dateModified

Branch
type: CreativeWork
name: Branch
description: A branch within a project, analogous to a git branch, allowing parallel design work.
part of: Project
has property: branchId
has property: name
has property: projectId
has property: status

Commit
type: UpdateAction
name: Commit
description: A commit representing a saved set of design changes pushed to a branch.
part of: Branch
has property: sha
has property: projectId
has property: name
has property: description
has property: dateCreated

File
type: DigitalDocument
name: File
description: A design file (e.g. a Sketch file) stored within a branch.
part of: Branch
has property: fileId
has property: name
has property: projectId
has property: isLibrary

Page
type: CreativeWork
name: Page
description: A page within a design file, containing design layers.
part of: File
has property: pageId
has property: name
has property: fileId

Collection
name: Collection
description: A curated collection of design layers shared for review or presentation.
part of: Branch
has property: collectionId
has property: name
has property: description
has property: projectId
has property: branchId

Comment
name: Comment
description: A comment attached to a branch, commit, page, or layer, optionally with a positional annotation.
has property: commentId
has property: text
has property: userId
has property: projectId

Webhook
type: EntryPoint
name: Webhook
description: A webhook subscription that delivers Abstract events to an external URL.
part of: Organization
has property: webhookId
has property: url
has property: events
has property: active

Membership
type: OrganizationRole
name: Membership
description: A user's role membership within an Abstract organization or project.
has property: userId
has property: organizationId
has property: role