Zeplin Users API

The Users API from Zeplin — 3 operation(s) for users.

OpenAPI Specification

zeplin-users-api-openapi.yml Raw ↑
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