openapi: 3.0.2
info:
title: Zeplin API
description: Access your resources in Zeplin
version: 1.38.0
contact:
name: Zeplin
url: https://zeplin.io
email: support@zeplin.io
servers:
- url: https://api.zeplin.dev
security:
- PersonalAccessToken: []
- OAuth2: []
paths:
/v1/oauth/authorize:
get:
tags:
- Authorization
summary: Authorization endpoint
description: Users are redirected to web app to authenticate themselves and
authorize the app with `client_id` to act on behalf of themselves.
operationId: OAuthAuthorize
security: []
x-readme:
code-samples:
- language: node
name: sdk
code: |
import { ZeplinApi } from "@zeplin/sdk";
const zeplin = new ZeplinApi();
const redirectUrl = zeplin.authorization.getAuthorizationUrl({
clientId: "YOUR_CLIENT_ID",
redirectUri: "YOUR_REDIRECT_URI",
state: "YOUR_STATE", // Optional
codeChallenge: "YOUR_CODE_CHALLENGE", // Optional
codeChallengeMethod: "S256" // or "plain" (optional)
});
parameters:
- name: response_type
in: query
description: Only `code` flow is supported
required: true
schema:
type: string
- name: client_id
in: query
description: Identifier of the Zeplin app requesting user authentication
required: true
schema:
type: string
- name: redirect_uri
in: query
description: User is redirected to this endpoint after authorization
required: true
schema:
type: string
- name: state
in: query
description: RECOMMENDED. An opaque value used by the client to maintain state
between the request and callback.
schema:
type: string
- name: code_challenge
in: query
description: RECOMMENDED. A PKCE code challenge derived from the code verifier,
to be verified against later.
schema:
type: string
- name: code_challenge_method
in: query
description: RECOMMENDED. PKCE code verifier transformation method.
schema:
type: string
enum:
- plain
- S256
default: S256
responses:
"302":
description: User is redirected to web app for authorization
/v1/oauth/token:
post:
tags:
- Authorization
summary: Access token endpoint
description: If `grant_type` is given as `authorization_code`; handles code
flow. If `grant_type` is given as `refresh_token` handles refresh token
flow.
operationId: OAuthPostToken
security: []
x-readme:
code-samples:
- language: node
name: sdk
code: >
import {
ZeplinApi,
Configuration
} from "@zeplin/sdk";
let zeplin = new ZeplinApi();
const createTokenResponse = await zeplin.authorization.createToken({
code: "CODE_FROM_AUTHORIZATION_CODE_FLOW",
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
redirectUri: "YOUR_REDIRECT_URI",
codeVerifier: "YOUR_CODE_VERIFIER", // If PKCE is used
});
zeplin = new ZeplinApi(
new Configuration({
accessToken: createTokenResponse.data.access_token
})
);
// You can now use `zeplin` to make requests to the Zeplin API
// When a token expires, you can refresh it with the `refresh_token`
const refreshTokenResponse = await zeplin.authorization.refreshToken({
refreshToken: createTokenResponse.data.refresh_token, // or refresh_token from previous refreshToken response
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
codeVerifier: "YOUR_CODE_VERIFIER", // If PKCE is used
});
zeplin = new ZeplinApi(
new Configuration({
accessToken: refreshTokenResponse.data.access_token
})
);
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TokenCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/TokenResponse"
examples:
response:
$ref: "#/components/examples/tokenResponse"
"400":
description: Bad request response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Code is expired:
value:
message: invalid_grant
detail: Provided `code` is expired
Code is malformed:
value:
message: invalid_grant
detail: Provided `code` is malformed
Code is used before:
value:
message: invalid_grant
detail: Provided `code` is used before
Code is not for client:
value:
message: invalid_grant
detail: Provided `code` is not usable for the provided `client_id`
Refresh token is not for client:
value:
message: invalid_grant
detail: Provided `refresh_token` is not usable for the provided `client_id`
Redirect URI is not for application:
value:
message: invalid_grant
detail: Provided `redirect_uri` must be whitelisted for the application
Client credentials are incorrect:
value:
message: invalid_client
detail: Provided `client_id` or `client_secret` are incorrect
Refresh token with increased scope:
value:
message: invalid_scope
detail: Refresh token cannot be used with increased scope
Refresh token is expired:
value:
message: invalid_grant
detail: Provided `refresh_token` is expired
Refresh token is malformed:
value:
message: invalid_grant
detail: Provided `refresh_token` is malformed
Code challenge is invalid:
value:
message: invalid_grant
detail: Provided `code_challenge` is invalid
Code challenge method is invalid:
value:
message: invalid_grant
detail: Provided `code_challenge_method` is invalid
Code verifier is required:
value:
message: invalid_grant
detail: "`code_verifier` is required"
Code verifier is incorrect:
value:
message: invalid_grant
detail: Provided `code_verifier` is incorrect
/v1/organizations:
get:
tags:
- Organizations
summary: Get organizations
description: List all organizations that user is a member of
operationId: GetOrganizations
parameters:
- $ref: "#/components/parameters/organization_role"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OrganizationSummary"
examples:
Organization Summary:
value:
- $ref: "#/components/examples/organizationSummary/value"
"/v1/organizations/{organization_id}":
get:
tags:
- Organizations
summary: Get a single organization
description: Get details of the organization
operationId: GetOrganization
parameters:
- $ref: "#/components/parameters/organization_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Organization"
examples:
response:
$ref: "#/components/examples/organization"
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/billing":
get:
tags:
- Organizations
summary: Get organization billing details
description: Get total and used seat count in the organization
operationId: GetOrganizationBilling
parameters:
- $ref: "#/components/parameters/organization_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationBilling"
examples:
response:
$ref: "#/components/examples/organizationBilling"
"403":
description: Only organization admins (or higher) can access billing details
response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Only organization admins (or higher) can access billing details response:
value:
message: Only organization admins (or higher) can access billing details
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/projects":
get:
tags:
- Organizations
summary: Get organization projects
description: List all projects that belong to the organization
operationId: GetOrganizationProjects
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Project"
examples:
Organization Projects:
value:
- $ref: "#/components/examples/organizationProject/value"
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/workflow_statuses":
get:
tags:
- Organizations
summary: Get organization workflow statuses
description: List all workflow statuses that belong to the organization
operationId: GetOrganizationWorkflowStatuses
parameters:
- $ref: "#/components/parameters/organization_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/WorkflowStatus"
examples:
Organization Workflow Statuses:
value:
- $ref: "#/components/examples/workflowStatus/value"
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/styleguides":
get:
tags:
- Organizations
summary: Get organization styleguides
description: List all styleguides that belong to the organization
operationId: GetOrganizationStyleguides
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Styleguide"
examples:
Organization Styleguides:
value:
- $ref: "#/components/examples/organizationStyleguide/value"
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/aliens":
get:
tags:
- Organizations
summary: Get organization aliens
description: List all aliens in the organization
operationId: GetOrganizationAliens
parameters:
- $ref: "#/components/parameters/organization_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/User"
examples:
Successful response:
value:
- $ref: "#/components/examples/user/value"
"403":
description: User is restricted response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
"404":
$ref: "#/components/responses/organizationNotFound"
"/v1/organizations/{organization_id}/webhooks":
get:
tags:
- Webhooks
summary: Get organization webhooks
description: >
List all webhooks of organization
Note: Zeplin apps can only list the webhook that are created by them.
To list all webhooks created by any app or without app, personal access token is needed.
operationId: GetOrganizationWebhooks
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/webhook_status"
- $ref: "#/components/parameters/url_health"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OrganizationWebhook"
examples:
Organization Webhooks:
value:
- $ref: "#/components/examples/webhook/value"
"403":
$ref: "#/components/responses/cannotGetWebhook"
"404":
$ref: "#/components/responses/organizationNotFound"
post:
tags:
- Webhooks
summary: Create organization webhooks
description: >
Create a webhook for the organization
Wildcard `"*"` can be used for `project_ids` and `styleguide_ids` to receive events for all projects and styleguides that you own. You'll also automatically subscribe to the new ones you create in the future.
Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.
operationId: CreateOrganizationWebhooks
parameters:
- $ref: "#/components/parameters/organization_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationWebhookCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateOrganizationWebhook"
"422":
$ref: "#/components/responses/unprocessableEntityCreateWebhook"
"/v1/organizations/{organization_id}/webhooks/{webhook_id}":
get:
tags:
- Webhooks
summary: Get a webhook of organization
description: Get a webhook by id
operationId: GetOrganizationWebhook
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationWebhook"
examples:
response:
$ref: "#/components/examples/webhook"
"403":
$ref: "#/components/responses/cannotGetWebhook"
"404":
$ref: "#/components/responses/organizationWebhookNotFound"
delete:
tags:
- Webhooks
summary: Delete a webhook of an organization
description: Delete a webhook by id
operationId: DeleteOrganizationWebhook
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotDeleteOrganizationWebhook"
"404":
$ref: "#/components/responses/organizationWebhookNotFound"
patch:
tags:
- Webhooks
summary: Update organization webhooks
description: Update a webhook for the organization
operationId: UpdateOrganizationWebhooks
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/webhook_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationWebhookUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateOrganizationWebhook"
"404":
$ref: "#/components/responses/organizationWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityUpdateWebhook"
"/v1/organizations/{organization_id}/members":
get:
tags:
- Organizations
summary: Get organization members
description: List all members in the organization
operationId: GetOrganizationMembers
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/handle"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OrganizationMember"
examples:
Organization Members:
value:
- $ref: "#/components/examples/organizationMember/value"
"403":
description: User is restricted or not allowed response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
User is not allowed response:
value:
message: Only organization admins (or higher) can filter organizaton members via
email using their personal access tokens
"404":
$ref: "#/components/responses/organizationNotFound"
post:
tags:
- Organizations
summary: Invite member
description: >
Invite a new organization member.
☝️*Only organization admins (or higher) can invite members using **personal access tokens**. OAuth applications are not allowed.*
operationId: InviteOrganizationMember
parameters:
- $ref: "#/components/parameters/organization_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationMemberInviteBody"
responses:
"201":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationMember"
examples:
response:
$ref: "#/components/examples/organizationMember"
"400":
description: Admin cannot be restricted response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Admin cannot be restricted response:
value:
message: Organization admin cannot be restricted
"402":
description: Not allowed in current plan response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Role not allowed response:
value:
message: '"member" role is not allowed in your workspace, contact us to learn
more: support@zeplin.io'
Not enough seats response:
value:
message: "Looks like you reached the member limit of your organization, contact
us to learn more: support@zeplin.io"
"403":
description: User is restricted or not allowed response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
User is not allowed response:
value:
message: Only organization admins (or higher) can add new members
"404":
$ref: "#/components/responses/organizationNotFound"
"422":
description: Organization is suspended or does not allow users from external
domain response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization is suspended response:
value:
message: Organization is suspended
External users are not allowed reponse:
value:
message: The organization does not allow users from external domains
"423":
description: Organization resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization resource is locked response:
value:
message: Organization resource is locked. Please try again later.
"/v1/organizations/{organization_id}/members/{member_id}":
patch:
tags:
- Organizations
summary: Update an organization member
description: >
Update an organization member's role, access restriction, and tags.
☝️*Only organization admins (or higher) can update members using **personal access tokens**. OAuth applications are not allowed.*
operationId: UpdateOrganizationMember
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/member_id"
security:
- PersonalAccessToken: []
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/OrganizationMemberUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"400":
description: Admin cannot be restricted response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Admin cannot be restricted response:
value:
message: Organization admin cannot be restricted
"402":
description: Not allowed in current plan response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Role not allowed response:
value:
message: '"member" role is not allowed in your workspace, contact us to learn
more: support@zeplin.io'
Not enough seats response:
value:
message: "Looks like you reached the member limit of your organization, contact
us to learn more: support@zeplin.io"
"403":
description: User is restricted or not allowed response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
User is not allowed response:
value:
message: Only organization admins (or higher) can update members
"404":
$ref: "#/components/responses/organizationOrMemberNotFound"
"422":
description: Organization
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization is suspended response:
value:
message: Organization is suspended
Owner role update is not allowed reponse:
value:
message: Owner role cannot be updated
"423":
description: Organization resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization resource is locked response:
value:
message: Organization resource is locked. Please try again later.
delete:
tags:
- Organizations
summary: Remove an organization member
description: >
Remove a member from organization.
☝️*Only organization admins (or higher) can remove members using **personal access tokens**. OAuth applications are not allowed.*
operationId: RemoveOrganizationMember
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/member_id"
security:
- PersonalAccessToken: []
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
description: User is restricted or not allowed response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
User is not allowed response:
value:
message: Only organization admins (or higher) can remove members
"404":
$ref: "#/components/responses/organizationOrMemberNotFound"
"422":
description: Organization
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization is suspended response:
value:
message: Organization is suspended
Owner leave is not allowed reponse:
value:
message: Owner cannot leave the organization
"423":
description: Organization resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization resource is locked response:
value:
message: Organization resource is locked. Please try again later.
"/v1/organizations/{organization_id}/members/{member_id}/projects":
get:
tags:
- Organizations
summary: Get a member's projects
description: Get a list of projects that an organization member is a part of
operationId: GetOrganizationMemberProjects
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/member_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Project"
examples:
Projects:
value:
- $ref: "#/components/examples/project/value"
- $ref: "#/components/examples/organizationProject/value"
"403":
description: User is restricted response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
"404":
$ref: "#/components/responses/organizationOrMemberNotFound"
"/v1/organizations/{organization_id}/members/{member_id}/styleguides":
get:
tags:
- Organizations
summary: Get a member's styleguides
description: Get a list of styleguides that an organization member is a part of
operationId: GetOrganizationMemberStyleguides
parameters:
- $ref: "#/components/parameters/organization_id"
- $ref: "#/components/parameters/member_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Styleguide"
examples:
Organization Styleguides:
value:
- $ref: "#/components/examples/styleguide/value"
"403":
description: User is restricted response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User is restricted response:
value:
message: User is restricted
"404":
$ref: "#/components/responses/organizationOrMemberNotFound"
/v1/projects:
get:
tags:
- Projects
summary: Get all projects
description: List all projects that user is a member of
operationId: GetProjects
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/project_workspace"
- $ref: "#/components/parameters/project_status"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Project"
examples:
Projects:
value:
- $ref: "#/components/examples/project/value"
- $ref: "#/components/examples/organizationProject/value"
"/v1/projects/{project_id}":
get:
tags:
- Projects
summary: Get a single project
description: Get a project by id
operationId: GetProject
parameters:
- $ref: "#/components/parameters/project_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Project"
examples:
Personal Project:
$ref: "#/components/examples/project"
Organization Project:
$ref: "#/components/examples/organizationProject"
"404":
$ref: "#/components/responses/projectNotFound"
patch:
tags:
- Projects
summary: Update a project
description: Update a project's name and description
operationId: UpdateProject
parameters:
- $ref: "#/components/parameters/project_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateProject"
"404":
$ref: "#/components/responses/projectNotFound"
"409":
description: Conflict response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project already has styleguide:
value:
message: Project already has a linked styleguide. Only projects without a linked
styleguide can be linked to a styleguide
User not have styleguide:
value:
message: You’re not invited to this styleguide
detail: Either project's and styleguide's subscription types are different or
they belong to different owners
"422":
description: Unprocessable entity response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Not a member:
value:
message: User is not a member of the project
Project is archived:
value:
message: Project is archived
Workflow status not found:
value:
message: Workflow status not found
Styleguide not found:
value:
message: Styleguide not found
Styleguide is archived:
value:
message: Styleguide is archived
Project is onboarding:
value:
message: Can not do this action from an onboarding project
"/v1/projects/{project_id}/members":
get:
tags:
- Projects
summary: Get project members
description: List all members of the project
operationId: GetProjectMembers
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ProjectMember"
examples:
Project Members:
value:
- $ref: "#/components/examples/projectMember/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Projects
summary: Invite a member
description: Invite a member to the project.
operationId: InviteProjectMember
parameters:
- $ref: "#/components/parameters/project_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectMemberInviteBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"402":
description: User limit is reached
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User limit is reached:
value: "Looks like you reached the member limit for your project, contact us to
learn more: support@zeplin.io"
"403":
description: Organization member not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization member not allowed:
value: Only organization admins (or higher) can add new members
"404":
$ref: "#/components/responses/projectNotFound"
"422":
description: Project is archived, invitee already member, or external members
disallowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project is archived:
value:
message: Project is archived
Invitee already member:
value:
message: Invited user is already a member of the project
External members disallowed:
value:
message: The organization does not allow users from external domains
"423":
description: Project resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project resource is locked response:
value:
message: Project resource is locked. Please try again later.
"/v1/projects/{project_id}/members/{member_id}":
delete:
tags:
- Projects
summary: Remove a member
description: Remove a member from the project.
operationId: RemoveProjectMember
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/member_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
description: Organization member not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization member not allowed:
value: Only organization admins (or higher) can add remove members
"404":
description: Project or member not found
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project not found:
value:
message: Project not found
User is not a member of the project:
value:
message: User is not a member of the project
"422":
description: Project is archived or cannot remove owner
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project is archived:
value:
message: Project is archived
Cannot remove owner:
value:
message: Owner cannot leave the project
"423":
description: Project resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Project resource is locked response:
value:
message: Project resource is locked. Please try again later.
"/v1/projects/{project_id}/screens":
get:
tags:
- Screens
summary: Get project screens
description: List all screens of the project
operationId: GetProjectScreens
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/filter_by_section_id"
- $ref: "#/components/parameters/sort_screens"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Screen"
examples:
Screens:
value:
- $ref: "#/components/examples/screen/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Screens
summary: Create a new screen
description: Create a new screen in the project
operationId: CreateScreen
parameters:
- $ref: "#/components/parameters/project_id"
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: "#/components/schemas/ScreenCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateAScreen"
"404":
$ref: "#/components/responses/projectOrScreenSectionNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchivedOrScreenExists"
"/v1/projects/{project_id}/screens/{screen_id}":
get:
tags:
- Screens
summary: Get a single screen
description: Get a single screen by id
operationId: GetScreen
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Screen"
examples:
response:
$ref: "#/components/examples/screen"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
patch:
tags:
- Screens
summary: Update a screen
description: Update a screen's description
operationId: UpdateScreen
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateScreen"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchivedOrTagIsLocked"
"/v1/projects/{project_id}/screens/{screen_id}/components":
get:
tags:
- Screens
summary: Get screen components
description: List all components in the screen
operationId: GetScreenComponents
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_latest_version"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Component"
examples:
response:
value:
- $ref: "#/components/examples/component/value"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screens/{screen_id}/notes":
get:
tags:
- Screens
summary: Get screen notes
description: List all notes in the screen
operationId: GetScreenNotes
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenNote"
examples:
Screen Notes:
value:
- $ref: "#/components/examples/screenNote/value"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Screens
summary: Create a note
description: Create a note on the screen
operationId: CreateScreenNote
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenNoteCreateBody"
responses:
"201":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/screens/{screen_id}/notes/{note_id}":
get:
tags:
- Screens
summary: Get a single screen note
description: Get a screen note by id
operationId: GetScreenNote
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenNote"
examples:
response:
$ref: "#/components/examples/screenNote"
"404":
$ref: "#/components/responses/projectScreenOrNoteNotFound"
"422":
$ref: "#/components/responses/projectArchived"
patch:
tags:
- Screens
summary: Update a note
description: Update a note on the screen
operationId: UpdateScreenNote
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenNoteUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenOrNoteNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
delete:
tags:
- Screens
summary: Delete a note
description: Delete a note on the screen
operationId: DeleteScreenNote
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenOrNoteNotFound"
"422":
$ref: "#/components/responses/notNoteCreatorOrProjectArchived"
"/v1/projects/{project_id}/screens/{screen_id}/notes/{note_id}/comments":
post:
tags:
- Screens
summary: Create a comment
description: Create comment on the screen note
operationId: CreateScreenComment
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CommentCreateBody"
responses:
"201":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"404":
$ref: "#/components/responses/projectScreenOrNoteNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/screens/{screen_id}/notes/{note_id}/comments/{comment_id}":
patch:
tags:
- Screens
summary: Update comment
description: Update comments on the screen note
operationId: UpdateScreenComment
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
- $ref: "#/components/parameters/screen_comment_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CommentUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenNoteOrCommentNotFound"
"422":
$ref: "#/components/responses/unproccessableEntityUpdateComment"
delete:
tags:
- Screens
summary: Delete comment
description: Delete a comment on the screen note
operationId: DeleteScreenComment
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_note_id"
- $ref: "#/components/parameters/screen_comment_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenNoteOrCommentNotFound"
"422":
$ref: "#/components/responses/notCommentAuthorOrProjectArchived"
"/v1/projects/{project_id}/screens/{screen_id}/annotations":
get:
tags:
- Screens
summary: Get screen annotations
description: List all annotations in the screen
operationId: GetScreenAnnotations
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenAnnotation"
examples:
Screen Annotations:
value:
- $ref: "#/components/examples/screenAnnotation/value"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Screens
summary: Create an annotation
description: Create an annotation on the screen
operationId: CreateScreenAnnotation
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenAnnotationCreateBody"
responses:
"201":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/screens/{screen_id}/annotations/{annotation_id}":
get:
tags:
- Screens
summary: Get a single screen annotation
description: Get a screen annotation by id
operationId: GetScreenAnnotation
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_annotation_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenAnnotation"
examples:
response:
$ref: "#/components/examples/screenAnnotation"
"404":
$ref: "#/components/responses/projectScreenOrAnnotationNotFound"
"422":
$ref: "#/components/responses/projectArchived"
patch:
tags:
- Screens
summary: Update an annotation
description: Update an annotation on the screen
operationId: UpdateScreenAnnotation
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_annotation_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenAnnotationUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenOrAnnotationNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
delete:
tags:
- Screens
summary: Delete an annotation
description: Delete an annotation on the screen
operationId: DeleteScreenAnnotation
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_annotation_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/projectScreenOrAnnotationNotFound"
"422":
$ref: "#/components/responses/notAnnotationCreatorOrProjectArchived"
"/v1/projects/{project_id}/annotations/note_types":
get:
tags:
- Screens
summary: Get screen annotation note types
description: List all annotation note types in the project
operationId: GetScreenAnnotationsNoteTypes
parameters:
- $ref: "#/components/parameters/project_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenAnnotationNoteType"
examples:
Screen Annotation Note Types:
value:
- $ref: "#/components/examples/screenAnnotationNoteType/value"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screens/{screen_id}/versions":
get:
tags:
- Screens
summary: Get screen versions
description: List all versions of the screen in a project
operationId: GetScreenVersions
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenVersionSummary"
examples:
Screen Versions:
value:
- $ref: "#/components/examples/screenVersionSummary/value"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Screens
summary: Create a new screen version
description: Create a new screen version in the project
operationId: CreateScreenVersion
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: "#/components/schemas/ScreenVersionCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateAScreenVersion"
"404":
$ref: "#/components/responses/projectOrScreenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/screens/{screen_id}/versions/{version_id}":
get:
tags:
- Screens
summary: Get a single screen version
description: Get details of the screen version
operationId: GetScreenVersion
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
- $ref: "#/components/parameters/screen_version_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenVersion"
examples:
response:
$ref: "#/components/examples/screenVersion"
"403":
$ref: "#/components/responses/cannotGetVersionInProject"
"404":
$ref: "#/components/responses/projectScreenOrVersionNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screens/{screen_id}/versions/latest":
get:
tags:
- Screens
summary: Get the latest screen version
description: Get details of the latest version
operationId: GetLatestScreenVersion
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenVersion"
examples:
response:
$ref: "#/components/examples/screenVersion"
"403":
$ref: "#/components/responses/cannotGetVersionInProject"
"404":
$ref: "#/components/responses/projectScreenOrVersionNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screen_sections":
get:
tags:
- Screens
summary: Get screen sections
description: List all screen sections of the project
operationId: GetScreenSections
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenSection"
examples:
Screen Sections:
value:
- $ref: "#/components/examples/screenSection/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screen_sections/{section_id}":
get:
tags:
- Screens
summary: Get a single screen section
description: Get a screen section by id
operationId: GetScreenSection
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_section_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenSection"
examples:
response:
$ref: "#/components/examples/screenSection"
"/v1/projects/{project_id}/screen_variants":
get:
tags:
- Screens
summary: Get screen variants
description: List all screen variants of the project
operationId: GetScreenVariants
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ScreenVariantGroup"
examples:
Screen Variants:
value:
- $ref: "#/components/examples/screenVariantGroup/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/screen_variants/{variant_id}":
get:
tags:
- Screens
summary: Get a single screen variant
description: Get a screen variant by id
operationId: GetScreenVariant
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/screen_variant_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ScreenVariantGroup"
examples:
response:
$ref: "#/components/examples/screenVariantGroup"
"404":
$ref: "#/components/responses/projectOrScreenVariantNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/colors":
get:
tags:
- Colors
summary: Get project colors
description: >
This endpoint returns all of the colors in a project.
You need to be a member of the project or a member of the organization that owns the project. Returns `Not Found` response otherwise.
operationId: GetProjectColors
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Color"
examples:
Project Colors:
value:
- $ref: "#/components/examples/color/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
post:
tags:
- Colors
summary: Create project color
description: Create a color in the project's local styleguide
operationId: CreateProjectColor
parameters:
- $ref: "#/components/parameters/project_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ColorCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateAColor"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/colors{color_id}":
patch:
tags:
- Colors
summary: Update project color
description: Update a color in the project's local styleguide
operationId: UpdateProjectColor
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/color_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ColorUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAProjectColor"
"404":
$ref: "#/components/responses/projectOrColorNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/text_styles":
get:
tags:
- TextStyles
summary: Get project text styles
description: List all text styles in the project's local styleguide
operationId: GetProjectTextStyles
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TextStyle"
examples:
Project Text Styles:
value:
- $ref: "#/components/examples/textStyle/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/text_styles/{text_style_id}":
patch:
tags:
- TextStyles
summary: Update project text style
description: Update a text style in the project's local styleguide
operationId: UpdateProjectTextStyle
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/text_style_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TextStyleUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAProjectTextStyle"
"404":
$ref: "#/components/responses/projectOrTextStyleNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/connected_components":
get:
tags:
- Connected Components
summary: Get project connected components
description: List all connected components of a project
operationId: GetProjectConnectedComponents
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ConnectedComponent"
examples:
Connected Components:
value:
- $ref: "#/components/examples/connectedComponent/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/components":
get:
tags:
- Components
summary: Get project components
description: List all components of a project
operationId: GetProjectComponents
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/filter_by_section_id"
- $ref: "#/components/parameters/sort_components"
- $ref: "#/components/parameters/include_latest_version"
- $ref: "#/components/parameters/include_linked_styleguides"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Component"
examples:
Project Components:
value:
- $ref: "#/components/examples/component/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/components/{component_id}":
get:
tags:
- Components
summary: Get a single project component
description: Get a project component by id
operationId: GetProjectComponent
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/component_id"
- $ref: "#/components/parameters/include_latest_version"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Component"
examples:
response:
$ref: "#/components/examples/component"
"404":
$ref: "#/components/responses/projectOrComponentNotFound"
"422":
$ref: "#/components/responses/projectArchived"
patch:
tags:
- Components
summary: Update a project component
description: Update a component's description in a project
operationId: UpdateProjectComponent
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/component_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ComponentUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateProjectComponent"
"404":
$ref: "#/components/responses/projectOrComponentNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/components/{component_id}/versions/latest":
get:
tags:
- Components
summary: Get latest project component version
description: Get latest version of the component in a project
operationId: GetProjectComponentLatestVersion
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/component_id"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ComponentVersion"
examples:
response:
$ref: "#/components/examples/componentVersion"
"403":
$ref: "#/components/responses/cannotGetVersionInProject"
"404":
$ref: "#/components/responses/projectComponentOrComponentVersionNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/component_sections":
get:
tags:
- Components
summary: Get project component sections
description: List all component sections of the project
operationId: GetProjectComponentSections
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/filter_by_page_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ComponentSection"
examples:
Project Component Sections:
value:
- $ref: "#/components/examples/componentSection/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/pages":
get:
tags:
- Components
summary: Get project pages
description: List all pages of the project
operationId: GetProjectPages
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Page"
examples:
Project Pages:
value:
- $ref: "#/components/examples/page/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/spacing_tokens":
get:
tags:
- Spacing
summary: Get spacing tokens of the project
description: List all spacing tokens of the project
operationId: GetProjectSpacingTokens
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SpacingToken"
examples:
response:
$ref: "#/components/examples/spacingToken"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/spacing_tokens/{spacing_token_id}":
patch:
tags:
- Spacing
summary: Update project spacing token
description: Update a spacing token in the project's local styleguide
operationId: UpdateProjectSpacingToken
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/spacing_token_id"
security:
- OAuth2: []
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/SpacingTokenUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAProjectSpacingToken"
"404":
$ref: "#/components/responses/projectOrSpacingTokenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/projects/{project_id}/spacing_sections":
get:
tags:
- Spacing
summary: Get spacing sections of the project
description: List all spacing sections of the project
operationId: GetProjectSpacingSections
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SpacingSection"
examples:
response:
$ref: "#/components/examples/spacingSection"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/webhooks":
get:
tags:
- Webhooks
summary: Get project webhooks
description: >
List all webhooks of the project
Note: Zeplin apps can only list the webhook that are created by them.
To list all webhooks created by any app or without app, personal access token is needed.
operationId: GetProjectWebhooks
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/webhook_status"
- $ref: "#/components/parameters/url_health"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ProjectWebhook"
examples:
Project Webhooks:
value:
- $ref: "#/components/examples/projectWebhook/value"
"403":
$ref: "#/components/responses/cannotAccessProjectWebhook"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
post:
tags:
- Webhooks
summary: Create project webhooks
description: >
Create a webhook for the project
Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.
operationId: CreateProjectWebhooks
parameters:
- $ref: "#/components/parameters/project_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectWebhookCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/forbiddenCreateProjectWebhook"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityCreateProjectWebhook"
"/v1/projects/{project_id}/webhooks/{webhook_id}":
get:
tags:
- Webhooks
summary: Get a webhook of project
description: Get a webhook by id
operationId: GetProjectWebhook
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectWebhook"
examples:
response:
$ref: "#/components/examples/projectWebhook"
"403":
$ref: "#/components/responses/cannotAccessProjectWebhook"
"404":
$ref: "#/components/responses/projectWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityProjectWebhook"
delete:
tags:
- Webhooks
summary: Delete a webhook of a project
description: Delete a webhook by id
operationId: DeleteProjectWebhook
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotDeleteProjectWebhook"
"404":
$ref: "#/components/responses/projectWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityProjectWebhook"
patch:
tags:
- Webhooks
summary: Update project webhooks
description: Update a webhook for the project
operationId: UpdateProjectWebhooks
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/webhook_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ProjectWebhookUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateProjectWebhook"
"404":
$ref: "#/components/responses/projectWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityUpdateProjectWebhook"
"/v1/projects/{project_id}/design_tokens":
get:
tags:
- Design Tokens
- Projects
summary: Get project design tokens
description: Fetch all design tokens of the project
operationId: GetProjectDesignTokens
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/include_linked_styleguides"
- $ref: "#/components/parameters/token_name_case"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/DesignTokens"
examples:
response:
$ref: "#/components/examples/projectDesignTokens"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards":
get:
tags:
- Flows
summary: Get project flow boards
description: List all flow boards in a project.
operationId: GetProjectFlowBoards
parameters:
- $ref: "#/components/parameters/project_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/FlowBoard"
examples:
Boards:
value:
- $ref: "#/components/examples/flowBoard/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}":
get:
tags:
- Flows
summary: Get a single project flow board
description: Get flow board details related to a project
operationId: GetProjectFlowBoard
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/FlowBoard"
examples:
Board:
$ref: "#/components/examples/flowBoard"
"404":
$ref: "#/components/responses/projectOrFlowBoardNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}/groups":
get:
tags:
- Flows
summary: Get project flow board groups
description: List all flow board groups in a project.
operationId: GetProjectFlowBoardGroups
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/FlowBoardGroup"
examples:
Board Group:
value:
- $ref: "#/components/examples/flowBoardGroup/value"
"404":
$ref: "#/components/responses/projectOrFlowBoardNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}/connectors":
get:
tags:
- Flows
summary: Get project flow board connectors
description: List all connectors of the flow board in a project
operationId: GetProjectFlowBoardConnectors
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
- $ref: "#/components/parameters/starting_node_id"
- $ref: "#/components/parameters/ending_node_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/FlowBoardConnector"
examples:
Board Connectors:
value:
- $ref: "#/components/examples/flowBoardConnector/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}/connectors/{connector_id}":
get:
tags:
- Flows
summary: Get a single project flow board connector
description: Get details of the project flow board connector
operationId: GetProjectFlowBoardConnector
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
- $ref: "#/components/parameters/connector_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/FlowBoardConnector"
examples:
response:
$ref: "#/components/examples/flowBoardConnector"
"404":
$ref: "#/components/responses/projectOrFlowBoardConnectorNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}/nodes":
get:
tags:
- Flows
summary: Get project flow board nodes
description: List all nodes of the flow board in a project
operationId: GetProjectFlowBoardNodes
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
- $ref: "#/components/parameters/group_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/FlowBoardNode"
examples:
Board Nodes:
value:
- $ref: "#/components/examples/flowBoardNode/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/flow_boards/{flow_board_id}/nodes/{node_id}":
get:
tags:
- Flows
summary: Get a single project flow board node
description: Get details of the project flow board node
operationId: GetProjectFlowBoardNode
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/flow_board_id"
- $ref: "#/components/parameters/node_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/FlowBoardNode"
examples:
response:
$ref: "#/components/examples/flowBoardNode"
"404":
$ref: "#/components/responses/projectOrFlowBoardNodeNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/projects/{project_id}/variable_collections":
get:
tags:
- Variable Collections
summary: Get project variable collections
description: >
This endpoint returns all of the color variables in a project
You need to be a member of the project or a member of the organization that owns the project. Returns `Not Found` response otherwise.
operationId: GetProjectVariableCollections
parameters:
- $ref: "#/components/parameters/project_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/VariableCollection"
examples:
Project Variable Collections:
value:
- $ref: "#/components/examples/variableCollection/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
/v1/styleguides:
get:
tags:
- Styleguides
summary: Get all member styleguides
description: >
Lists all styleguides user is a member of unless `linked_project` or
`linked_styleguide` parameter is given.
If `linked_project` parameter is provided, lists styleguide linked to the given project and its ancestors. Returns error if the project referenced with `linked_project` is not accessible.
Simiarly, lists styleguide linked to the given styleguide and its ancestors if `linked_styleguide` parameter is provided. Returns error if the styleguide referenced with `linked_styleguide` is not accessible.
☝️ `linked_project` and `linked_styleguide` should not be used in conjunction.
Also, styleguides can be filtered by workspace using the `workspace` parameter. `workspace` parameter is ignored when `linked_project` or `linked_styleguide` parameter is provided.
operationId: GetStyleguides
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/styleguide_workspace"
- $ref: "#/components/parameters/styleguide_status"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Styleguide"
examples:
Styleguides:
value:
- $ref: "#/components/examples/styleguide/value"
"404":
$ref: "#/components/responses/styleguideOrProjectNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}":
get:
tags:
- Styleguides
summary: Get a single styleguide
description: >
Returns a single styleguide that user has access.
User is considered eligible to access a styleguide if any of the following conditions is met:
* User is a member of the styleguide
* User is a member of the organization that the styleguide belongs to
* User is a member of a project which is linked to the styleguide (using `linked_project` parameter)
* User is a member of a project and the styleguide is an ancestor of the project's linked styleguide (using `linked_project` parameter)
* User is a member of a styleguide that the styleguide is one of its ancestors (using `linked_styleguide` parameter)
operationId: GetStyleguide
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Styleguide"
examples:
response:
$ref: "#/components/examples/styleguide"
"404":
$ref: "#/components/responses/styleguideNotFound"
patch:
tags:
- Styleguides
summary: Update a styleguide
description: Update a styleguide's name and description
operationId: UpdateStyleguide
parameters:
- $ref: "#/components/parameters/styleguide_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/StyleguideUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateStyleguide"
"404":
$ref: "#/components/responses/styleguideNotFound"
"412":
$ref: "#/components/responses/invalidParentStyleguide"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
"/v1/styleguides/{styleguide_id}/colors":
get:
tags:
- Colors
summary: Get styleguide colors
description: >
Returns colors in a styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideColors
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Color"
examples:
Styleguide Colors:
value:
- $ref: "#/components/examples/color/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
post:
tags:
- Colors
summary: Create styleguide color
description: Create a color in the styleguide's local styleguide
operationId: CreateStyleguideColor
parameters:
- $ref: "#/components/parameters/styleguide_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ColorCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateAStyleguideColor"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
"/v1/styleguides/{styleguide_id}/colors/{color_id}":
patch:
tags:
- Colors
summary: Update styleguide color
description: Update a color in the styleguide
operationId: UpdateStyleguideColor
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/color_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ColorUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAStyleguideColor"
"404":
$ref: "#/components/responses/styleguideOrColorNotFound"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
"/v1/styleguides/{styleguide_id}/text_styles":
get:
tags:
- TextStyles
summary: Get styleguide text styles
description: >
Returns the text styles of the styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideTextStyles
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TextStyle"
examples:
Styleguide Text Styles:
value:
- $ref: "#/components/examples/textStyle/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/text_styles/{text_style_id}":
patch:
tags:
- TextStyles
summary: Update styleguide text style
description: Update a text style in the styleguide
operationId: UpdateStyleguideTextStyle
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/text_style_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/TextStyleUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAStyleguideTextStyle"
"404":
$ref: "#/components/responses/styleguideOrTextStyleNotFound"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
"/v1/styleguides/{styleguide_id}/members":
get:
tags:
- Styleguides
summary: Get styleguide members
description: >
Returns members of a styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideMembers
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/StyleguideMember"
examples:
Styleguide Members:
value:
- $ref: "#/components/examples/styleguideMember/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
post:
tags:
- Styleguides
summary: Invite a member
description: Invite a member to the styleguide.
operationId: InviteStyleguideMember
parameters:
- $ref: "#/components/parameters/styleguide_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/StyleguideMemberInviteBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"402":
description: User limit is reached
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
User limit is reached:
value: "Looks like you reached the member limit for your styleguide, contact us
to learn more: support@zeplin.io"
"403":
description: Organization member not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization member not allowed:
value: Only organization admins (or higher) can add new members
"404":
$ref: "#/components/responses/projectNotFound"
"422":
description: Styleguide is archived, invitee already member, or external members
disallowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Styleguide is archived:
value:
message: Styleguide is archived
Invitee already member:
value:
message: Invited user is already a member of the styleguide
External members disallowed:
value:
message: The organization does not allow users from external domains
"423":
description: Styleguide resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Styleguiide resource is locked response:
value:
message: Styleguide resource is locked. Please try again later.
"/v1/styleguides/{styleguide_id}/members/{member_id}":
delete:
tags:
- Styleguides
summary: Remove a member
description: Remove a member from the styleguide.
operationId: RemoveStyleguideMember
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/member_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
description: Organization member not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Organization member not allowed:
value: Only organization admins (or higher) can add remove members
"404":
description: Styleguide or member not found
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Styleguide not found:
value:
message: Styleguide not found
User is not a member of the styleguide:
value:
message: User is not a member of the styleguide
"422":
description: Styleguide is archived or cannot remove owner
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Styleguide is archived:
value:
message: Styleguide is archived
Cannot remove owner:
value:
message: Owner cannot leave the styleguide
"423":
description: Styleguide resource is locked response
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorResponse"
examples:
Styleguide resource is locked response:
value:
message: Styleguide resource is locked. Please try again later.
"/v1/styleguides/{styleguide_id}/linked_projects":
get:
tags:
- Styleguides
summary: Get linked projects
description: List all projects linked to the styleguide
operationId: GetStyleguideLinkedProjects
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Project"
examples:
Projects:
value:
- $ref: "#/components/examples/project/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/connected_components":
get:
tags:
- Connected Components
summary: Get styleguide connected components
description: List all connected components of a project
operationId: GetStyleguideConnectedComponents
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ConnectedComponent"
examples:
Connected Components:
value:
- $ref: "#/components/examples/connectedComponent/value"
"404":
$ref: "#/components/responses/projectNotFound"
"422":
$ref: "#/components/responses/projectArchived"
"/v1/styleguides/{styleguide_id}/components":
get:
tags:
- Components
summary: Get styleguide components
description: >
Returns components in a styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideComponents
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/filter_by_section_id"
- $ref: "#/components/parameters/sort_components"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
- $ref: "#/components/parameters/include_latest_version"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Component"
examples:
Styleguide Components:
value:
- $ref: "#/components/examples/component/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/components/{component_id}":
get:
tags:
- Components
summary: Get a single styleguide component
description: >
Returns the component in a styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideComponent
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/component_id"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_latest_version"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Component"
examples:
response:
$ref: "#/components/examples/component"
"404":
$ref: "#/components/responses/styleguideOrComponentNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
patch:
tags:
- Components
summary: Update a styleguide component
description: Update a component's description in a styleguide
operationId: UpdateStyleguideComponent
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/component_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ComponentUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateStyleguideComponent"
"404":
$ref: "#/components/responses/styleguideOrComponentNotFound"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
"/v1/styleguides/{styleguide_id}/components/{component_id}/versions/latest":
get:
tags:
- Components
summary: Get latest styleguide component version
description: >
Returns the latest version of the component in a styleguide that user
has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideComponentLatestVersion
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/component_id"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/ComponentVersion"
examples:
response:
$ref: "#/components/examples/componentVersion"
"403":
$ref: "#/components/responses/forbiddenStyleguideComponentVersion"
"404":
$ref: "#/components/responses/styleguideComponentOrComponentVersionNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/component_sections":
get:
tags:
- Components
summary: Get styleguide component sections
description: >
Returns the component sections of a styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideComponentSections
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/filter_by_page_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/ComponentSection"
examples:
response:
$ref: "#/components/examples/componentSection"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/pages":
get:
tags:
- Components
summary: Get styleguide pages
description: List all pages of the styleguide
operationId: GetStyleguidePages
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Page"
examples:
Styleguide Pages:
value:
- $ref: "#/components/examples/page/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/spacing_tokens":
get:
tags:
- Spacing
summary: Get spacing tokens of the styleguide
description: >
List all spacing tokens of the styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideSpacingTokens
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SpacingToken"
examples:
response:
$ref: "#/components/examples/spacingToken"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/spacing_tokens/{spacing_token_id}":
patch:
tags:
- Spacing
summary: Update styleguide spacing token
description: Update a spacing token in the styleguide
operationId: UpdateStyleguideSpacingToken
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/spacing_token_id"
security:
- OAuth2: []
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/SpacingTokenUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateAStyleguideSpacingToken"
"404":
$ref: "#/components/responses/styleguideOrSpacingTokenNotFound"
"422":
$ref: "#/components/responses/notAProjectMemberOrArchived"
"/v1/styleguides/{styleguide_id}/spacing_sections":
get:
tags:
- Spacing
summary: Get spacing sections of the styleguide
description: >
List all spacing sections of the styleguide that user has access.
See [Styleguide docs](#getstyleguide) for more details about how `linked_project` and `linked_styleguide` parameters can be used to retrieve resources from styleguides that user is eligible to access.
operationId: GetStyleguideSpacingSections
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/linked_project"
- $ref: "#/components/parameters/linked_styleguide"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/SpacingSection"
examples:
response:
$ref: "#/components/examples/spacingSection"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/webhooks":
get:
tags:
- Webhooks
summary: Get styleguide webhooks
description: >
List all webhooks of the styleguide
Note: Zeplin apps can only list the webhook that are created by them.
To list all webhooks created by any app or without app, personal access token is needed.
operationId: GetStyleguideWebhooks
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/webhook_status"
- $ref: "#/components/parameters/url_health"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/StyleguideWebhook"
examples:
Styleguide Webhooks:
value:
- $ref: "#/components/examples/styleguideWebhook/value"
"403":
$ref: "#/components/responses/cannotAccessStyleguideWebhook"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/notAStyleguideMemberOrArchived"
post:
tags:
- Webhooks
summary: Create styleguide webhooks
description: >
Create a webhook for the styleguide
Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.
operationId: CreateStyleguideWebhooks
parameters:
- $ref: "#/components/parameters/styleguide_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/StyleguideWebhookCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/forbiddenCreateStyleguideWebhook"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityCreateStyleguideWebhook"
"/v1/styleguides/{styleguide_id}/webhooks/{webhook_id}":
get:
tags:
- Webhooks
summary: Get a webhook of styleguide
description: Get a webhook by id
operationId: GetStyleguideWebhook
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/StyleguideWebhook"
examples:
response:
$ref: "#/components/examples/styleguideWebhook"
"403":
$ref: "#/components/responses/cannotAccessStyleguideWebhook"
"404":
$ref: "#/components/responses/styleguideWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityStyleguideWebhook"
delete:
tags:
- Webhooks
summary: Delete a webhook of a styleguide
description: Delete a webhook by id
operationId: DeleteStyleguideWebhook
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/webhook_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotDeleteStyleguideWebhook"
"404":
$ref: "#/components/responses/styleguideWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityStyleguideWebhook"
patch:
tags:
- Webhooks
summary: Update styleguide webhooks
description: Update a webhook for the styleguide
operationId: UpdateStyleguideWebhooks
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/webhook_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/StyleguideWebhookUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateStyleguideWebhook"
"404":
$ref: "#/components/responses/styleguideWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityUpdateStyleguideWebhook"
"/v1/styleguides/{styleguide_id}/design_tokens":
get:
tags:
- Design Tokens
- Styleguides
summary: Get styleguide design tokens
description: Fetch all design tokens of the styleguide
operationId: GetStyleguideDesignTokens
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/include_linked_styleguides"
- $ref: "#/components/parameters/token_name_case"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/DesignTokens"
examples:
response:
$ref: "#/components/examples/styleguideDesignTokens"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
"/v1/styleguides/{styleguide_id}/variable_collections":
get:
tags:
- Variable Collections
summary: Get styleguide variable collections
description: >
This endpoint returns all of the color variables in a styleguide
You need to be a member of the styleguide or a member of the organization that owns the styleguide. Returns `Not Found` response otherwise.
operationId: GetStyleguideVariableCollections
parameters:
- $ref: "#/components/parameters/styleguide_id"
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/include_linked_styleguides"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/VariableCollection"
examples:
Styleguide Variable Collections:
value:
- $ref: "#/components/examples/variableCollection/value"
"404":
$ref: "#/components/responses/styleguideNotFound"
"422":
$ref: "#/components/responses/styleguideArchived"
/v1/users/me:
get:
tags:
- Users
summary: Current user
description: Get current user's details
operationId: GetCurrentUser
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/User"
examples:
response:
$ref: "#/components/examples/me"
/v1/users/me/projects:
get:
tags:
- Users
summary: Get personal projects
description: List all projects that belong to the current user
operationId: GetUserProjects
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/project_status"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Project"
examples:
Personal Projects:
value:
- $ref: "#/components/examples/project/value"
/v1/users/me/styleguides:
get:
tags:
- Users
summary: Get personal styleguides
description: List all styleguides that belong to the current user
operationId: GetUserStyleguides
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/styleguide_status"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Styleguide"
examples:
Personal Styleguides:
value:
- $ref: "#/components/examples/styleguide/value"
/v1/users/me/webhooks:
get:
tags:
- Webhooks
summary: Get user webhooks
description: >
List all webhooks of the user
Note: Zeplin apps can only list the webhook that are created by them.
To list all webhooks created by any app or without app, personal access token is needed.
operationId: GetUserWebhooks
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/webhook_status"
- $ref: "#/components/parameters/url_health"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/UserWebhook"
examples:
User Webhooks:
value:
- $ref: "#/components/examples/webhook/value"
post:
tags:
- Webhooks
summary: Create user webhooks
description: >
Create a webhook for the user
Wildcard `"*"` can be used for `project_ids` and `styleguide_ids` to receive events for all projects and styleguides that you own. You'll also automatically subscribe to the new ones you create in the future.
Note: Users that have authorized the app before webhooks release must re-authorize the app to create webhooks.
operationId: CreateUserWebhooks
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/UserWebhookCreateBody"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/EntityReference"
examples:
response:
$ref: "#/components/examples/entityReference"
"403":
$ref: "#/components/responses/cannotCreateUserWebhook"
"422":
$ref: "#/components/responses/unprocessableEntityCreateWebhook"
"/v1/users/me/webhooks/{webhook_id}":
get:
tags:
- Webhooks
summary: Get a webhook of user
description: Get a webhook by id
operationId: GetUserWebhook
parameters:
- $ref: "#/components/parameters/webhook_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/UserWebhook"
examples:
response:
$ref: "#/components/examples/webhook"
"404":
$ref: "#/components/responses/userWebhookNotFound"
delete:
tags:
- Webhooks
summary: Delete a webhook of a user
description: Delete a webhook by id
operationId: DeleteUserWebhook
parameters:
- $ref: "#/components/parameters/webhook_id"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotDeleteUserWebhook"
"404":
$ref: "#/components/responses/userWebhookNotFound"
patch:
tags:
- Webhooks
summary: Update user webhooks
description: Update a webhook for the user
operationId: UpdateUserWebhooks
parameters:
- $ref: "#/components/parameters/webhook_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/UserWebhookUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"403":
$ref: "#/components/responses/cannotUpdateUserWebhook"
"404":
$ref: "#/components/responses/userWebhookNotFound"
"422":
$ref: "#/components/responses/unprocessableEntityUpdateWebhook"
/v1/users/me/notifications:
get:
tags:
- Notifications
summary: Get user notifications
description: List all notifications of the user
operationId: GetUserNotifications
parameters:
- $ref: "#/components/parameters/limit"
- $ref: "#/components/parameters/offset"
- $ref: "#/components/parameters/is_read"
- $ref: "#/components/parameters/notification_type"
responses:
"200":
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Notification"
examples:
Notifications:
value:
- $ref: "#/components/examples/notification/value"
patch:
tags:
- Notifications
summary: Bulk update user notifications
description: >
Updates all user notifications unless `type` or `id` parameter is given.
If `type` parameter is provided, updates notifications with matching type.
Similarly, updates notifications with matching identifiers if `id` parameter is provided.
☝️ `type` and `id` should not be used in conjunction.
operationId: UpdateUserNotifications
parameters:
- $ref: "#/components/parameters/notification_type"
- name: id
in: query
description: |
Filter by id
Example: `?id=5fbe387f8c72ef23659fb500&id=602281f4783f72fccc045484`
required: false
schema:
type: array
items:
type: string
pattern: /^[0-9a-f]{24}$/i
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/NotificationUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"/v1/users/me/notifications/{notification_id}":
get:
tags:
- Notifications
summary: Get a notification of user
description: Get a notification by id
operationId: GetUserNotification
parameters:
- $ref: "#/components/parameters/notification_id"
responses:
"200":
description: Successful response
content:
application/json:
schema:
$ref: "#/components/schemas/Notification"
examples:
response:
$ref: "#/components/examples/notification"
"404":
$ref: "#/components/responses/notificationNotFound"
patch:
tags:
- Notifications
summary: Update user notification
description: Update a notification for the user
operationId: UpdateUserNotification
parameters:
- $ref: "#/components/parameters/notification_id"
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/NotificationUpdateBody"
responses:
"204":
$ref: "#/components/responses/noContent"
"404":
$ref: "#/components/responses/notificationNotFound"
components:
schemas:
TokenResponse:
title: Token Response
type: object
required:
- access_token
- expires_in
- refresh_token
- refresh_expires_in
- token_type
properties:
access_token:
type: string
description: Access token that allows you to make requests to the API on behalf
of a user
expires_in:
type: number
description: Access token's lifetime in seconds
refresh_token:
type: string
description: Refresh token that allows you to obtain access tokens
refresh_expires_in:
type: number
description: Refresh token's lifetime in seconds
token_type:
type: string
description: Type of the token returned
example:
$ref: "#/components/examples/tokenResponse"
BoundingRectangle:
title: Bounding Rectangle
type: object
required:
- width
- height
- x
- y
- absolute
properties:
width:
type: integer
height:
type: integer
x:
type: number
y:
type: number
absolute:
$ref: "#/components/schemas/LayerPosition"
description: Absolute position of the bounding rectangle
example:
$ref: "#/components/examples/boundingRectangle"
HotspotBoundingRectangle:
title: Hotspot Bounding Rectangle
type: object
required:
- width
- height
- x
- y
properties:
width:
type: integer
height:
type: integer
x:
type: number
y:
type: number
example:
$ref: "#/components/examples/hotspotBoundingRectangle"
Color:
title: Color
type: object
required:
- id
- created
- name
- r
- g
- b
- a
properties:
id:
type: string
description: Identifier of the color
created:
type: integer
format: timestamp
description: The unix timestamp when the color was created
source_id:
type: string
description: Color's identifier in the design tool
name:
type: string
description: Name of the color
r:
type: integer
description: Red component of the color
g:
type: integer
description: Green component of the color
b:
type: integer
description: Blue component of the color
a:
type: number
description: Alpha component of the color
source:
$ref: "#/components/schemas/ResourceSource"
description: Source of the color–either `project` or `styleguide`.
variable_info:
$ref: "#/components/schemas/VariableInfo"
description: Variable info of the color
example:
$ref: "#/components/examples/color"
ColorData:
title: Color Data
type: object
required:
- r
- g
- b
- a
properties:
source_id:
type: string
description: Color's identifier in the design tool
r:
type: integer
description: Red component of the color
g:
type: integer
description: Green component of the color
b:
type: integer
description: Blue component of the color
a:
type: number
description: Alpha component of the color
example:
$ref: "#/components/examples/colorData"
User:
title: User
description: >
Basic info about Zeplin users.
Zeplin API does not expose any personal information to third-party clients. For this reason, the `email` field is a Zeplin-only alias by default.
You can get the original email addresses of members of your workspace by using a personal access token created with admin rights. Third-party (OAuth) applications are not allowed to access this information.
☝️*Only organization admins (or higher) can retrieve the original email addresses using an admin token.*
type: object
required:
- id
- email
- username
properties:
id:
type: string
description: User's unique id
email:
type: string
description: Zeplin-only alias for the user's email (original)
username:
type: string
description: Username of the user
emotar:
type: string
format: emoji
description: Emotar of the user
avatar:
type: string
description: Avatar of the user
last_seen:
type: number
description: The unix timestamp when the user was last seen
example:
$ref: "#/components/examples/user"
x-examples:
User:
$ref: "#/components/examples/user"
My User:
$ref: "#/components/examples/me"
RemPreferences:
title: rem Preferences
description: rem preferences of project or styleguide. The content of this
property varies depending on the value of its status field.
discriminator:
propertyName: status
mapping:
enabled: "#/components/schemas/EnabledRemPreferences"
disabled: "#/components/schemas/DisabledOrLinkedRemPreferences"
linked: "#/components/schemas/DisabledOrLinkedRemPreferences"
oneOf:
- $ref: "#/components/schemas/EnabledRemPreferences"
- $ref: "#/components/schemas/DisabledOrLinkedRemPreferences"
EnabledRemPreferences:
title: Enabled rem Preferences
type: object
required:
- status
- root_font_size
- use_for_font_sizes
- use_for_measurements
properties:
status:
type: string
description: The status of the preferences
enum:
- enabled
root_font_size:
description: Font size of the root element
type: number
use_for_font_sizes:
description: Whether rem unit is used for font sizes
type: boolean
use_for_measurements:
description: Whether rem unit is used for measurements
type: boolean
example:
$ref: "#/components/examples/remPreferences"
DisabledOrLinkedRemPreferences:
title: Disabled or Linked rem Preferences
type: object
description: If `status` is `"linked"`, project or styleguide uses its parent
styleguide as the source of preferences.
required:
- status
properties:
status:
type: string
description: The status of the preferences.
enum:
- disabled
- linked
Project:
title: Project
type: object
required:
- id
- name
- platform
- status
- created
- number_of_members
- number_of_screens
- number_of_components
- number_of_connected_components
- number_of_colors
- number_of_text_styles
- number_of_spacing_tokens
properties:
id:
type: string
description: The unique id of the project
name:
type: string
description: The name of the project
description:
type: string
description: The description of the project
platform:
type: string
enum:
- web
- ios
- android
- macos
description: The target platform of the project
thumbnail:
type: string
description: URL of the project's thumbnail image
status:
$ref: "#/components/schemas/ProjectStatusEnum"
organization:
$ref: "#/components/schemas/OrganizationSummary"
rem_preferences:
$ref: "#/components/schemas/RemPreferences"
workflow_status:
$ref: "#/components/schemas/WorkflowStatus"
scene_url:
type: string
description: URL of the project's scene (public projects only)
format: url
created:
type: integer
format: timestamp
description: The unix timestamp when the project was created
updated:
type: integer
format: timestamp
description: The unix timestamp when the project was updated
number_of_members:
type: integer
description: The number of members of the project
number_of_screens:
type: integer
description: The number of screens in the project
number_of_components:
type: integer
description: The number of components exported to the project
number_of_connected_components:
type: integer
description: The number of connected components in the project
number_of_text_styles:
type: integer
description: The number of text styles added to the project
number_of_colors:
type: integer
description: The number of colors added to the project
number_of_spacing_tokens:
type: integer
description: The number of spacing tokens added to the project
linked_styleguide:
$ref: "#/components/schemas/EntityReference"
description: Reference the styleguide which the project is linked to
example:
$ref: "#/components/examples/project"
x-examples:
Personal Project:
$ref: "#/components/examples/project"
Organization Project:
$ref: "#/components/examples/organizationProject"
ProjectMember:
title: Project Member
type: object
required:
- user
- role
properties:
user:
$ref: "#/components/schemas/User"
role:
type: string
enum:
- owner
- admin
- user
- editor
- member
- alien
description: The role of the user in the project
example:
$ref: "#/components/examples/projectMember"
Organization:
title: Organization
type: object
required:
- id
- name
properties:
id:
type: string
description: Organization's unique id
name:
type: string
description: Name of the user
logo:
type: string
description: URL of the organization's logo
format: url
members:
type: array
items:
$ref: "#/components/schemas/OrganizationMember"
description: Members of the organization (Does not exist on the response when
user is restricted in organization)
example:
$ref: "#/components/examples/organization"
OrganizationBilling:
title: Organization Billing Details
type: object
required:
- total_seat_count
- used_seat_count
properties:
total_seat_count:
type: number
description: Total number of seats reserved for the organization
used_seat_count:
type: number
description: Number of used seats for the organization
example:
$ref: "#/components/examples/organizationBilling"
OrganizationMember:
title: Organization Member
type: object
required:
- user
- tags
- role
- restricted
properties:
user:
$ref: "#/components/schemas/User"
tags:
type: array
items:
type: string
description: Tags of the user in the organization
role:
type: string
enum:
- owner
- admin
- editor
- member
- alien
description: >
The role of the user in the organization
☝️Note that the Developer role maps to `member` and the Reviewer role maps to `alien` in the API.
restricted:
type: boolean
description: Whether the user's membership is restricted to only the projects
that they are member of
invited:
type: number
description: Invitation timestamp of the user to the organization
example:
$ref: "#/components/examples/organizationMember"
OrganizationSummary:
title: Organization Summary
type: object
required:
- id
- name
properties:
id:
type: string
description: Organization's unique id
name:
type: string
description: Name of the user
logo:
type: string
description: URL of the organization's logo
format: url
example:
$ref: "#/components/examples/organizationSummary"
Screen:
title: Screen
type: object
required:
- id
- tags
- name
- image
- created
- number_of_versions
- number_of_notes
- number_of_annotations
properties:
id:
type: string
description: The unique id of the screen
name:
type: string
description: The name of the screen
description:
type: string
description: The description of the screen
tags:
type: array
items:
type: string
description: The tags platform of the screen
image:
$ref: "#/components/schemas/SnapshotImage"
created:
type: integer
format: timestamp
description: The unix timestamp when the screen was created
updated:
type: integer
format: timestamp
description: The unix timestamp when the screen was updated
number_of_versions:
type: integer
description: The number of versions exported to the screen
number_of_notes:
type: integer
description: The number of notes in the screen
number_of_annotations:
type: integer
description: The number of annotations in the screen
section:
$ref: "#/components/schemas/EntityReference"
description: Reference of the section that contains the screen
variant:
$ref: "#/components/schemas/ScreenVariant"
example:
$ref: "#/components/examples/screen"
ScreenNote:
title: Screen Note
type: object
description: >
Screen notes are comments added to a screen and can be either point
notes, which have a single point in the position field, or area notes,
which have a position field containing both a start and end point to
define a rectangular region.
required:
- id
- order
- creator
- status
- comments
- position
- color
- created
properties:
id:
type: string
description: The unique id of the note
creator:
$ref: "#/components/schemas/User"
order:
type: integer
description: Order of the note in the screen (e.g., 1, 2, 3, so on)
status:
$ref: "#/components/schemas/ScreenNoteStatusEnum"
position:
$ref: "#/components/schemas/ScreenNotePosition"
color:
$ref: "#/components/schemas/ScreenNoteColor"
comments:
type: array
items:
$ref: "#/components/schemas/ScreenNoteComment"
created:
type: integer
format: timestamp
description: The unix timestamp when the note was created
example:
$ref: "#/components/examples/screenNote"
ScreenNoteColor:
title: Screen Note Color
type: object
required:
- r
- g
- b
- a
properties:
name:
$ref: "#/components/schemas/ScreenNoteColorNameEnum"
description: Name of the color
r:
type: integer
description: Red component of the color
g:
type: integer
description: Green component of the color
b:
type: integer
description: Blue component of the color
a:
type: number
description: Alpha component of the color
example:
$ref: "#/components/examples/screenNoteColor"
ScreenNotePosition:
title: Screen Note Position
description: Position of the note with respect to top left corner. Values are
normalized in [0, 1]
type: object
required:
- x
- y
properties:
x:
type: number
description: The X-coordinate of the note's position. For area notes, this
represents the X-coordinate of the end point.
y:
type: number
description: The Y-coordinate of the note's position. For area notes, this
represents the Y-coordinate of the end point.
x_start:
type: number
description: The X-coordinate of the start point for area notes. Ignored for
point notes.
y_start:
type: number
description: The Y-coordinate of the start point for area notes. Ignored for
point notes.
example:
$ref: "#/components/examples/screenNotePosition"
ScreenAnnotation:
title: Screen Annotation
type: object
required:
- id
- content
- type
- position
- creator
- updated
- created
properties:
id:
type: string
description: The unique id of the annotation
content:
type: string
description: The text of the annotation
type:
$ref: "#/components/schemas/ScreenAnnotationNoteType"
position:
$ref: "#/components/schemas/ScreenAnnotationPosition"
creator:
$ref: "#/components/schemas/User"
updated_by:
$ref: "#/components/schemas/User"
description: The user who last updated the content of the annotation
updated:
type: integer
format: timestamp
description: The unix timestamp when the annotation was last updated
created:
type: integer
format: timestamp
description: The unix timestamp when the annotation was created
example:
$ref: "#/components/examples/screenAnnotation"
ScreenAnnotationPosition:
title: Screen Annotation Position
description: Position of the annotation with respect to top left corner. Values
are normalized in [0, 1]
type: object
required:
- x
- y
properties:
x:
type: number
y:
type: number
example:
$ref: "#/components/examples/screenAnnotationPosition"
ScreenAnnotationNoteType:
title: Screen Annotation Note Type
type: object
required:
- id
- name
- color
properties:
id:
type: string
description: The unique id of the annotation
name:
$ref: "#/components/schemas/ScreenAnnotationNoteTypeEnum"
description: Name of the note type
color:
$ref: "#/components/schemas/ScreenAnnotationColor"
description: Color of the note type
ScreenAnnotationColor:
title: Screen Annotation Color
type: object
required:
- r
- g
- b
- a
properties:
name:
type: string
description: Name of the color
r:
type: integer
description: Red component of the color
g:
type: integer
description: Green component of the color
b:
type: integer
description: Blue component of the color
a:
type: number
description: Alpha component of the color
example:
$ref: "#/components/examples/screenAnnotationColor"
ScreenSection:
title: Screen Section
type: object
required:
- id
- created
- name
properties:
id:
type: string
description: The unique id of the screen section
created:
type: integer
format: timestamp
description: The unix timestamp when the screen section was created
name:
type: string
description: The name of the screen section
description:
type: string
description: The description of the screen section
parent:
$ref: "#/components/schemas/EntityReference"
example:
$ref: "#/components/examples/screenSection"
ScreenVariant:
title: Screen Variant
type: object
required:
- value
- group
properties:
value:
type: string
description: Value for this variant of the screen
group:
$ref: "#/components/schemas/ScreenVariantGroupReference"
ScreenVariantGroup:
title: Screen Variant Group
type: object
required:
- id
- name
- variants
properties:
id:
type: string
description: The unique id of the screen variant
name:
type: string
description: The name of the screen variant
variants:
type: array
items:
$ref: "#/components/schemas/ScreenVariantGroupValue"
example:
$ref: "#/components/examples/screenVariantGroup"
ScreenVariantGroupReference:
title: Screen Variant Group Reference
type: object
description: Variant group that contains the screen
required:
- id
- name
properties:
id:
type: string
description: Unique id of the screen variant
name:
type: string
description: Name of the screen variant
ScreenVariantGroupValue:
title: Screen Variant Group Value
type: object
required:
- screen_id
- value
properties:
screen_id:
type: string
description: Unique id of the variant screen
value:
type: string
description: Value for the variant
ScreenVersion:
title: Screen Version
type: object
required:
- id
- created
- source
- width
- height
- density_scale
- links
- layers
- assets
properties:
id:
type: string
description: The unique id of the version
creator:
$ref: "#/components/schemas/User"
commit:
$ref: "#/components/schemas/VersionCommit"
image_url:
type: string
format: url
description: URL of the image for the version
thumbnails:
$ref: "#/components/schemas/Thumbnails"
source:
allOf:
- $ref: "#/components/schemas/SourceEnum"
- description: Source application of the version
source_file_url:
type: string
format: url
description: Source file url of the version
width:
type: integer
description: Width of the version
height:
type: integer
description: Height of the version
background_color:
$ref: "#/components/schemas/ColorData"
density_scale:
type: number
description: Pixel density
links:
type: array
items:
$ref: "#/components/schemas/Link"
grid:
$ref: "#/components/schemas/Grid"
layers:
type: array
items:
$ref: "#/components/schemas/Layer"
description: Layers of the screen version
assets:
type: array
description: Assets of the screen version
items:
$ref: "#/components/schemas/Asset"
created:
type: integer
format: timestamp
description: The unix timestamp when the screen version was created
example:
$ref: "#/components/examples/screenVersion"
ScreenVersionSummary:
title: Screen Version Summary
type: object
required:
- id
- created
- source
- width
- height
- density_scale
- links
- image_url
- thumbnails
properties:
id:
type: string
description: The unique id of the version
creator:
$ref: "#/components/schemas/User"
commit:
$ref: "#/components/schemas/VersionCommit"
image_url:
type: string
format: url
description: URL of the image for the version
thumbnails:
$ref: "#/components/schemas/Thumbnails"
source:
allOf:
- $ref: "#/components/schemas/SourceEnum"
- description: Source application of the version
source_file_url:
type: string
format: url
description: Source file url of the version
width:
type: integer
description: Width of the version
height:
type: integer
description: Height of the version
background_color:
$ref: "#/components/schemas/ColorData"
density_scale:
type: number
description: Pixel density
links:
type: array
items:
$ref: "#/components/schemas/Link"
created:
type: integer
format: timestamp
description: The unix timestamp when the screen version was created
example:
$ref: "#/components/examples/screenVersionSummary"
Styleguide:
title: Styleguide
type: object
required:
- id
- name
- platform
- status
- created
- number_of_members
- number_of_components
- number_of_colors
- number_of_text_styles
- number_of_spacing_tokens
- number_of_connected_components
properties:
id:
type: string
description: The unique id of the styleguide
name:
type: string
description: The name of the styleguide
description:
type: string
description: The description of the styleguide (It can contain markdown
https://zpl.io/article/markdown-support)
platform:
type: string
enum:
- base
- web
- ios
- android
- macos
description: The target platform of the styleguide
thumbnail:
type: string
description: URL of the styleguide's thumbnail image
status:
$ref: "#/components/schemas/StyleguideStatusEnum"
organization:
$ref: "#/components/schemas/OrganizationSummary"
rem_preferences:
$ref: "#/components/schemas/RemPreferences"
created:
type: integer
format: timestamp
description: The unix timestamp when the styleguide was created
updated:
type: integer
format: timestamp
description: The unix timestamp when the styleguide was updated
number_of_members:
type: integer
description: The number of members of the styleguide
number_of_connected_components:
type: integer
description: The number of connected components in the styleguide
number_of_components:
type: integer
description: The number of components exported to the styleguide
number_of_text_styles:
type: integer
description: The number of text styles added to the styleguide
number_of_colors:
type: integer
description: The number of colors added to the styleguide
number_of_spacing_tokens:
type: integer
description: The number of spacing tokens added to the styleguide
parent:
$ref: "#/components/schemas/EntityReference"
description: Reference of the parent styleguide
example:
$ref: "#/components/examples/styleguide"
x-examples:
Personal Styleguide:
$ref: "#/components/examples/styleguide"
Organization Styleguide:
$ref: "#/components/examples/organizationStyleguide"
StyleguideMember:
title: Styleguide Member
type: object
required:
- user
- role
properties:
user:
$ref: "#/components/schemas/User"
role:
type: string
enum:
- owner
- admin
- user
- editor
- member
- alien
description: The role of the user in the styleguide
example:
$ref: "#/components/examples/styleguideMember"
VersionCommit:
title: Version Commit
type: object
required:
- message
properties:
message:
type: string
description: Commit message for the version
author:
$ref: "#/components/schemas/User"
color:
$ref: "#/components/schemas/VersionCommitColor"
example:
$ref: "#/components/examples/versionCommit"
VersionCommitColor:
title: Version Commit Color
type: object
required:
- r
- g
- b
- a
properties:
r:
type: integer
description: red component of the color
g:
type: integer
description: green component of the color
b:
type: integer
description: blue component of the color
a:
type: number
description: alpha component of the color
example:
$ref: "#/components/examples/versionCommitColor"
TextStyle:
title: Text Style
type: object
required:
- id
- name
- created
- postscript_name
- font_family
- font_size
- font_weight
- font_style
- font_stretch
properties:
id:
type: string
description: Identifier of the text style
name:
type: string
description: Name of the text style
created:
type: integer
format: timestamp
description: The unix timestamp when the text style was created
postscript_name:
type: string
description: PostScript name of the text style, e.g. Roboto-Regular
font_family:
type: string
description: Font family of the text style, e.g. Roboto, Arial
font_size:
type: number
description: Font size of the text style
font_weight:
type: number
description: Font weight of the text style, e.g. 500, 700
font_style:
type: string
description: Font style of the text style, e.g. italic, oblique
font_stretch:
type: number
description: Font stretch form of the text style, e.g. 0.75, 1.00
line_height:
type: number
description: Minimum height of a line for the text style
letter_spacing:
type: number
description: Spacing between letters
text_align:
type: string
description: Horizontal alignment of the text style, left, right, center, or
justify
color:
$ref: "#/components/schemas/ColorData"
source:
$ref: "#/components/schemas/ResourceSource"
description: Source of the text style–either `project` or `styleguide`.
example:
$ref: "#/components/examples/textStyle"
TextStyleData:
title: Text Style Data
type: object
required:
- postscript_name
- font_family
- font_size
- font_weight
- font_style
- font_stretch
properties:
postscript_name:
type: string
description: PostScript name of the text style, e.g. Roboto-Regular
font_family:
type: string
description: Font family of the text style, e.g. Roboto, Arial
font_size:
type: number
description: Font size of the text style
font_weight:
type: number
description: Font weight of the text style, e.g. 500, 700
font_style:
type: string
description: Font style of the text style, e.g. italic, oblique
font_stretch:
type: number
description: Font stretch form of the text style, e.g. 0.75, 1.00
line_height:
type: number
description: Minimum height of a line for the text style
letter_spacing:
type: number
description: Spacing between letters
text_align:
type: string
description: Horizontal alignment of the text style, left, right, center, or
justify
color:
$ref: "#/components/schemas/ColorData"
example:
$ref: "#/components/examples/textStyleData"
Component:
title: Component
type: object
required:
- id
- name
- image
- created
properties:
id:
type: string
description: The unique id of the component
name:
type: string
description: The name of the component
description:
type: string
description: The description of the component
image:
$ref: "#/components/schemas/SnapshotImage"
created:
type: integer
format: timestamp
description: The unix timestamp when the component was created
updated:
type: integer
format: timestamp
description: The unix timestamp when the component was updated
section:
$ref: "#/components/schemas/ComponentSectionReference"
variant_properties:
type: array
items:
$ref: "#/components/schemas/ComponentVariantProperty"
description: Variant properties of the component
source:
$ref: "#/components/schemas/ResourceSource"
description: Source of the text style. Either `project` or `styleguide`.
latest_version:
$ref: "#/components/schemas/ComponentVersion"
description: Design data in the latest version of the component. This exists if
the related endpoint parameter (`include_latest_version=true`) is
provided in component endpoints.
example:
$ref: "#/components/examples/component"
ComponentSection:
title: Component Section
type: object
required:
- id
- created
- name
- groups
properties:
id:
type: string
description: The unique id of the component section
created:
type: integer
format: timestamp
description: The unix timestamp when the component section was created
name:
type: string
description: The name of the component section
description:
type: string
description: The description of the component section
groups:
type: array
items:
$ref: "#/components/schemas/ComponentGroup"
variant:
$ref: "#/components/schemas/ComponentSectionVariant"
example:
$ref: "#/components/examples/componentSection"
ComponentSectionReference:
title: Component Section Reference
type: object
required:
- id
properties:
id:
type: string
description: Unique id of the section that contains the component
group:
allOf:
- $ref: "#/components/schemas/EntityReference"
- description: Unique id of the group that contains the component
example:
$ref: "#/components/examples/componentSectionReference"
ComponentGroup:
title: Component Group
type: object
required:
- id
- created
- name
properties:
id:
type: string
description: The unique id of the component section
created:
type: integer
format: timestamp
description: The unix timestamp when the component group was created
name:
type: string
description: The name of the component section
description:
type: string
description: The description of the component section
example:
$ref: "#/components/examples/componentGroup"
ComponentSectionVariant:
title: Component Section Variant
description: Variant information for this component section
type: object
required:
- properties
properties:
properties:
type: array
items:
$ref: "#/components/schemas/ComponentSectionVariantProperty"
description: List of variant properties that the components of this section take
source_id:
type: string
description: Unique identifier used for this variant in the source design file
example:
$ref: "#/components/examples/componentSectionVariant"
ComponentSectionVariantProperty:
title: Component Section Variant Property
type: object
required:
- id
- name
- values
properties:
id:
type: string
description: Unique id of the variant property
name:
type: string
description: Name of the variant property (e.g. `“type”`, `“state”`, etc.)
values:
type: array
items:
type: string
description: Possible values that the property can take (e.g. `["default",
"hover", "pressed"]`)
example:
$ref: "#/components/examples/componentSectionVariantProperty"
ComponentVariantProperty:
title: Component Variant Property
type: object
required:
- id
- name
- value
properties:
id:
type: string
description: Unique id of the variant property
name:
type: string
description: Name of the variant property (e.g. `“type”`, `“state”`, etc.)
value:
type: string
description: Value for this property of the component (e.g. `"primary"`)
example:
$ref: "#/components/examples/componentVariantProperty"
ComponentVersion:
title: Component Version
type: object
required:
- id
- source
- width
- height
- density_scale
- links
- layers
- assets
- created
properties:
id:
type: string
description: The unique id of the version
creator:
$ref: "#/components/schemas/User"
image_url:
type: string
format: url
description: URL of the image for the version
thumbnails:
$ref: "#/components/schemas/Thumbnails"
source:
allOf:
- $ref: "#/components/schemas/SourceEnum"
- description: Source application of the version
source_file_url:
type: string
format: url
description: Source file url of the version
width:
type: integer
description: Width of the version
height:
type: integer
description: Height of the version
background_color:
$ref: "#/components/schemas/ColorData"
density_scale:
type: number
description: Pixel density
links:
type: array
items:
$ref: "#/components/schemas/Link"
grid:
$ref: "#/components/schemas/Grid"
layers:
type: array
items:
$ref: "#/components/schemas/Layer"
description: Layers of the component version
assets:
type: array
description: Assets of the component version
items:
$ref: "#/components/schemas/Asset"
created:
type: integer
format: timestamp
description: The unix timestamp when the component version was created
example:
$ref: "#/components/examples/componentVersion"
ComponentVersionSummary:
title: Component Version Summary
type: object
required:
- id
- created
- source
- width
- height
- density_scale
- links
- image_url
properties:
id:
type: string
description: The unique id of the version
creator:
$ref: "#/components/schemas/User"
commit:
$ref: "#/components/schemas/VersionCommit"
image_url:
type: string
format: url
description: URL of the image for the version
thumbnails:
$ref: "#/components/schemas/Thumbnails"
source:
allOf:
- $ref: "#/components/schemas/SourceEnum"
- description: Source application of the version
source_file_url:
type: string
format: url
description: Source file url of the version
width:
type: integer
description: Width of the version
height:
type: integer
description: Height of the version
background_color:
$ref: "#/components/schemas/ColorData"
density_scale:
type: number
description: Pixel density
links:
type: array
items:
$ref: "#/components/schemas/Link"
created:
type: integer
format: timestamp
description: The unix timestamp when the component version was created
example:
$ref: "#/components/examples/componentVersionSummary"
SnapshotImage:
title: Snapshot Image
type: object
required:
- width
- height
- original_url
- thumbnails
properties:
width:
type: number
description: Width of the component image
height:
type: number
description: Height of the component image
thumbnails:
$ref: "#/components/schemas/Thumbnails"
original_url:
type: string
description: URL of the original image for the component (from the latest version)
example:
$ref: "#/components/examples/snapshotImage"
SpacingToken:
title: Spacing Token
type: object
required:
- id
- name
- value
- color
- section
properties:
id:
type: string
description: The unique id of the token
name:
type: string
description: The name of the token
value:
type: number
description: The value of the token
color:
$ref: "#/components/schemas/SpacingTokenColor"
section:
$ref: "#/components/schemas/EntityReference"
description: Reference of the section that contains the token
source:
$ref: "#/components/schemas/ResourceSource"
description: Source of the color–either `project` or `styleguide`.
example:
$ref: "#/components/examples/spacingToken"
SpacingTokenColor:
title: Spacing Token Color
type: object
required:
- r
- g
- b
- a
properties:
r:
type: integer
description: red component of the color
g:
type: integer
description: green component of the color
b:
type: integer
description: blue component of the color
a:
type: number
description: alpha component of the color
example:
$ref: "#/components/examples/spacingTokenColor"
SpacingSection:
title: Spacing Section
type: object
required:
- id
- name
- base_token
properties:
id:
type: string
description: The unique id of the section
name:
type: string
description: The name of the section
description:
type: string
description: The description of the section
base_token:
$ref: "#/components/schemas/EntityReference"
description: Reference of the base token of the section
example:
$ref: "#/components/examples/spacingSection"
LayerPosition:
title: Layer Position
type: object
required:
- x
- y
properties:
x:
type: number
y:
type: number
example:
$ref: "#/components/examples/layerPosition"
Layer:
title: Layer
type: object
required:
- id
- type
- rect
- opacity
properties:
id:
type: string
description: Layer's unique id
source_id:
type: string
description: Layer's identifier in the design tool
type:
type: string
enum:
- text
- shape
- group
description: Type of the layer
name:
type: string
description: Name of the layer
rect:
$ref: "#/components/schemas/BoundingRectangle"
description: Bounding rectangle of the layer
fills:
type: array
description: Fills applied to the layer
items:
$ref: "#/components/schemas/LayerFill"
borders:
type: array
description: Borders of the layer
items:
$ref: "#/components/schemas/LayerBorder"
shadows:
type: array
description: Shadows applied to the layer
items:
$ref: "#/components/schemas/LayerShadow"
blur:
$ref: "#/components/schemas/LayerBlur"
opacity:
type: number
description: Opacity of the layer, [0, 1]
blend_mode:
$ref: "#/components/schemas/BlendModeEnum"
border_radius:
type: number
description: Border radius of the layer
rotation:
type: number
description: Rotation of the layer
exportable:
type: boolean
description: Indicates whether the layer has assets or not
content:
type: string
description: Text of the text layer
text_styles:
type: array
items:
$ref: "#/components/schemas/LayerTextStyle"
layers:
type: array
items:
$ref: "#/components/schemas/Layer"
component_name:
type: string
description: Name of the component the group layer is referencing
example:
$ref: "#/components/examples/layer"
Gradient:
title: Gradient
type: object
properties:
type:
type: string
enum:
- linear
- radial
- angular
description: Type of the gradient
angle:
type: number
description: Angle of the gradient
scale:
type: number
description: Scale of the gradient
color_stops:
type: array
items:
$ref: "#/components/schemas/ColorStop"
opacity:
type: number
description: Opacity of the gradient
example:
$ref: "#/components/examples/gradient"
ColorStop:
title: Color Stop
type: object
required:
- color
- position
properties:
color:
$ref: "#/components/schemas/ColorData"
position:
type: number
example:
$ref: "#/components/examples/colorStop"
LayerBlur:
title: Layer Blur
type: object
description: Blur applied to the layer
properties:
type:
type: string
enum:
- gaussian
- background
description: Type of the blur
radius:
type: number
description: Radius of the blur
example:
$ref: "#/components/examples/layerBlur"
LayerBorder:
title: Layer Border
type: object
properties:
position:
type: string
enum:
- center
- inside
- outside
description: Position of the border
thickness:
type: number
description: Thickness of the border
fill:
$ref: "#/components/schemas/LayerFill"
example:
$ref: "#/components/examples/layerBorder"
LayerFill:
title: Layer Fill
type: object
required:
- type
properties:
type:
type: string
enum:
- color
- gradient
description: Type of the fill
color:
$ref: "#/components/schemas/ColorData"
gradient:
$ref: "#/components/schemas/Gradient"
blend_mode:
$ref: "#/components/schemas/BlendModeEnum"
example:
$ref: "#/components/examples/layerFill"
LayerShadow:
title: Layer Shadow
type: object
properties:
type:
type: string
enum:
- outer
- inner
description: Type of the shadow
offset_x:
type: number
description: Horizontal offset of the shadow
offset_y:
type: number
description: Vertical offset of the shadow
blur_radius:
type: number
description: Blur radius of the shadow
spread:
type: number
description: Spread of the shadow
color:
$ref: "#/components/schemas/ColorData"
example:
$ref: "#/components/examples/layerShadow"
LayerTextStyle:
title: Layer Text Style
type: object
properties:
range:
$ref: "#/components/schemas/LayerTextStyleRange"
style:
$ref: "#/components/schemas/TextStyleData"
example:
$ref: "#/components/examples/layerTextStyle"
LayerTextStyleRange:
title: Layer Text Style Range
type: object
properties:
location:
type: number
description: Start of the range
length:
type: number
description: Length of the range
example:
$ref: "#/components/examples/layerTextStyle"
Asset:
title: Asset
type: object
description: >
Assets are automatically generated while exporting designs based on the
platform the design is exported. Asset formats and densities change
according to these platforms.
Platform | Formats
---|---|---
Base | PNG (1.0, 1.5, 2.0, 3.0, 4.0), and PDF
Web | PNG (1.0, 2.0, 3.0), SVG, and JPG (bitmap image)
iOS | PNG (1.0, 2.0, 3.0), and PDF
Android | PNG (1.0, 1.5, 2.0, 3.0, 4.0), and SVG
required:
- display_name
- contents
properties:
layer_source_id:
type: string
description: Layer's identifier in the design tool
display_name:
type: string
description: Display name of the asset
layer_name:
type: string
description: Name of the layer containing the asset
contents:
type: array
items:
$ref: "#/components/schemas/AssetContent"
example:
$ref: "#/components/examples/asset"
AssetContent:
title: Asset Content
type: object
required:
- url
- format
properties:
url:
type: string
description: URL of the asset content
format:
type: string
description: Format of the asset content
enum:
- png
- jpg
- svg
- pdf
density:
type: number
description: Density of the asset content
enum:
- 1
- 1.5
- 2
- 3
- 4
example:
$ref: "#/components/examples/assetContent"
EntityReference:
title: Object Reference
type: object
required:
- id
properties:
id:
type: string
description: Id of the entity
example:
$ref: "#/components/examples/entityReference"
ErrorResponse:
title: Error Response
type: object
required:
- message
properties:
message:
type: string
description: A user readable descriptive message for the error
detail:
type: string
description: A detailed message describing the error
code:
type: string
description: The unique code for the error
example:
$ref: "#/components/examples/error"
ScreenNoteComment:
title: Screen Note Comment
type: object
required:
- id
- content
- author
- updated
- reactions
properties:
id:
type: string
description: Unique id of the comment
content:
type: string
description: Content of the comment
author:
$ref: "#/components/schemas/User"
updated:
type: integer
format: timestamp
description: The unix timestamp when the comment was updated
reactions:
type: array
description: Reactions to the comment
items:
$ref: "#/components/schemas/Reaction"
screen_version_id:
type: string
description: The version of the screen this comment is associated with
example:
$ref: "#/components/examples/screenNoteComment"
UserWebhook:
title: User Webhook
type: object
required:
- id
- url
- status
- url_health
- created
- updated
- created_by
- updated_by
- events
- project_ids
- styleguide_ids
properties:
id:
type: string
description: The unique id of the webhook
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
status:
$ref: "#/components/schemas/WebhookStatusEnum"
url_health:
$ref: "#/components/schemas/WebhookHealthEnum"
created:
type: number
description: The unix timestamp when the webhook was created
updated:
type: number
description: The unix timestamp when the webhook was updated
created_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that creates the webhook
updated_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that updates the webhook recently
zeplin_app:
allOf:
- $ref: "#/components/schemas/ZeplinApplication"
- description: The app that uses and manages the webhook
events:
type: array
items:
$ref: "#/components/schemas/UserWebhookEventEnum"
minItems: 1
uniqueItems: true
description: The events of the webhook
project_ids:
type: array
items:
type: string
uniqueItems: true
description: "The project ids of the webhooks. Note: `*` wildcard denotes all
project_ids"
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: "The styleguide ids of the webhooks. Note: `*` wildcard denotes all
styleguide_ids"
example:
$ref: "#/components/examples/webhook"
OrganizationWebhook:
title: Organization Webhook
type: object
required:
- id
- url
- status
- url_health
- created
- updated
- created_by
- updated_by
- events
- project_ids
- styleguide_ids
properties:
id:
type: string
description: The unique id of the webhook
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
status:
$ref: "#/components/schemas/WebhookStatusEnum"
url_health:
$ref: "#/components/schemas/WebhookHealthEnum"
created:
type: number
description: The unix timestamp when the webhook was created
updated:
type: number
description: The unix timestamp when the webhook was updated
created_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that creates the webhook
updated_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that updates the webhook recently
zeplin_app:
allOf:
- $ref: "#/components/schemas/ZeplinApplication"
- description: The app that uses and manages the webhook
events:
type: array
items:
$ref: "#/components/schemas/OrganizationWebhookEventEnum"
minItems: 1
uniqueItems: true
description: The events of the webhook
project_ids:
type: array
items:
type: string
uniqueItems: true
description: "The project ids of the webhooks. Note: `*` wildcard denotes all
project_ids"
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: "The styleguide ids of the webhooks. Note: `*` wildcard denotes all
styleguide_ids"
example:
$ref: "#/components/examples/webhook"
ProjectWebhook:
title: Project Webhook
type: object
required:
- id
- url
- status
- url_health
- created
- updated
- created_by
- updated_by
- events
properties:
id:
type: string
description: The unique id of the webhook
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
status:
$ref: "#/components/schemas/WebhookStatusEnum"
url_health:
$ref: "#/components/schemas/WebhookHealthEnum"
created:
type: number
description: The unix timestamp when the webhook was created
updated:
type: number
description: The unix timestamp when the webhook was updated
created_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that creates the webhook
updated_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that updates the webhook recently
zeplin_app:
allOf:
- $ref: "#/components/schemas/ZeplinApplication"
- description: The app that uses and manages the webhook
events:
type: array
items:
$ref: "#/components/schemas/ProjectWebhookEventEnum"
minItems: 1
uniqueItems: true
description: The events of the webhook
example:
$ref: "#/components/examples/projectWebhook"
StyleguideWebhook:
title: Styleguide Webhook
type: object
required:
- id
- url
- status
- url_health
- created
- updated
- created_by
- updated_by
- events
properties:
id:
type: string
description: The unique id of the webhook
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
status:
$ref: "#/components/schemas/WebhookStatusEnum"
url_health:
$ref: "#/components/schemas/WebhookHealthEnum"
created:
type: number
description: The unix timestamp when the webhook was created
updated:
type: number
description: The unix timestamp when the webhook was updated
created_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that creates the webhook
updated_by:
allOf:
- $ref: "#/components/schemas/User"
- description: The user that updates the webhook recently
zeplin_app:
allOf:
- $ref: "#/components/schemas/ZeplinApplication"
- description: The app that uses and manages the webhook
events:
type: array
items:
$ref: "#/components/schemas/StyleguideWebhookEventEnum"
minItems: 1
uniqueItems: true
description: The events of the webhook
example:
$ref: "#/components/examples/styleguideWebhook"
ZeplinApplication:
title: Zeplin Application
type: object
required:
- id
- name
properties:
id:
type: string
description: The unique id of the app
name:
type: string
description: The name of the app
description:
type: string
description: The description of the app
website:
type: string
description: The website of the app
logo:
type: string
description: The logo of the app
example:
$ref: "#/components/examples/zeplinApplication"
Thumbnails:
title: Thumbnails
description: Thumbnail image URLs in various sizes. The aspect ratio of the
original image is preserved. If the width of original image is lower
than the desired width then the original width is used.
type: object
required:
- small
- medium
- large
properties:
small:
type: string
description: URL of the thumbnail image with a width of at most 256 pixels
medium:
type: string
description: URL of the thumbnail image with a width of at most 512 pixels
large:
type: string
description: URL of the thumbnail image with a width of at most 1024 pixels
example:
$ref: "#/components/examples/thumbnails"
Notification:
title: Notification
description: >
Notification objects have a polymorphic structure. They can be of
various types and each type has a certain set of actions that describe
the notification further.
Notification content (specifically `resource` and `context` fields) varies based on the value of type field. These variations and their details are described in the table below.
Type | Actions | Context | Resource | Description
--| --| --| --| --
`workspace.project` | `activated`
`archived`
`deleted`
`ownership_transferred` | - | `Project (extra: { name, platform })` | Used for changes related to projects in a workspace.
`workspace.styleguide` | `activated`
`archived`
`deleted`
`ownership_transferred` | - | `Styleguide (extra: { name, platform })` | Used for changes related to styleguides in a workspace.
`workspace.organization.member` | `role_updated`
`invited` | `Organization (extra: { name })` | `OrganizationMember (extra: { role })` | Used for changes related to members of a workspace.
`project.screen` | `created`
`version_created`
`deleted` | `Project (extra: { name, platform })`
`ScreenVersion (extra: { image_url, thumbnails, width, height })` | `Screen (extra: { name })` | Used for changes related to screens in a project.
`project.screen.note` | `created`
`mentioned` | `Project (extra: { name, platform })`
`Screen (extra: { name })`
`ScreenNoteComment (extra: { content })` | `Screen (extra: { order, color, status })` | Used for changes related to notes.
`project.screen.note.comment` | `created`
`mentioned` | `Project (extra: { name, platform })`
`Screen (extra: { name })`
`Screen (extra: { order, color, status })` | `ScreenNoteComment (extra: { content })` | Used for changes related to note comments.
`project.color` | `created`
`updated`
`deleted` | `Project (extra: { name, platform })` | `Color (extra: { name, r, g, b, a })` | Used for changes related to colors in a project.
`project.text_style` | `created`
`updated`
`deleted` | `Project (extra: { name, platform })` | `TextStyle (extra: { name })` | Used for changes related to text styles in a project.
`project.component` | `created`
`version_created`
`deleted` | `Project (extra: { name, platform })` | `Component (extra: { name })` | Used for changes related to components in a project.
`project.spacing_token` | `created`
`updated`
`deleted` | `Project (extra: { name, platform })` | `SpacingToken (extra: { name, value })` | Used for changes related to spacing tokens in a project.
`project.member` | `joined` | `Project (extra: { name, platform })` | | Used for changes related to members of a project.
`project.extension` | `added`
`removed` | `Project (extra: { name, platform })` | `Extension (extra: { name })` | Used for changes related to extensions in a project.
`project.slack_integration` | `added` | `Project (extra: { name, platform })` | `SlackIntegration (extra: { channel })` | Used for changes related to slack intgrations in a project.
`project.jira_attachment` | `added`
`removed` | `Project (extra: { name, platform })` | `JiraIntegration (extra: { issue })` | Used for changes related to jira attachments in a project.
`project.screen.jira_attachment` | `added`
`removed` | `Project (extra: { name, platform })`
`Screen (extra: { name })` | `JiraIntegration (extra: { issue })` | Used for changes related to jira attachments in a screen.
`project.screen_section.jira_attachment` | `added`
`removed` | `Project (extra: { name, platform })`
`ScreenSection (extra: { name })` | `JiraIntegration (extra: { issue })` | Used for changes related to jira attachments in a screen section.
`project.flow_board` | `added` | `Project (extra: { name, platform })` | `FlowBoard (extra: {})` | Used for changes related to flow boards in a project.
`styleguide.color` | `created`
`updated`
`deleted` | `Styleguide (extra: { name, platform })` | `Color (extra: { name, r, g, b, a })` | Used for changes related to colors in a styleguide.
`styleguide.text_style` | `created`
`updated`
`deleted` | `Styleguide (extra: { name, platform })` | `TextStyle (extra: { name })` | Used for changes related to text styles in a styleguide.
`styleguide.component` | `created`
`version_created`
`deleted` | `Styleguide (extra: { name, platform })` | `Component (extra: { name })` | Used for changes related to components in a styleguide.
`styleguide.spacing_token` | `created`
`updated`
`deleted` | `Styleguide (extra: { name, platform })` | `SpacingToken (extra: { name, value })` | Used for changes related to spacing tokens in a styleguide.
`styleguide.member` | `joined` | `Styleguide (extra: { name, platform })` | `User (extra: { username })` | Used for changes related to members of a styleguide.
`styleguide.extension` | `added`
`removed` | `Styleguide (extra: { name, platform })` | `Extension (extra: { name })` | Used for changes related to extensions in a styleguide.
`styleguide.slack_integration` | `added` | `Styleguide (extra: { name, platform })` | `SlackIntegration (extra: { channel })` | Used for changes related to slack intgrations in a styleguide.
`user.project_membership` | `invited`
`role_updated`
`removed` | - | `Project (extra: { name, platform })` | Used for changes related to notified user's membership to projects.
`user.styleguide_membership` | `invited`
`role_updated`
`removed` | - | `Styleguide (extra: { name, platform })` | Used for changes related to notified user's membership to styleguides.
type: object
required:
- id
- type
- is_read
- action
- created
- updated
- context
- actor
properties:
id:
type: string
description: The unique id of the notification
type:
allOf:
- $ref: "#/components/schemas/NotificationTypeEnum"
- description: Type of the notification
is_read:
type: boolean
description: Whether the notification is read or not
action:
type: string
description: Action that causes the notification
created:
type: integer
format: timestamp
description: The unix timestamp when the screen was created
updated:
type: integer
format: timestamp
description: The unix timestamp when the screen was updated
resource:
$ref: "#/components/schemas/NotificationResource"
context:
type: object
description: "Additional objects which are related to the main resource object.
The content of this object changes depending on the `type` field
(e.g. `{ project: { ... }, screen: { ... } }` for a screen related
notification)."
actor:
$ref: "#/components/schemas/NotificationActor"
example:
$ref: "#/components/examples/notification"
NotificationActor:
title: Notification Actor
type: object
description: The actor of the change triggering this notification
required:
- user
properties:
user:
$ref: "#/components/schemas/User"
description: User object
example:
$ref: "#/components/examples/notificationActor"
NotificationResource:
title: Notification Resource
type: object
description: The main object that this notification is related. It contains the
ID of the object along with its type and partial data. The content of
this object varies between notification types.
required:
- id
- type
- extra
properties:
id:
type: string
description: The unique id of the resource (e.g. `"5ed05ecf3356a7967b21f12b"`)
type:
type: string
description: Type of the object, which is one of the API models (e.g.
`"ScreenVersion"`)
extra:
type: object
description: Partial data of the resource, whose content changes depending on
the `type` field
example:
$ref: "#/components/examples/notificationResource"
WorkflowStatus:
title: Workflow Status
type: object
required:
- id
- name
- color
properties:
id:
type: string
description: The unique id of the workflow status
name:
type: string
description: The name of the workflow status
color:
$ref: "#/components/schemas/WorkflowStatusColor"
example:
$ref: "#/components/examples/workflowStatus"
WorkflowStatusColor:
title: Workflow Status Color
type: object
required:
- name
- r
- g
- b
- a
properties:
name:
type: string
description: The name of the color
r:
type: integer
description: red component of the color
g:
type: integer
description: green component of the color
b:
type: integer
description: blue component of the color
a:
type: number
description: alpha component of the color
example:
$ref: "#/components/examples/workflowStatusColor"
Link:
title: Link
type: object
required:
- rect
- destination
properties:
rect:
$ref: "#/components/schemas/HotspotBoundingRectangle"
description: Bounding rectangle of the link's hotspot
destination:
$ref: "#/components/schemas/LinkDestination"
example:
$ref: "#/components/examples/link"
LinkDestination:
title: Link Destination
type: object
required:
- name
- type
properties:
name:
type: string
type:
type: string
enum:
- component
- previous
description: Type of the link (`component` or `previous`)
example:
$ref: "#/components/examples/linkDestination"
Grid:
title: Grid
type: object
properties:
horizontal_offset:
type: number
vertical_offset:
type: number
vertical:
$ref: "#/components/schemas/VerticalGrid"
horizontal:
$ref: "#/components/schemas/HorizontalGrid"
example:
$ref: "#/components/examples/grid"
VerticalGrid:
title: Vertical Grid
type: object
required:
- gutter_width
- column_width
- number_of_cols
- gutters_on_outside
properties:
gutter_width:
type: number
column_width:
type: number
number_of_cols:
type: number
gutters_on_outside:
type: boolean
example:
$ref: "#/components/examples/verticalGrid"
HorizontalGrid:
title: Horizontal Grid
type: object
required:
- gutter_height
- row_height
properties:
gutter_height:
type: number
row_height:
type: number
number_of_rows:
type: number
example:
$ref: "#/components/examples/horizontalGrid"
ColorDesignToken:
type: object
title: Color Design Token
required:
- value
- metadata
properties:
value:
type: string
description: The value of color token in `rgb(r, g, b)` or `rgba(r, g, b, a)`
format.
metadata:
$ref: "#/components/schemas/ColorDesignTokenMetadata"
example:
$ref: "#/components/examples/colorDesignToken"
ColorDesignTokenMetadata:
type: object
title: Color Design Token Metadata
required:
- source
- resource
properties:
source:
$ref: "#/components/schemas/DesignTokenSource"
description: Source of the design token–either `project` or `styleguide`.
resource:
$ref: "#/components/schemas/DesignTokenResource"
description: Details of the `Color` object that the design token is generated
from.
description: Additional information about the color token
example:
$ref: "#/components/examples/colorDesignTokenMetadata"
ColorDesignTokens:
title: Color Design Tokens
type: object
description: Color tokens
additionalProperties:
description: Color tokens
$ref: "#/components/schemas/ColorDesignToken"
example:
$ref: "#/components/examples/colorDesignTokens"
SpacingDesignToken:
type: object
title: Spacing Design Token
required:
- value
- metadata
properties:
value:
type: number
description: The value of the token
metadata:
$ref: "#/components/schemas/SpacingDesignTokenMetadata"
example:
$ref: "#/components/examples/spacingDesignToken"
SpacingDesignTokenMetadata:
title: Spacing Design Token Metadata
description: Additional information about the spacing token
type: object
required:
- source
- resource
- spacing_section
properties:
source:
$ref: "#/components/schemas/DesignTokenSource"
description: Source of the design token–either `project` or `styleguide`.
resource:
$ref: "#/components/schemas/DesignTokenResource"
description: Details of the `SpacingToken` object that the design token is
generated from.
spacing_section:
$ref: "#/components/schemas/EntityReference"
description: The reference of the spacing section the spacing token belongs to.
example:
$ref: "#/components/examples/spacingDesignTokenMetadata"
SpacingDesignTokens:
title: Spacing Design Tokens
type: object
description: Spacing tokens
additionalProperties:
description: Spacing tokens
$ref: "#/components/schemas/SpacingDesignToken"
example:
$ref: "#/components/examples/spacingDesignTokens"
TextStyleDesignToken:
type: object
title: Text Style Design Token
required:
- value
- metadata
properties:
value:
$ref: "#/components/schemas/TextStyleDesignTokenValue"
metadata:
$ref: "#/components/schemas/TextStyleDesignTokenMetadata"
example:
$ref: "#/components/examples/textStyleDesignToken"
TextStyleDesignTokenMetadata:
title: Text Style Design Token Metadata
type: object
description: Additional information about the text style token
required:
- source
- resource
properties:
source:
$ref: "#/components/schemas/DesignTokenSource"
description: Source of the design token–either `project` or `styleguide`.
resource:
$ref: "#/components/schemas/DesignTokenResource"
description: Details of the `TextStyle` object that the design token is
generated from.
example:
$ref: "#/components/examples/textStyleDesignTokenMetadata"
TextStyleDesignTokenValue:
title: Text Style Design Token Value
type: object
description: Value of the token
required:
- font
properties:
letter_spacing:
type: number
description: Spacing between letters
line_height:
type: number
description: Minimum height of a line for the text style
alignment:
type: string
description: Horizontal alignment of the text style, `left`, `right`, `center`,
or `justify`
font:
$ref: "#/components/schemas/DesignTokenFont"
color:
type: string
description: >
The value of color in `rgb(r, g, b)` or `rgba(r, g, b, a)` format
for the text style.
☝️*If there's a matching color token for the text style's color, the color token's value is returned as a reference, e.g. `{$colors.light-yellow.value}`.*
example:
$ref: "#/components/examples/textStyleDesignTokenValue"
TextStyleDesignTokens:
title: Text Style Design Tokens
type: object
description: Text style tokens
additionalProperties:
description: Text style tokens
$ref: "#/components/schemas/TextStyleDesignToken"
example:
$ref: "#/components/examples/textStyleDesignToken"
DesignTokenResource:
title: Design Token Resouce
type: object
description: Details of the resource that the design token is generated from.
required:
- id
- type
properties:
id:
type: string
description: The unique id of the resource
type:
type: string
enum:
- Color
- TextStyle
- SpacingToken
description: The type of the resource
example:
$ref: "#/components/examples/designTokenResource"
DesignTokenProject:
title: Design Token Project
type: object
description: The source project of the token
required:
- id
- name
- platform
properties:
id:
type: string
description: The unique id of the source project
name:
type: string
description: The name of the source project
platform:
type: string
enum:
- web
- ios
- android
- macos
description: The target platform of the source project
linked_styleguide:
$ref: "#/components/schemas/EntityReference"
description: Reference of the styleguide which the source project is linked to
example:
$ref: "#/components/examples/designTokenProject"
DesignTokenFont:
title: Design Token Font
type: object
description: Font information for the text style
required:
- family
- size
- weight
- stretch
properties:
family:
type: string
description: Font family of the text style, e.g. `Roboto`, `Arial`
size:
type: number
description: Font size of the text style
weight:
type: number
description: Font weight of the text style, e.g. `500`, `700`
stretch:
type: number
description: Font stretch form of the text style, e.g. `0.75`, `1.00`
example:
$ref: "#/components/examples/designTokenFont"
DesignTokenSource:
title: Design Token Source
type: object
description: Source details for design token. It has to be either `project` or
`styleguide`.
properties:
project:
$ref: "#/components/schemas/DesignTokenProject"
styleguide:
$ref: "#/components/schemas/DesignTokenStyleguide"
example:
$ref: "#/components/examples/designTokenSourceForProject"
x-examples:
Project:
$ref: "#/components/examples/designTokenSourceForProject"
Styleguide:
$ref: "#/components/examples/designTokenSourceForStyleguide"
DesignTokenStyleguide:
title: Design Token Styleguide
type: object
description: The source styleguide of the token
required:
- id
- name
- platform
properties:
id:
type: string
description: The unique id of the source styleguide
name:
type: string
description: The name of the source styleguide
platform:
type: string
enum:
- base
- web
- ios
- android
- macos
description: The target platform of the source styleguide
parent:
$ref: "#/components/schemas/EntityReference"
description: Reference of the parent styleguide of the source styleguide
example:
$ref: "#/components/examples/designTokenStyleguide"
DesignTokens:
title: Design Tokens
type: object
required:
- colors
- text_styles
- spacing
properties:
colors:
$ref: "#/components/schemas/ColorDesignTokens"
spacing:
$ref: "#/components/schemas/SpacingDesignTokens"
text_styles:
$ref: "#/components/schemas/TextStyleDesignTokens"
example:
$ref: "#/components/examples/projectDesignTokens"
x-examples:
Project Design Tokens:
$ref: "#/components/examples/projectDesignTokens"
Styleguide Design Tokens:
$ref: "#/components/examples/styleguideDesignTokens"
ResourceSource:
title: Resource Source
type: object
description: Source details for resource. It has to be either `project` or
`styleguide`.
properties:
project:
$ref: "#/components/schemas/ResourceProjectSource"
styleguide:
$ref: "#/components/schemas/ResourceStyleguideSource"
example:
$ref: "#/components/examples/resourceSourceForProject"
x-examples:
Project:
$ref: "#/components/examples/resourceSourceForProject"
Styleguide:
$ref: "#/components/examples/resourceSourceForStyleguide"
ResourceProjectSource:
title: Source Project
type: object
description: The source project of the resource
required:
- id
- name
- platform
properties:
id:
type: string
description: The unique id of the source project
name:
type: string
description: The name of the source project
platform:
type: string
enum:
- web
- ios
- android
- macos
description: The target platform of the source project
linked_styleguide:
$ref: "#/components/schemas/EntityReference"
description: Reference of the styleguide which the source project is linked to
example:
$ref: "#/components/examples/resourceProjectSource"
ResourceStyleguideSource:
title: Source Styleguide
type: object
description: The source styleguide of the resource
required:
- id
- name
- platform
properties:
id:
type: string
description: The unique id of the source styleguide
name:
type: string
description: The name of the source styleguide
platform:
type: string
enum:
- base
- web
- ios
- android
- macos
description: The target platform of the source styleguide
parent:
$ref: "#/components/schemas/EntityReference"
description: Reference of the parent styleguide of the source styleguide
example:
$ref: "#/components/examples/resourceStyleguideSource"
ConnectedComponent:
title: Connected Component
type: object
required:
- components
- links
properties:
components:
description: Components that are connected
type: array
items:
$ref: "#/components/schemas/EntityReference"
file_path:
type: string
description: File path of the connected component from the source code
name:
type: string
description: Name of the connected component
description:
type: string
description: Description of the connected component
code:
$ref: "#/components/schemas/Code"
links:
type: array
description: Links of the connected component
items:
$ref: "#/components/schemas/ConnectedComponentLink"
source:
$ref: "#/components/schemas/ResourceSource"
example:
$ref: "#/components/examples/connectedComponent"
ConnectedComponentLink:
title: Connected Component Link
type: object
required:
- type
- url
properties:
type:
type: string
description: Type of the link
enum:
- custom
- github
- gitlab
- bitbucket
- storybook
- styleguidist
url:
type: string
description: Url of the link
name:
type: string
description: Name for custom links
example:
$ref: "#/components/examples/connectedComponentLink"
x-examples:
Link:
$ref: "#/components/examples/connectedComponentLink"
Custom Link:
$ref: "#/components/examples/connectedComponentCustomLink"
Code:
title: Code
type: object
required:
- snippet
properties:
snippet:
type: string
description: The code snippet
language:
$ref: "#/components/schemas/LanguageEnum"
example:
$ref: "#/components/examples/code"
LanguageEnum:
title: Language
description: Programming language
type: string
enum:
- markup
- html
- xml
- svg
- css
- clike
- javascript
- actionscript
- c
- cs
- cpp
- coffeescript
- dart
- ejs
- elm
- erb
- flow
- ftl
- handlebars
- java
- kotlin
- less
- livescript
- markdown
- objectivec
- php
- pug
- python
- r
- jsx
- tsx
- sass
- scss
- scala
- swift
- ts
- velocity
- yaml
SourceEnum:
title: Source
type: string
description: Source application of the design
enum:
- sketch
- xd
- figma
- psd
- bitmap
WebhookStatusEnum:
title: Webhook Status
type: string
enum:
- active
- inactive
description: The status of the webhook
ProjectStatusEnum:
title: Project Status
type: string
enum:
- active
- archived
description: The status of the project
StyleguideStatusEnum:
title: Styleguide Status
type: string
enum:
- active
- archived
description: The status of the styleguide
WebhookHealthEnum:
title: Webhook Health
type: string
enum:
- healthy
- unhealthy
description: The health of a webhook URL
ScreenNoteStatusEnum:
title: Screen Note Status
type: string
enum:
- open
- resolved
description: Status of the note
ScreenNoteColorNameEnum:
title: Screen Note Color Name
type: string
enum:
- yellow
- orange
- peach
- green
- turquoise
- cornflower_blue
- deep_purple
ScreenAnnotationNoteTypeEnum:
title: Note Types
type: string
enum:
- Behavior
- Requirement
- Animation
- Accessibility
- API
- Tracking
description: Type of the annotation note
BlendModeEnum:
title: Blend Mode
type: string
enum:
- normal
- darken
- multiply
- color-burn
- lighten
- screen
- color-dodge
- overlay
- soft-light
- hard-light
- difference
- exclusion
- hue
- saturation
- color
- luminosity
- source-in
- source-out
- source-atop
- destination-over
- destination-in
- destination-out
- destination-atop
- dissolve
- linear-burn
- linear-dodge
- darker-color
- lighter-color
- vivid-light
- linear-light
- pin-light
- hard-mix
- subtract
- divide
ProjectWebhookEventEnum:
title: Project Webhook Event Type
type: string
enum:
- project.*
- project.color
- project.component
- project.member
- project.note
- project.note.comment
- project.note.comment.reaction
- project.screen
- project.screen.version
- project.spacing_token
- project.text_style
- project.flow_board
StyleguideWebhookEventEnum:
title: Styleguide Webhook Event Type
type: string
enum:
- styleguide.*
- styleguide.color
- styleguide.component
- styleguide.member
- styleguide.spacing_token
- styleguide.text_style
OrganizationWebhookEventEnum:
title: Organization Webhook Event Type
type: string
enum:
- "*"
- project.*
- project.color
- project.component
- project.member
- project.note
- project.note.comment
- project.note.comment.reaction
- project.screen
- project.screen.version
- project.spacing_token
- project.text_style
- styleguide.*
- styleguide.color
- styleguide.component
- styleguide.member
- styleguide.spacing_token
- styleguide.text_style
- workspace.*
- workspace.project
- workspace.styleguide
- workspace.organization
- workspace.organization.member
UserWebhookEventEnum:
title: User Webhook Event Type
type: string
enum:
- "*"
- project.*
- project.color
- project.component
- project.member
- project.note
- project.note.comment
- project.note.comment.reaction
- project.screen
- project.screen.version
- project.spacing_token
- project.text_style
- styleguide.*
- styleguide.color
- styleguide.component
- styleguide.member
- styleguide.spacing_token
- styleguide.text_style
- workspace.*
- workspace.notification
- workspace.project
- workspace.styleguide
NotificationTypeEnum:
title: Notification Type
type: string
enum:
- workspace.project
- workspace.styleguide
- project.extension
- styleguide.extension
- user.project_membership
- user.styleguide_membership
- project.component
- styleguide.component
- project.color
- styleguide.color
- project.screen.note
- project.screen.note.comment
- project.screen
- project.text_style
- styleguide.text_style
- project.spacing_token
- styleguide.spacing_token
- project.jira_attachment
- project.screen_section.jira_attachment
- project.screen.jira_attachment
- workspace.organization.member
- project.slack_integration
- styleguide.slack_integration
- project.member
- styleguide.member
- project.flow_board
VariableValueTypeEnum:
title: Source
type: string
description: Variable value types
enum:
- color
ColorUpdateBody:
title: Color Update Body
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
description: Name of the color
r:
type: integer
minimum: 0
maximum: 255
description: Red component of the color
g:
type: integer
minimum: 0
maximum: 255
description: Green component of the color
b:
type: integer
minimum: 0
maximum: 255
description: Blue component of the color
a:
type: number
minimum: 0
maximum: 1
description: Alpha component of the color
ColorCreateBody:
title: Color Create Body
required:
- name
- r
- g
- b
- a
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
description: Name of the color
source_id:
type: string
description: Color's identifier in the design tool
r:
type: integer
minimum: 0
maximum: 255
description: Red component of the color
g:
type: integer
minimum: 0
maximum: 255
description: Green component of the color
b:
type: integer
minimum: 0
maximum: 255
description: Blue component of the color
a:
type: number
minimum: 0
maximum: 1
description: Alpha component of the color
CommentCreateBody:
title: Comment Create Body
type: object
properties:
content:
type: string
description: Content of the comment
required:
- content
CommentUpdateBody:
title: Comment Update Body
type: object
properties:
content:
type: string
description: Content of the comment
required:
- content
ComponentUpdateBody:
title: Component Update Body
required:
- description
type: object
properties:
description:
type: string
description: New description for component
TokenCreateBody:
title: Token Create Body
discriminator:
propertyName: grant_type
mapping:
authorization_code: "#/components/schemas/TokenCreateAuthorizationCodeBody"
refresh_token: "#/components/schemas/TokenCreateRefreshTokenBody"
oneOf:
- $ref: "#/components/schemas/TokenCreateAuthorizationCodeBody"
- $ref: "#/components/schemas/TokenCreateRefreshTokenBody"
TokenCreateAuthorizationCodeBody:
title: Authorization code flow
type: object
required:
- grant_type
- code
- redirect_uri
- client_id
properties:
grant_type:
type: string
enum:
- authorization_code
code:
type: string
description: Applies when `grant_type` is `authorization_code`. The `code`
obtained after `authorization` request
redirect_uri:
type: string
description: The URL where users will be redirected after authorization
client_id:
type: string
description: The `client_id` of your Zeplin app
client_secret:
type: string
description: >
The `client_secret` of your Zeplin app
**Note**: `client_secret` is required for `code` values obtained without using a PKCE `code_challenge` value.
**Warning**: `client_secret` property should only be used in a server-side application.
If your Zeplin app is a public client, you should use PKCE authorization flow.
code_verifier:
type: string
description: A cryptographically random string that is used to correlate the
authorization request to the token request
TokenCreateRefreshTokenBody:
title: Refresh token flow
type: object
required:
- grant_type
- refresh_token
- client_id
properties:
grant_type:
type: string
enum:
- refresh_token
refresh_token:
type: string
description: Applies when `grant_type` is `refresh_token`. The `refresh_token`
you obtained while generating the access token in the first place
client_id:
type: string
description: The `client_id` of your Zeplin app
client_secret:
type: string
description: >
The `client_secret` of your Zeplin app
**Note**: `client_secret` is required for `code` values obtained without using a PKCE `code_challenge` value.
**Warning**: `client_secret` property should only be used in a server-side application.
If your Zeplin app is a public client, you should use PKCE authorization flow.
code_verifier:
type: string
description: A cryptographically random string that is used to correlate the
authorization request to the token request
OrganizationMemberInviteBody:
title: Organization Member Invite Body
type: object
properties:
handle:
type: string
description: Email, username or unique identifier of the user
tags:
type: array
uniqueItems: true
items:
type: string
description: Tags of the user in the organization
role:
type: string
enum:
- admin
- editor
- member
- alien
description: >
The role of the user in the organization
☝️Note that the Developer role maps to `member` and the Reviewer role maps to `alien` in the API.
restricted:
type: boolean
description: Whether the user's membership is restricted to only the projects
that they are member of
required:
- handle
- role
- restricted
OrganizationMemberUpdateBody:
title: Organization Member Update Body
type: object
properties:
tags:
type: array
uniqueItems: true
items:
type: string
description: Tags of the user in the organization
role:
type: string
enum:
- admin
- editor
- member
- alien
description: >
The role of the user in the organization
☝️Note that the Developer role maps to `member` and the Reviewer role maps to `alien` in the API.
restricted:
type: boolean
description: Whether the user's membership is restricted to only the
ProjectMemberInviteBody:
title: Project Member Invite Body
type: object
properties:
handle:
type: string
description: |
Email, username or unique identifier of the user
Can also be `"me"` for joining the project as the current user
required:
- handle
StyleguideMemberInviteBody:
title: Styleguide Member Invite Body
type: object
properties:
handle:
type: string
description: |
Email, username or unique identifier of the user
Can also be `"me"` for joining the styleguide as the current user
required:
- handle
ScreenCreateBody:
title: Screen Create Body
type: object
properties:
name:
type: string
description: Name of the screen
image:
type: string
format: binary
description: >
Binary data of the screen image.
The image has to be in JPEG or PNG format, and its size cannot exceed 5MB.
x-valid-types:
- jpeg
- png
description:
type: string
description: Description for the screen
commit_message:
type: string
description: Commit message for the screen version
commit_color:
type: string
enum:
- yellow
- orange
- peach
- green
- turquoise
description: Commit color for the screen version
tags:
type: array
items:
type: string
description: Tags for the screen
section_id:
type: string
description: Unique id of the screen section
required:
- name
- image
ScreenVersionCreateBody:
title: Screen Version Create Body
type: object
properties:
image:
type: string
format: binary
description: >
Binary data of the screen image.
The image has to be in JPEG or PNG format, and its size cannot exceed 5MB.
x-valid-types:
- jpeg
- png
commit_message:
type: string
description: Commit message for the screen version
commit_color:
type: string
enum:
- yellow
- orange
- peach
- green
- turquoise
description: Commit color for the screen version
required:
- image
ScreenNoteCreateBody:
title: Screen Note Create Body
type: object
properties:
content:
type: string
description: Content of the first comment of the note
position:
title: position
$ref: "#/components/schemas/ScreenNotePosition"
color:
$ref: "#/components/schemas/ScreenNoteColorNameEnum"
required:
- content
- position
- color
ScreenNoteUpdateBody:
title: Screen Note Update Body
type: object
properties:
status:
title: status
$ref: "#/components/schemas/ScreenNoteStatusEnum"
position:
title: position
$ref: "#/components/schemas/ScreenNotePosition"
color:
title: color
$ref: "#/components/schemas/ScreenNoteColorNameEnum"
ScreenAnnotationCreateBody:
title: Screen Annotation Create Body
type: object
properties:
content:
type: string
description: Content of the annotation
position:
$ref: "#/components/schemas/ScreenAnnotationPosition"
type:
type: string
description: The unique id of the annotation type
required:
- content
- position
ScreenAnnotationUpdateBody:
title: Screen Annotation Update Body
type: object
properties:
content:
type: string
description: Content of the annotation
position:
$ref: "#/components/schemas/ScreenAnnotationPosition"
type:
type: string
description: The unique id of the annotation type
SpacingTokenUpdateBody:
title: Spacing Token Update Body
type: object
properties:
name:
type: string
description: The name of the token
value:
type: number
description: The value of the token
OrganizationWebhookCreateBody:
title: Organization Webhook Create Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
allOf:
- $ref: "#/components/schemas/WebhookStatusEnum"
- default: active
project_ids:
type: array
items:
type: string
uniqueItems: true
description: The project ids of the webhook
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: The styleguide ids of the webhook
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/OrganizationWebhookEventEnum"
minItems: 1
description: The events of the webhook
required:
- events
- project_ids
- styleguide_ids
- url
- secret
OrganizationWebhookUpdateBody:
title: Organization Webhook Update Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
$ref: "#/components/schemas/WebhookStatusEnum"
project_ids:
type: array
items:
type: string
uniqueItems: true
description: The project ids of the webhook
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: The styleguide ids of the webhook
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/OrganizationWebhookEventEnum"
minItems: 1
description: The events of the webhook
ProjectWebhookCreateBody:
title: Project Webhook Create Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
allOf:
- $ref: "#/components/schemas/WebhookStatusEnum"
- default: active
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/ProjectWebhookEventEnum"
minItems: 1
description: The events of the webhook
required:
- events
- url
- secret
ProjectWebhookUpdateBody:
title: Project Webhook Update Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
$ref: "#/components/schemas/WebhookStatusEnum"
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/ProjectWebhookEventEnum"
minItems: 1
description: The events of the webhook
StyleguideWebhookCreateBody:
title: Styleguide Webhook Create Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
allOf:
- $ref: "#/components/schemas/WebhookStatusEnum"
- default: active
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/StyleguideWebhookEventEnum"
minItems: 1
description: The events of the webhook
required:
- events
- url
- secret
StyleguideWebhookUpdateBody:
title: Styleguide Webhook Update Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
$ref: "#/components/schemas/WebhookStatusEnum"
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/StyleguideWebhookEventEnum"
minItems: 1
description: The events of the webhook
UserWebhookCreateBody:
title: User Webhook Create Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
allOf:
- $ref: "#/components/schemas/WebhookStatusEnum"
- default: active
project_ids:
type: array
items:
type: string
uniqueItems: true
description: The project ids of the webhook
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: The styleguide ids of the webhook
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/UserWebhookEventEnum"
minItems: 1
description: The events of the webhook
required:
- events
- project_ids
- styleguide_ids
- url
- secret
UserWebhookUpdateBody:
title: User Webhook Update Body
type: object
properties:
url:
type: string
description: The URL of the webhook
name:
type: string
description: The name of the webhook
secret:
type: string
description: The secret to be used to generate signatures for webhook requests
status:
title: status
$ref: "#/components/schemas/WebhookStatusEnum"
project_ids:
type: array
items:
type: string
uniqueItems: true
description: The project ids of the webhook
styleguide_ids:
type: array
items:
type: string
uniqueItems: true
description: The styleguide ids of the webhook
events:
type: array
uniqueItems: true
items:
$ref: "#/components/schemas/UserWebhookEventEnum"
minItems: 1
description: The events of the webhook
NotificationUpdateBody:
title: Notifications Update Body
type: object
required:
- is_read
properties:
is_read:
type: boolean
description: New is_read status for notifications
ProjectUpdateBody:
title: Project Update Body
type: object
properties:
name:
type: string
description: New name for the project
description:
type: string
description: New description for the project
workflow_status_id:
type: string
description: Id of the new workflow status for the project
linked_styleguide_id:
type: string
nullable: true
description: The unique id of the styleguide to be linked. Set null to unlink
the linked styleguide.
ScreenUpdateBody:
title: Screen Update Body
type: object
properties:
description:
type: string
description: New description for screen
tags:
type: array
uniqueItems: true
items:
type: string
description: New tags for the screen
StyleguideUpdateBody:
title: Styleguide Update Body
type: object
properties:
name:
type: string
description: New name for the styleguide
description:
type: string
description: New description for the styleguide
linked_parent_styleguide_id:
type: string
nullable: true
description: The unique id of the styleguide to be linked as parent. Set null to
unlink the linked parent styleguide.
TextStyleUpdateBody:
title: Text Style Update Body
type: object
properties:
name:
type: string
description: Name of the text style
color:
title: color
$ref: "#/components/schemas/ColorData"
FlowBoard:
title: Flow Board
type: object
required:
- id
- name
- number_of_connectors
- number_of_nodes
- number_of_groups
properties:
id:
type: string
description: Identifier of the board
name:
type: string
description: Name of the board
number_of_connectors:
type: integer
description: Number of connectors in the board
number_of_nodes:
type: integer
description: Number of nodes in the board
number_of_groups:
type: integer
description: Number of groups in the board
example:
$ref: "#/components/examples/flowBoard"
FlowBoardGroup:
title: Flow Board Group
type: object
required:
- id
- created
- name
- color
properties:
id:
type: string
description: Identifier of the flow board group
created:
type: integer
format: timestamp
description: The unix timestamp when the color was created
name:
type: string
description: Name of the flow board
color:
$ref: "#/components/schemas/ColorData"
example:
$ref: "#/components/examples/flowBoardGroup"
FlowBoardConnector:
title: Flow Board Connector
type: object
required:
- id
- type
- start
- end
properties:
id:
type: string
description: The unique id of the connector
type:
type: string
enum:
- SolidLine
- DashedLine
start:
$ref: "#/components/schemas/FlowBoardConnection"
end:
$ref: "#/components/schemas/FlowBoardConnection"
label:
$ref: "#/components/schemas/FlowBoardConnectorLabel"
color:
type: string
enum:
- yellow
- orange
- peach
- green
- turquoise
description: Color for the connector
example:
$ref: "#/components/examples/flowBoardConnector"
FlowBoardConnectionPosition:
title: Flow Board Connection Position
type: object
required:
- dot_index
- side
properties:
dot_index:
type: number
side:
type: string
enum:
- left
- right
- bottom
- top
example:
$ref: "#/components/examples/flowBoardConnectionPosition"
FlowBoardConnection:
title: Flow Board Connection
type: object
required:
- node
properties:
node:
$ref: "#/components/schemas/EntityReference"
style:
type: string
enum:
- arrow
- point
layer_source_id:
type: string
description: Layer's identifier in the design tool
connection_position:
$ref: "#/components/schemas/FlowBoardConnectionPosition"
example:
$ref: "#/components/examples/flowBoardConnection"
FlowBoardConnectorLabel:
title: Flow Board Connector Label
type: object
required:
- text
properties:
text:
type: string
description: Text for the connector label
position:
type: number
description: Percentage based position of the connector label
width:
type: number
description: Width of the connector label
example:
$ref: "#/components/examples/flowBoardConnectorLabel"
FlowBoardNode:
title: Flow Board Node
discriminator:
propertyName: type
mapping:
ScreenNode: "#/components/schemas/FlowBoardScreenNode"
TextLabelNode: "#/components/schemas/FlowBoardTextNode"
VariantGroupNode: "#/components/schemas/FlowBoardVariantGroupNode"
ShapeNode: "#/components/schemas/FlowBoardShapeNode"
AnnotationNode: "#/components/schemas/FlowBoardAnnotationNode"
oneOf:
- $ref: "#/components/schemas/FlowBoardScreenNode"
- $ref: "#/components/schemas/FlowBoardTextNode"
- $ref: "#/components/schemas/FlowBoardVariantGroupNode"
- $ref: "#/components/schemas/FlowBoardShapeNode"
- $ref: "#/components/schemas/FlowBoardAnnotationNode"
x-examples:
Board Screen Node:
$ref: "#/components/examples/flowBoardScreenNode"
Board Text Node:
$ref: "#/components/examples/flowBoardTextNode"
Board Variant Group Node:
$ref: "#/components/examples/flowBoardVariantGroupNode"
Board Shape Node:
$ref: "#/components/examples/flowBoardShapeNode"
Board Annotation Node:
$ref: "#/components/examples/flowBoardAnnotationNode"
FlowBoardScreenNode:
title: Flow Board Screen Node
type: object
required:
- id
- type
- position
- screen
properties:
id:
type: string
description: The unique id of the screen node
type:
type: string
enum:
- ScreenNode
position:
$ref: "#/components/schemas/FlowBoardPosition"
screen:
$ref: "#/components/schemas/EntityReference"
example:
$ref: "#/components/examples/flowBoardScreenNode"
FlowBoardTextNode:
title: Flow Board Text Node
type: object
required:
- id
- type
- position
- text
- width
properties:
id:
type: string
description: The unique id of the text node
type:
type: string
enum:
- TextLabelNode
position:
$ref: "#/components/schemas/FlowBoardPosition"
text:
type: string
width:
type: number
example:
$ref: "#/components/examples/flowBoardTextNode"
FlowBoardShapeNode:
title: Flow Board Shape Node
type: object
required:
- id
- type
- shape_type
- position
- text
- width
- height
- color
properties:
id:
type: string
description: The unique id of the shape node
type:
type: string
enum:
- ShapeNode
shape_type:
type: string
enum:
- rectangle
- pill
- diamond
position:
$ref: "#/components/schemas/FlowBoardPosition"
text:
type: string
width:
type: number
height:
type: number
color:
$ref: "#/components/schemas/FlowBoardNodeColor"
example:
$ref: "#/components/examples/flowBoardShapeNode"
FlowBoardVariantGroupNode:
title: Flow Board Variant Group Node
type: object
required:
- id
- type
- position
- variant_group
- default_variant
properties:
id:
type: string
description: The unique id of the variant group node
type:
type: string
enum:
- VariantGroupNode
position:
$ref: "#/components/schemas/FlowBoardPosition"
variant_group:
$ref: "#/components/schemas/EntityReference"
default_variant:
$ref: "#/components/schemas/EntityReference"
example:
$ref: "#/components/examples/flowBoardVariantGroupNode"
FlowBoardAnnotationNode:
title: Flow Board Annotation Node
type: object
required:
- id
- type
- position
- width
- height
- color
- font_size
- font_type
- text
properties:
id:
type: string
description: The unique id of the screen node
type:
type: string
enum:
- AnnotationNode
position:
$ref: "#/components/schemas/FlowBoardPosition"
width:
type: number
height:
type: number
color:
$ref: "#/components/schemas/FlowBoardNodeColor"
font_size:
type: string
enum:
- small
- medium
- large
- xlarge
font_type:
type: string
enum:
- simple
- book-style
- technical
- handwritten
text:
type: string
description: The text content of the annotation
note_type:
$ref: "#/components/schemas/ScreenAnnotationNoteType"
example:
$ref: "#/components/examples/flowBoardAnnotationNode"
FlowBoardPosition:
title: Flow Board Position
type: object
required:
- x
- y
properties:
x:
type: number
y:
type: number
example:
$ref: "#/components/examples/flowBoardPosition"
FlowBoardNodeColor:
title: Flow Board Node Color
type: object
required:
- r
- g
- b
- a
properties:
r:
type: integer
description: Red component of the color
g:
type: integer
description: Green component of the color
b:
type: integer
description: Blue component of the color
a:
type: number
description: Alpha component of the color
example:
$ref: "#/components/examples/flowBoardNodeColor"
VariableInfo:
title: Variable Info
type: object
required:
- source_id
- collection_source_id
properties:
source_id:
type: string
description: The source id of the variable
collection_source_id:
type: string
description: The source id of the collection that the variable belongs to
example:
$ref: "#/components/examples/variableInfo"
VariableCollection:
title: Variable Collection
type: object
required:
- id
- created
- name
- modes
- groups
- source_id
properties:
id:
type: string
description: The unique id of the variable collection
created:
type: integer
format: timestamp
description: The unix timestamp when the variable collection was created
name:
type: string
description: The name of the variable collection
description:
type: string
description: The description of the variable collection
modes:
type: array
items:
$ref: "#/components/schemas/VariableMode"
groups:
type: array
items:
$ref: "#/components/schemas/VariableGroup"
source_id:
type: string
description: Variable collection's identifier in the design tool
source:
$ref: "#/components/schemas/ResourceSource"
description: Source of the variable collection - either `project` or `styleguide`.
example:
$ref: "#/components/examples/variableCollection"
VariableMode:
title: Variable Mode
type: object
required:
- id
- name
- mode_id
properties:
id:
type: string
description: Identifier of the mode
name:
type: string
description: Name of the mode
mode_id:
type: string
description: Mode's identifier in the design tool
example:
$ref: "#/components/examples/variableMode"
VariableGroup:
title: Variable Group
type: object
required:
- id
- name
- variables
properties:
id:
type: string
description: Identifier of the color
name:
type: string
description: Name of the color
description:
type: string
description: Description of the color
parent:
type: string
description: Parent group of the group
variables:
type: array
items:
$ref: "#/components/schemas/Variable"
example:
$ref: "#/components/examples/variableGroup"
VariableValue:
title: Variable value
type: object
required:
- mode_id
- type
- color
properties:
mode_id:
type: string
description: Mode id of the variable value
type:
$ref: "#/components/schemas/VariableValueTypeEnum"
description: Type of the variable value
color:
$ref: "#/components/schemas/ColorData"
description: Color value of the variable
example:
$ref: "#/components/examples/variableValue"
Variable:
title: Variable
type: object
required:
- id
- name
- source_id
- values
properties:
id:
type: string
description: The unique id of the variable
name:
type: string
description: The name of the variable
description:
type: string
description: The description of the variable
source_id:
type: string
description: Variable's identifier in the design tool
values:
type: array
items:
$ref: "#/components/schemas/VariableValue"
example:
$ref: "#/components/examples/variable"
Page:
title: Page
type: object
required:
- id
- name
- type
- componentSections
properties:
id:
type: string
description: The unique id of the page
name:
type: string
description: The name of the page
type:
type: string
description: The type of the page
description:
type: string
description: The description of the page
componentSections:
type: array
description: Array of component section IDs
items:
type: string
example:
$ref: "#/components/examples/page"
Reaction:
title: Reaction
type: object
required:
- id
- short_code
- users
properties:
id:
type: string
description: Unique id of the reaction
short_code:
type: string
description: Type of the reaction (e.g., thumbsup, eyes, etc.)
unicode:
type: string
description: Unicode representation of the reaction
users:
type: array
items:
$ref: "#/components/schemas/User"
example:
$ref: "#/components/examples/reaction"
WebhookEvent:
title: Webhook Event
discriminator:
propertyName: event
mapping:
ping: "#/components/schemas/PingEvent"
workspace.notification: "#/components/schemas/WorkspaceNotificationEvent"
workspace.project: "#/components/schemas/WorkspaceProjectEvent"
workspace.styleguide: "#/components/schemas/WorkspaceStyleguideEvent"
workspace.organization: "#/components/schemas/WorkspaceOrganizationEvent"
workspace.organization.member: "#/components/schemas/WorkspaceOrganizationMemberEvent"
project.member: "#/components/schemas/ProjectMemberEvent"
project.screen: "#/components/schemas/ProjectScreenEvent"
project.screen.version: "#/components/schemas/ProjectScreenVersionEvent"
project.note: "#/components/schemas/ProjectNoteEvent"
project.note.comment: "#/components/schemas/ProjectNoteCommentEvent"
project.note.comment.reaction: "#/components/schemas/ProjectNoteCommentReactionEvent"
project.color: "#/components/schemas/ProjectColorEvent"
project.flow_board: "#/components/schemas/ProjectFlowBoardEvent"
project.text_style: "#/components/schemas/ProjectTextStyleEvent"
project.component: "#/components/schemas/ProjectComponentEvent"
project.spacing_token: "#/components/schemas/ProjectSpacingTokenEvent"
styleguide.member: "#/components/schemas/StyleguideMemberEvent"
styleguide.color: "#/components/schemas/StyleguideColorEvent"
styleguide.text_style: "#/components/schemas/StyleguideTextStyleEvent"
styleguide.component: "#/components/schemas/StyleguideComponentEvent"
styleguide.spacing_token: "#/components/schemas/StyleguideSpacingTokenEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceNotificationEvent"
- $ref: "#/components/schemas/WorkspaceProjectEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationMemberEvent"
- $ref: "#/components/schemas/ProjectMemberEvent"
- $ref: "#/components/schemas/ProjectScreenEvent"
- $ref: "#/components/schemas/ProjectScreenVersionEvent"
- $ref: "#/components/schemas/ProjectNoteEvent"
- $ref: "#/components/schemas/ProjectNoteCommentEvent"
- $ref: "#/components/schemas/ProjectNoteCommentReactionEvent"
- $ref: "#/components/schemas/ProjectColorEvent"
- $ref: "#/components/schemas/ProjectFlowBoardEvent"
- $ref: "#/components/schemas/ProjectTextStyleEvent"
- $ref: "#/components/schemas/ProjectComponentEvent"
- $ref: "#/components/schemas/ProjectSpacingTokenEvent"
- $ref: "#/components/schemas/StyleguideMemberEvent"
- $ref: "#/components/schemas/StyleguideColorEvent"
- $ref: "#/components/schemas/StyleguideTextStyleEvent"
- $ref: "#/components/schemas/StyleguideComponentEvent"
- $ref: "#/components/schemas/StyleguideSpacingTokenEvent"
- $ref: "#/components/schemas/PingEvent"
PingEvent:
title: Ping Event
type: object
required:
- event
- action
- timestamp
- context
- resource
properties:
event:
type: string
enum:
- ping
action:
type: string
enum:
- ping
timestamp:
type: number
resource:
type: object
context:
type: object
WebhookEventActor:
title: Webhook Event Actor
type: object
required:
- user
properties:
user:
$ref: "#/components/schemas/User"
WorkspaceNotificationEvent:
title: Workspace Notification Event
description: This event is used to notify webhooks about changes related to
user's notifications.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/WorkspaceNotificationCreatedEvent"
updated: "#/components/schemas/WorkspaceNotificationUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceNotificationCreatedEvent"
- $ref: "#/components/schemas/WorkspaceNotificationUpdatedEvent"
WorkspaceNotificationCreatedEvent:
title: Workspace Notification Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.notification
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Notification
data:
$ref: "#/components/schemas/Notification"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceNotificationUpdatedEvent:
title: Workspace Notification Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.notification
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Notification
data:
$ref: "#/components/schemas/Notification"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectEvent:
title: Workspace Project Event
description: >
This event is used to notify webhooks about changes directly related to
Zeplin projects:
- Project is created or deleted
- Project's linked styleguide changes
- Any of these properties change:
- name
- description
- density scale (1x, 2x, etc.)
- thumbnail image
- status (archived or activated)
- rem preferences (web projects only)"
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/WorkspaceProjectCreatedEvent"
updated: "#/components/schemas/WorkspaceProjectUpdatedEvent"
deleted: "#/components/schemas/WorkspaceProjectDeletedEvent"
activated: "#/components/schemas/WorkspaceProjectActivatedEvent"
archived: "#/components/schemas/WorkspaceProjectArchivedEvent"
styleguide_linked: "#/components/schemas/WorkspaceProjectStyleguideLinkedEvent"
styleguide_unlinked: "#/components/schemas/WorkspaceProjectStyleguideUnlinkedEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceProjectCreatedEvent"
- $ref: "#/components/schemas/WorkspaceProjectUpdatedEvent"
- $ref: "#/components/schemas/WorkspaceProjectDeletedEvent"
- $ref: "#/components/schemas/WorkspaceProjectActivatedEvent"
- $ref: "#/components/schemas/WorkspaceProjectArchivedEvent"
- $ref: "#/components/schemas/WorkspaceProjectStyleguideLinkedEvent"
- $ref: "#/components/schemas/WorkspaceProjectStyleguideUnlinkedEvent"
WorkspaceProjectCreatedEvent:
title: Workspace Project Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectUpdatedEvent:
title: Workspace Project Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectDeletedEvent:
title: Workspace Project Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Project
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectActivatedEvent:
title: Workspace Project Activated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- activated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectArchivedEvent:
title: Workspace Project Archived Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- archived
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectStyleguideLinkedEvent:
title: Workspace Project Styleguide Linked Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- styleguide_linked
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceProjectStyleguideUnlinkedEvent:
title: Workspace Project Styleguide Unlinked Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.project
action:
type: string
enum:
- styleguide_unlinked
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Project
data:
$ref: "#/components/schemas/Project"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideEvent:
title: Workspace Styleguide Event
description: >
This event is used to notify webhooks about changes directly related to
Zeplin styleguides:
- Styleguide is created or deleted
- Styleguide's parent styleguide changes
- Any of these properties change:
- name
- description
- density scale (1x, 2x, etc.)
- thumbnail image
- status (archived or activated)
- rem preferences (web styleguides only)"
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/WorkspaceStyleguideCreatedEvent"
updated: "#/components/schemas/WorkspaceStyleguideUpdatedEvent"
deleted: "#/components/schemas/WorkspaceStyleguideDeletedEvent"
activated: "#/components/schemas/WorkspaceStyleguideActivatedEvent"
archived: "#/components/schemas/WorkspaceStyleguideArchivedEvent"
styleguide_linked: "#/components/schemas/WorkspaceStyleguideStyleguideLinkedEvent"
styleguide_unlinked: "#/components/schemas/WorkspaceStyleguideStyleguideUnlinkedEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceStyleguideCreatedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideUpdatedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideDeletedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideActivatedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideArchivedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideStyleguideLinkedEvent"
- $ref: "#/components/schemas/WorkspaceStyleguideStyleguideUnlinkedEvent"
WorkspaceStyleguideCreatedEvent:
title: Workspace Styleguide Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideUpdatedEvent:
title: Workspace Styleguide Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideDeletedEvent:
title: Workspace Styleguide Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideActivatedEvent:
title: Workspace Styleguide Activated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- activated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideArchivedEvent:
title: Workspace Styleguide Archived Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- archived
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideStyleguideLinkedEvent:
title: Workspace Styleguide Styleguide Linked Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- styleguide_linked
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceStyleguideStyleguideUnlinkedEvent:
title: Workspace Styleguide Styleguide Unlinked Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.styleguide
action:
type: string
enum:
- styleguide_unlinked
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Styleguide
data:
$ref: "#/components/schemas/Styleguide"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationEvent:
title: Workspace Organization Event
description: |
This event is used to notify webhooks about any of these activies:
- Name or logo of the organization was changed
- User requested to join the organization
discriminator:
propertyName: action
mapping:
updated: "#/components/schemas/WorkspaceOrganizationUpdatedEvent"
join_requested: "#/components/schemas/WorkspaceOrganizationJoinRequestedEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceOrganizationUpdatedEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationJoinRequestedEvent"
WorkspaceOrganizationUpdatedEvent:
title: Workspace Organization Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.organization
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- OrganizationSummary
data:
$ref: "#/components/schemas/OrganizationSummary"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationJoinRequestedEvent:
title: Workspace Organization Join Requested Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
properties:
event:
type: string
enum:
- workspace.organization
action:
type: string
enum:
- join_requested
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- OrganizationSummary
data:
$ref: "#/components/schemas/OrganizationSummary"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationMemberEvent:
title: Workspace Organization Member Event
description: >
This event is used to notify webhooks about any of these activies
related to the organization's members:
- New member added
- Member removed
- Member's role changed
- Member's tag changed
discriminator:
propertyName: action
mapping:
invited: "#/components/schemas/WorkspaceOrganizationMemberInvitedEvent"
removed: "#/components/schemas/WorkspaceOrganizationMemberRemovedEvent"
role_updated: "#/components/schemas/WorkspaceOrganizationMemberRoleUpdatedEvent"
tag_updated: "#/components/schemas/WorkspaceOrganizationMemberTagUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/WorkspaceOrganizationMemberInvitedEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationMemberRemovedEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationMemberRoleUpdatedEvent"
- $ref: "#/components/schemas/WorkspaceOrganizationMemberTagUpdatedEvent"
WorkspaceOrganizationMemberEventContext:
title: Workspace Organization Member Event Context
type: object
required:
- organization
properties:
organization:
description: Organization that contains the member
$ref: "#/components/schemas/OrganizationSummary"
WorkspaceOrganizationMemberInvitedEvent:
title: Workspace Organization Member Invited Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- workspace.organization.member
action:
type: string
enum:
- invited
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- OrganizationMember
data:
$ref: "#/components/schemas/OrganizationMember"
context:
$ref: "#/components/schemas/WorkspaceOrganizationMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationMemberRemovedEvent:
title: Workspace Organization Member Removed Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- workspace.organization.member
action:
type: string
enum:
- removed
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- OrganizationMember
context:
$ref: "#/components/schemas/WorkspaceOrganizationMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationMemberRoleUpdatedEvent:
title: Workspace Organization Member Role Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- workspace.organization.member
action:
type: string
enum:
- role_updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- OrganizationMember
data:
$ref: "#/components/schemas/OrganizationMember"
context:
$ref: "#/components/schemas/WorkspaceOrganizationMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
WorkspaceOrganizationMemberTagUpdatedEvent:
title: Workspace Organization Member Tag Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- workspace.organization.member
action:
type: string
enum:
- tag_updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- OrganizationMember
data:
$ref: "#/components/schemas/OrganizationMember"
context:
$ref: "#/components/schemas/WorkspaceOrganizationMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectMemberEvent:
title: Project Member Event
description: >
This event is used to notify webhooks about changes related to the
project's members:
- New member invited
- Member removed
- Member's role changed
discriminator:
propertyName: action
mapping:
invited: "#/components/schemas/ProjectMemberInvitedEvent"
removed: "#/components/schemas/ProjectMemberRemovedEvent"
role_updated: "#/components/schemas/ProjectMemberRoleUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectMemberInvitedEvent"
- $ref: "#/components/schemas/ProjectMemberRemovedEvent"
- $ref: "#/components/schemas/ProjectMemberRoleUpdatedEvent"
ProjectMemberEventContext:
title: Project Member Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the user
$ref: "#/components/schemas/Project"
ProjectMemberInvitedEvent:
title: Project Member Invited Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.member
action:
type: string
enum:
- invited
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ProjectMember
data:
$ref: "#/components/schemas/ProjectMember"
context:
$ref: "#/components/schemas/ProjectMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectMemberRemovedEvent:
title: Project Member Removed Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.member
action:
type: string
enum:
- removed
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- ProjectMember
context:
$ref: "#/components/schemas/ProjectMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectMemberRoleUpdatedEvent:
title: Project Member Role Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.member
action:
type: string
enum:
- role_updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ProjectMember
data:
$ref: "#/components/schemas/ProjectMember"
context:
$ref: "#/components/schemas/ProjectMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenEvent:
title: Project Screen Event
description: This event is used to notify webhooks about changes related to a
screen in Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectScreenCreatedEvent"
deleted: "#/components/schemas/ProjectScreenDeletedEvent"
updated: "#/components/schemas/ProjectScreenUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectScreenCreatedEvent"
- $ref: "#/components/schemas/ProjectScreenDeletedEvent"
- $ref: "#/components/schemas/ProjectScreenUpdatedEvent"
ProjectScreenEventContext:
title: Project Screen Event Context
type: object
required:
- project
- version
properties:
project:
description: Project that contains the screen
$ref: "#/components/schemas/Project"
version:
description: The details of the screen's version (exists for all actions except
`deleted` action).
$ref: "#/components/schemas/ScreenVersionSummary"
ProjectScreenCreatedEvent:
title: Project Screen Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Screen
data:
$ref: "#/components/schemas/Screen"
context:
$ref: "#/components/schemas/ProjectScreenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenDeletedEvent:
title: Project Screen Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Screen
context:
$ref: "#/components/schemas/ProjectScreenDeletedEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenDeletedEventContext:
title: Project Screen Deleted Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the screen
$ref: "#/components/schemas/Project"
ProjectScreenUpdatedEvent:
title: Project Screen Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Screen
data:
$ref: "#/components/schemas/Screen"
context:
$ref: "#/components/schemas/ProjectScreenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenVersionEvent:
title: Project Screen Version Event
description: This event is used to notify webhooks about changes related to a
screen versions in Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectScreenVersionCreatedEvent"
deleted: "#/components/schemas/ProjectScreenVersionDeletedEvent"
updated: "#/components/schemas/ProjectScreenVersionUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectScreenVersionCreatedEvent"
- $ref: "#/components/schemas/ProjectScreenVersionDeletedEvent"
- $ref: "#/components/schemas/ProjectScreenVersionUpdatedEvent"
ProjectScreenVersionEventContext:
title: Project Screen Version Event Context
type: object
required:
- project
- screen
properties:
project:
description: Project that contains the screen version
$ref: "#/components/schemas/Project"
screen:
description: Screen that the version belongs to
$ref: "#/components/schemas/Screen"
ProjectScreenVersionCreatedEvent:
title: Project Screen Version Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen.version
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenVersionSummary
data:
$ref: "#/components/schemas/ScreenVersionSummary"
context:
$ref: "#/components/schemas/ProjectScreenVersionEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenVersionDeletedEvent:
title: Project Screen Version Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen.version
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- ScreenVersionSummary
context:
$ref: "#/components/schemas/ProjectScreenVersionEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectScreenVersionUpdatedEvent:
title: Project Screen Version Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.screen.version
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenVersionSummary
data:
$ref: "#/components/schemas/ScreenVersionSummary"
context:
$ref: "#/components/schemas/ProjectScreenVersionEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteEvent:
title: Project Note Event
description: This event is used to notify webhooks about changes related to a
notes in Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectNoteCreatedEvent"
deleted: "#/components/schemas/ProjectNoteDeletedEvent"
updated: "#/components/schemas/ProjectNoteUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectNoteCreatedEvent"
- $ref: "#/components/schemas/ProjectNoteDeletedEvent"
- $ref: "#/components/schemas/ProjectNoteUpdatedEvent"
ProjectNoteEventContext:
title: Project Note Event Context
type: object
required:
- project
- screen
properties:
project:
description: Project that contains the screen in which the note has been added
$ref: "#/components/schemas/Project"
screen:
description: Screen in which the note has been added
$ref: "#/components/schemas/Screen"
ProjectNoteCreatedEvent:
title: Project Note Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenNote
data:
$ref: "#/components/schemas/ScreenNote"
context:
$ref: "#/components/schemas/ProjectNoteEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteDeletedEvent:
title: Project Note Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- ScreenNote
context:
$ref: "#/components/schemas/ProjectNoteEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteUpdatedEvent:
title: Project Note Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenNote
data:
$ref: "#/components/schemas/ScreenNote"
context:
$ref: "#/components/schemas/ProjectNoteEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteCommentEvent:
title: Project Note Comment Event
description: This event is used to notify webhooks about changes related to the
comments in notes in Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectNoteCommentCreatedEvent"
deleted: "#/components/schemas/ProjectNoteCommentDeletedEvent"
updated: "#/components/schemas/ProjectNoteCommentUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectNoteCommentCreatedEvent"
- $ref: "#/components/schemas/ProjectNoteCommentDeletedEvent"
- $ref: "#/components/schemas/ProjectNoteCommentUpdatedEvent"
ProjectNoteCommentEventContext:
title: Project Note Comment Event Context
type: object
required:
- project
- screen
- note
properties:
project:
description: Project in which the comment has been added
$ref: "#/components/schemas/Project"
screen:
description: Screen in which the comment has been added
$ref: "#/components/schemas/Screen"
note:
description: Note in which the comment has been added
$ref: "#/components/schemas/ScreenNote"
ProjectNoteCommentCreatedEvent:
title: Project Note Comment Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note.comment
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenNoteComment
data:
$ref: "#/components/schemas/ScreenNoteComment"
context:
$ref: "#/components/schemas/ProjectNoteCommentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteCommentDeletedEvent:
title: Project Note Comment Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note.comment
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- ScreenNoteComment
context:
$ref: "#/components/schemas/ProjectNoteCommentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteCommentUpdatedEvent:
title: Project Note Comment Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note.comment
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- ScreenNoteComment
data:
$ref: "#/components/schemas/ScreenNoteComment"
context:
$ref: "#/components/schemas/ProjectNoteCommentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteCommentReactionEvent:
title: Project Note Comment Reaction Event
description: This event is used to notify webhooks about reactions to comments
in notes in Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectNoteCommentReactionCreatedEvent"
deleted: "#/components/schemas/ProjectNoteCommentReactionDeletedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectNoteCommentReactionCreatedEvent"
- $ref: "#/components/schemas/ProjectNoteCommentReactionDeletedEvent"
ProjectNoteCommentReactionEventContext:
title: Project Note Comment Reaction Event Context
type: object
required:
- project
- screen
- note
- comment
properties:
project:
description: Project in which the reaction has been added
$ref: "#/components/schemas/Project"
screen:
description: Screen in which the reaction has been added
$ref: "#/components/schemas/Screen"
note:
description: Note in which the reaction has been added
$ref: "#/components/schemas/ScreenNote"
comment:
description: Comment in which the reaction has been added
$ref: "#/components/schemas/ScreenNoteComment"
ProjectNoteCommentReactionCreatedEvent:
title: Project Note Comment Reaction Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note.comment.reaction
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Reaction
data:
$ref: "#/components/schemas/Reaction"
context:
$ref: "#/components/schemas/ProjectNoteCommentReactionEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectNoteCommentReactionDeletedEvent:
title: Project Note Comment Reaction Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.note.comment.reaction
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Reaction
context:
$ref: "#/components/schemas/ProjectNoteCommentReactionEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectColorEvent:
title: Project Color Event
description: This event is used to notify webhooks about changes related to a
colors in the local styleguide of Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectColorCreatedEvent"
deleted: "#/components/schemas/ProjectColorDeletedEvent"
updated: "#/components/schemas/ProjectColorUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectColorCreatedEvent"
- $ref: "#/components/schemas/ProjectColorDeletedEvent"
- $ref: "#/components/schemas/ProjectColorUpdatedEvent"
ProjectColorEventContext:
title: Project Color Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the color
$ref: "#/components/schemas/Project"
ProjectColorCreatedEvent:
title: Project Color Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.color
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Color
data:
$ref: "#/components/schemas/Color"
context:
$ref: "#/components/schemas/ProjectColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectColorDeletedEvent:
title: Project Color Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.color
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Color
context:
$ref: "#/components/schemas/ProjectColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectColorUpdatedEvent:
title: Project Color Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.color
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Color
data:
$ref: "#/components/schemas/Color"
context:
$ref: "#/components/schemas/ProjectColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectFlowBoardEvent:
title: Project Flow Board Event
description: This event is used to notify webhooks about changes related to
boards in Zeplin projects.
discriminator:
propertyName: action
mapping:
built: "#/components/schemas/ProjectFlowBoardBuiltEvent"
oneOf:
- $ref: "#/components/schemas/ProjectFlowBoardBuiltEvent"
ProjectFlowBoardEventContext:
title: Project Flow Board Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the flow board
$ref: "#/components/schemas/Project"
ProjectFlowBoardBuiltEvent:
title: Project Flow Board Built Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.flow_board
action:
type: string
enum:
- built
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- FlowBoard
data:
$ref: "#/components/schemas/FlowBoard"
context:
$ref: "#/components/schemas/ProjectFlowBoardEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectTextStyleEvent:
title: Project Text Style Event
description: This event is used to notify webhooks about changes related to a
text styles in the local styleguide of Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectTextStyleCreatedEvent"
deleted: "#/components/schemas/ProjectTextStyleDeletedEvent"
updated: "#/components/schemas/ProjectTextStyleUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectTextStyleCreatedEvent"
- $ref: "#/components/schemas/ProjectTextStyleDeletedEvent"
- $ref: "#/components/schemas/ProjectTextStyleUpdatedEvent"
ProjectTextStyleEventContext:
title: Project Text Style Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the text style
$ref: "#/components/schemas/Project"
ProjectTextStyleCreatedEvent:
title: Project Text Style Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.text_style
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
data:
$ref: "#/components/schemas/TextStyle"
context:
$ref: "#/components/schemas/ProjectTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectTextStyleDeletedEvent:
title: Project Text Style Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.text_style
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
context:
$ref: "#/components/schemas/ProjectTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectTextStyleUpdatedEvent:
title: Project Text Style Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.text_style
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
data:
$ref: "#/components/schemas/TextStyle"
context:
$ref: "#/components/schemas/ProjectTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectComponentEvent:
title: Project Component Event
description: This event is used to notify webhooks about changes related to a
components in the local styleguide of Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectComponentCreatedEvent"
deleted: "#/components/schemas/ProjectComponentDeletedEvent"
updated: "#/components/schemas/ProjectComponentUpdatedEvent"
version_created: "#/components/schemas/ProjectComponentVersionCreatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectComponentCreatedEvent"
- $ref: "#/components/schemas/ProjectComponentDeletedEvent"
- $ref: "#/components/schemas/ProjectComponentUpdatedEvent"
- $ref: "#/components/schemas/ProjectComponentVersionCreatedEvent"
ProjectComponentEventContext:
title: Project Component Event Context
type: object
required:
- project
- version
properties:
project:
description: Project that contains the component
$ref: "#/components/schemas/Project"
version:
description: The details of the component's version (exists for all actions
except `deleted` action).
$ref: "#/components/schemas/ComponentVersionSummary"
ProjectComponentCreatedEvent:
title: Project Component Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.component
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/ProjectComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectComponentDeletedEvent:
title: Project Component Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.component
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Component
context:
$ref: "#/components/schemas/ProjectComponentDeletedEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectComponentDeletedEventContext:
title: Project Component Deleted Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the component
$ref: "#/components/schemas/Project"
ProjectComponentUpdatedEvent:
title: Project Component Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.component
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/ProjectComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectComponentVersionCreatedEvent:
title: Project Component Version Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.component
action:
type: string
enum:
- version_created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/ProjectComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectSpacingTokenEvent:
title: Project Spacing Token Event
description: This event is used to notify webhooks about changes related to a
spacing tokens in the local styleguide of Zeplin projects.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/ProjectSpacingTokenCreatedEvent"
deleted: "#/components/schemas/ProjectSpacingTokenDeletedEvent"
updated: "#/components/schemas/ProjectSpacingTokenUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/ProjectSpacingTokenCreatedEvent"
- $ref: "#/components/schemas/ProjectSpacingTokenDeletedEvent"
- $ref: "#/components/schemas/ProjectSpacingTokenUpdatedEvent"
ProjectSpacingTokenEventContext:
title: Project Spacing Token Event Context
type: object
required:
- project
properties:
project:
description: Project that contains the spacing token
$ref: "#/components/schemas/Project"
ProjectSpacingTokenCreatedEvent:
title: Project Spacing Token Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.spacing_token
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
data:
$ref: "#/components/schemas/SpacingToken"
context:
$ref: "#/components/schemas/ProjectSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectSpacingTokenDeletedEvent:
title: Project Spacing Token Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.spacing_token
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
context:
$ref: "#/components/schemas/ProjectSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
ProjectSpacingTokenUpdatedEvent:
title: Project Spacing Token Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- project.spacing_token
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
data:
$ref: "#/components/schemas/SpacingToken"
context:
$ref: "#/components/schemas/ProjectSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideMemberEvent:
title: Styleguide Member Event
description: >
This event is used to notify webhooks about changes related to the
styleguide's members:
- New member invited
- Member removed
- Member's role changed
discriminator:
propertyName: action
mapping:
invited: "#/components/schemas/StyleguideMemberInvitedEvent"
removed: "#/components/schemas/StyleguideMemberRemovedEvent"
role_updated: "#/components/schemas/StyleguideMemberRoleUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/StyleguideMemberInvitedEvent"
- $ref: "#/components/schemas/StyleguideMemberRemovedEvent"
- $ref: "#/components/schemas/StyleguideMemberRoleUpdatedEvent"
StyleguideMemberEventContext:
title: Styleguide Member Event Context
type: object
required:
- styleguide
properties:
styleguide:
description: Styleguide that contains the user
$ref: "#/components/schemas/Styleguide"
StyleguideMemberInvitedEvent:
title: Styleguide Member Invited Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.member
action:
type: string
enum:
- invited
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- StyleguideMember
data:
$ref: "#/components/schemas/StyleguideMember"
context:
$ref: "#/components/schemas/StyleguideMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideMemberRemovedEvent:
title: Styleguide Member Removed Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.member
action:
type: string
enum:
- removed
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- StyleguideMember
context:
$ref: "#/components/schemas/StyleguideMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideMemberRoleUpdatedEvent:
title: Styleguide Member Role Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.member
action:
type: string
enum:
- role_updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- StyleguideMember
data:
$ref: "#/components/schemas/StyleguideMember"
context:
$ref: "#/components/schemas/StyleguideMemberEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideColorEvent:
title: Styleguide Color Event
description: This event is used to notify webhooks about changes related to a
colors in Zeplin styleguides.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/StyleguideColorCreatedEvent"
deleted: "#/components/schemas/StyleguideColorDeletedEvent"
updated: "#/components/schemas/StyleguideColorUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/StyleguideColorCreatedEvent"
- $ref: "#/components/schemas/StyleguideColorDeletedEvent"
- $ref: "#/components/schemas/StyleguideColorUpdatedEvent"
StyleguideColorEventContext:
title: Styleguide Color Event Context
type: object
required:
- styleguide
properties:
styleguide:
description: Styleguide that contains the color
$ref: "#/components/schemas/Styleguide"
StyleguideColorCreatedEvent:
title: Styleguide Color Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.color
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Color
data:
$ref: "#/components/schemas/Color"
context:
$ref: "#/components/schemas/StyleguideColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideColorDeletedEvent:
title: Styleguide Color Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.color
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Color
context:
$ref: "#/components/schemas/StyleguideColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideColorUpdatedEvent:
title: Styleguide Color Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.color
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Color
data:
$ref: "#/components/schemas/Color"
context:
$ref: "#/components/schemas/StyleguideColorEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideTextStyleEvent:
title: Styleguide Text Style Event
description: This event is used to notify webhooks about changes related to a
text styles in Zeplin styleguides.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/StyleguideTextStyleCreatedEvent"
deleted: "#/components/schemas/StyleguideTextStyleDeletedEvent"
updated: "#/components/schemas/StyleguideTextStyleUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/StyleguideTextStyleCreatedEvent"
- $ref: "#/components/schemas/StyleguideTextStyleDeletedEvent"
- $ref: "#/components/schemas/StyleguideTextStyleUpdatedEvent"
StyleguideTextStyleEventContext:
title: Styleguide Text Style Event Context
type: object
required:
- styleguide
properties:
styleguide:
description: Styleguide that contains the text style
$ref: "#/components/schemas/Styleguide"
StyleguideTextStyleCreatedEvent:
title: Styleguide Text Style Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.text_style
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
data:
$ref: "#/components/schemas/TextStyle"
context:
$ref: "#/components/schemas/StyleguideTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideTextStyleDeletedEvent:
title: Styleguide Text Style Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.text_style
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
context:
$ref: "#/components/schemas/StyleguideTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideTextStyleUpdatedEvent:
title: Styleguide Text Style Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.text_style
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- TextStyle
data:
$ref: "#/components/schemas/TextStyle"
context:
$ref: "#/components/schemas/StyleguideTextStyleEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideComponentEvent:
title: Styleguide Component Event
description: This event is used to notify webhooks about changes related to a
components in Zeplin styleguides.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/StyleguideComponentCreatedEvent"
deleted: "#/components/schemas/StyleguideComponentDeletedEvent"
updated: "#/components/schemas/StyleguideComponentUpdatedEvent"
version_created: "#/components/schemas/StyleguideComponentVersionCreatedEvent"
oneOf:
- $ref: "#/components/schemas/StyleguideComponentCreatedEvent"
- $ref: "#/components/schemas/StyleguideComponentDeletedEvent"
- $ref: "#/components/schemas/StyleguideComponentUpdatedEvent"
- $ref: "#/components/schemas/StyleguideComponentVersionCreatedEvent"
StyleguideComponentEventContext:
title: Styleguide Component Event Context
type: object
required:
- styleguide
- version
properties:
styleguide:
description: Styleguide that contains the component
$ref: "#/components/schemas/Styleguide"
version:
description: The details of the component's version (exists for all actions
except `deleted` action).
$ref: "#/components/schemas/ComponentVersionSummary"
StyleguideComponentCreatedEvent:
title: Styleguide Component Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.component
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/StyleguideComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideComponentDeletedEvent:
title: Styleguide Component Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.component
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- Component
context:
$ref: "#/components/schemas/StyleguideComponentDeletedEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideComponentDeletedEventContext:
title: Styleguide Component Deleted Event Context
type: object
required:
- styleguide
properties:
styleguide:
description: Styleguide that contains the component
$ref: "#/components/schemas/Styleguide"
StyleguideComponentUpdatedEvent:
title: Styleguide Component Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.component
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/StyleguideComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideComponentVersionCreatedEvent:
title: Styleguide Component Version Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.component
action:
type: string
enum:
- version_created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- Component
data:
$ref: "#/components/schemas/Component"
context:
$ref: "#/components/schemas/StyleguideComponentEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideSpacingTokenEvent:
title: Styleguide Spacing Token Event
description: This event is used to notify webhooks about changes related to a
spacing tokens in Zeplin styleguides.
discriminator:
propertyName: action
mapping:
created: "#/components/schemas/StyleguideSpacingTokenCreatedEvent"
deleted: "#/components/schemas/StyleguideSpacingTokenDeletedEvent"
updated: "#/components/schemas/StyleguideSpacingTokenUpdatedEvent"
oneOf:
- $ref: "#/components/schemas/StyleguideSpacingTokenCreatedEvent"
- $ref: "#/components/schemas/StyleguideSpacingTokenDeletedEvent"
- $ref: "#/components/schemas/StyleguideSpacingTokenUpdatedEvent"
StyleguideSpacingTokenEventContext:
title: Styleguide Spacing Token Event Context
type: object
required:
- styleguide
properties:
styleguide:
description: Styleguide that contains the spacing token
$ref: "#/components/schemas/Styleguide"
StyleguideSpacingTokenCreatedEvent:
title: Styleguide Spacing Token Created Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.spacing_token
action:
type: string
enum:
- created
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
data:
$ref: "#/components/schemas/SpacingToken"
context:
$ref: "#/components/schemas/StyleguideSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideSpacingTokenDeletedEvent:
title: Styleguide Spacing Token Deleted Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.spacing_token
action:
type: string
enum:
- deleted
timestamp:
type: number
resource:
type: object
required:
- id
- type
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
context:
$ref: "#/components/schemas/StyleguideSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
StyleguideSpacingTokenUpdatedEvent:
title: Styleguide Spacing Token Updated Event
type: object
required:
- event
- action
- timestamp
- resource
- actor
- context
properties:
event:
type: string
enum:
- styleguide.spacing_token
action:
type: string
enum:
- updated
timestamp:
type: number
resource:
type: object
required:
- id
- type
- data
properties:
id:
type: string
type:
type: string
enum:
- SpacingToken
data:
$ref: "#/components/schemas/SpacingToken"
context:
$ref: "#/components/schemas/StyleguideSpacingTokenEventContext"
actor:
$ref: "#/components/schemas/WebhookEventActor"
examples:
asset:
summary: Asset
value:
layer_source_id: 55CC0025-C3C1-429E-92B2-610D56368473
display_name: rectangle
layer_name: Rectangle
contents:
- $ref: "#/components/examples/assetContent/value"
assetContent:
summary: Asset Content
value:
url: http://placekitten.com/100/200
format: png
density: 1
flowBoard:
summary: Flow Board
value:
id: 5dbad85a76ea51c1f35b6f69
name: Example Flow Board Name
number_of_connectors: 5
number_of_nodes: 4
number_of_groups: 1
flowBoardPosition:
summary: Flow Board Position
value:
x: 23
y: 45
flowBoardConnectionPosition:
summary: Flow Board Connection Position
value:
dot_index: 10
side: left
flowBoardConnection:
summary: Flow Board Connection
value:
node:
id: 60019c81b51d170c91de7623
style: arrow
board_connector_position:
dotIndex: 23
side: left
flowBoardConnector:
summary: Flow Board Connector
value:
id: 610cd30ff252160033aa5ab9
type: SolidLine
start:
node:
id: 60019c81b51d170c91de7623
node_position:
x: 23
y: 45
end:
node:
id: 5d9caaecb4a3fa9bc9718686
node_position:
x: 46
y: 90
label:
text: If sucessful
position: 0.5
width: 50
color: orange
flowBoardConnectorLabel:
summary: Flow Board Connector Label
value:
text: If sucessful
position: 0.5
width: 50
flowBoardNode:
summary: Flow Board Node
value:
id: 610cd30ff252160033aa5ab9
type: ScreenNode
screen:
id: 60019c81b51d170c91de7623
position:
$ref: "#/components/examples/flowBoardPosition/value"
flowBoardScreenNode:
summary: Flow Board Screen Node
value:
id: 610cd30ff252160033aa5ab9
type: ScreenNode
screen:
id: 60019c81b51d170c91de7623
position:
$ref: "#/components/examples/flowBoardPosition/value"
flowBoardTextNode:
summary: Flow Board Text Node
value:
id: 610cd30ff252160033aa5ab9
type: TextLabelNode
text: Authentication check
width: 10
position:
x: 23
y: 45
flowBoardShapeNode:
summary: Flow Board Shape Node
value:
id: 610cd30ff252160033aa5ab9
type: ShapeNode
shape_type: rectangle
text: Login
width: 100
height: 100
color:
$ref: "#/components/examples/flowBoardNodeColor/value"
position:
x: 23
y: 45
flowBoardVariantGroupNode:
summary: Flow Board Variant Group Node
value:
id: 610cd30ff252160033aa5ab9
type: VariantGroupNode
variant_group:
id: 60019c81b51d170c91de7623
default_variant:
id: 60a36e45217f0d329834774e
position:
x: 23
y: 45
flowBoardAnnotationNode:
summary: Flow Board Annotation Node
value:
id: 610cd30ff252160033aa5ab9
type: AnnotationNode
text: Example Annotation
width: 100
height: 100
color:
$ref: "#/components/examples/flowBoardNodeColor/value"
position:
x: 23
y: 45
font_size: small
font_type: simple
note_type:
$ref: "#/components/examples/screenAnnotationNoteType/value"
flowBoardGroup:
summary: Flow Board Group
value:
id: 5dbad85a76ea51c1f35b6f69
created: 1517184000
name: example board group name
color:
$ref: "#/components/examples/colorData/value"
flowBoardNodeColor:
summary: Flow Board Node Color
value:
r: 255
g: 255
b: 0
a: 1
boundingRectangle:
summary: Bounding Rectangle
value:
x: 0
y: 0
width: 40
height: 40
absolute:
$ref: "#/components/examples/layerPosition/value"
code:
summary: Code
value:
snippet: