openapi: 3.0.2 info: title: Zeplin Authorization Users 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: [] tags: - name: Users paths: /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' components: examples: organizationSummary: summary: Organization Project value: id: 5d9caaecb4a3fa9b972f86ce name: Acme, Inc. logo: http://placekitten.com/200/300 organizationStyleguide: summary: Organization Styleguide value: id: 5db981be9df2b3e1bfa19ef2 name: Discovery 1 description: Global styleguide for all projects of Discovery 1. platform: web thumbnail: http://placekitten.com/200/300 status: active created: 1517184000 updated: 1572347818 organization: $ref: '#/components/examples/organizationSummary/value' number_of_members: 13 number_of_components: 241 number_of_connected_components: 195 number_of_text_styles: 48 number_of_colors: 37 number_of_spacing_tokens: 21 parent: id: 5db981b14ce405d079b376f0 workflowStatus: summary: Workflow Status value: id: 5dbad85a76ea51c1f35b6f69 name: Done color: $ref: '#/components/examples/workflowStatusColor/value' user: summary: User value: id: 5d9caaecb4a3fa9bc9718686 email: 5d9caaecb4a3fa9bc9718686@user.zeplin.io username: zozo emotar: 🍎 avatar: http://placekitten.com/200/300 last_seen: 1616739240 workflowStatusColor: summary: Workflow Status Color value: name: yellow r: 254 g: 207 b: 51 a: 1 project: summary: Project value: id: 5db81e73e1e36ee19f138c1a name: HAL 9000 description: UI designs for the onboard computer on the spaceship Discovery 1 platform: web thumbnail: http://placekitten.com/200/300 status: active scene_url: https://scene.zeplin.io/project/5db81e73e1e36ee19f138c1a created: 1517184000 updated: 1572347818 number_of_members: 47 number_of_screens: 112 number_of_components: 46 number_of_connected_components: 32 number_of_text_styles: 28 number_of_colors: 17 linked_styleguide: id: 5db81e6e6a4462065f04d932 styleguide: summary: Styleguide value: id: 5db981be9df2b3e1bfa19ef2 name: Discovery 1 description: Global styleguide for all projects of Discovery 1. platform: web thumbnail: http://placekitten.com/200/300 status: active created: 1517184000 updated: 1572347818 number_of_members: 13 number_of_components: 241 number_of_connected_components: 195 number_of_text_styles: 48 number_of_colors: 37 parent: id: 5db981b14ce405d079b376f0 organizationProject: summary: Organization Project value: id: 5db81e73e1e36ee19f138c1a name: HAL 9000 description: UI designs for the onboard computer on the spaceship Discovery 1 platform: web thumbnail: http://placekitten.com/200/300 status: active created: 1517184000 updated: 1572347818 organization: $ref: '#/components/examples/organizationSummary/value' workflow_status: $ref: '#/components/examples/workflowStatus/value' number_of_members: 47 number_of_screens: 112 number_of_components: 46 number_of_connected_components: 32 number_of_text_styles: 28 number_of_colors: 17 number_of_spacing_tokens: 63 linked_styleguide: id: 5db81e6e6a4462065f04d932 remPreferences: summary: rem Preferences value: status: enabled root_font_size: 16 use_for_font_sizes: false use_for_measurements: true me: summary: My user value: id: 5d9caaecb4a3fa9bc9718686 email: zo@zeplin.io username: zozo emotar: 🍎 avatar: http://placekitten.com/200/300 last_seen: 1616739240 entityReference: summary: Object Reference value: id: 5dbad85a76ea51c1f35b6f69 schemas: 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' 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' EntityReference: title: Object Reference type: object required: - id properties: id: type: string description: Id of the entity example: $ref: '#/components/examples/entityReference' 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' 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' 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' 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' StyleguideStatusEnum: title: Styleguide Status type: string enum: - active - archived description: The status of the styleguide 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' 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' ProjectStatusEnum: title: Project Status type: string enum: - active - archived description: The status of the project 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 parameters: limit: name: limit in: query description: Pagination limit required: false schema: type: integer minimum: 1 maximum: 100 default: 30 offset: name: offset in: query description: Pagination offset required: false schema: type: integer minimum: 0 default: 0 styleguide_status: name: status in: query description: Filter by status required: false schema: $ref: '#/components/schemas/StyleguideStatusEnum' project_status: name: status in: query description: Filter by status required: false schema: $ref: '#/components/schemas/ProjectStatusEnum' securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: /v1/oauth/authorize tokenUrl: /v1/oauth/token refreshUrl: /v1/oauth/token scopes: {} PersonalAccessToken: type: http scheme: bearer bearerFormat: JWT