lemlist Users API

User endpoints - user detail and the connected channels available to the authenticated user.

OpenAPI Specification

lemlist-users-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: lemlist Users API
  version: 1.0.0
  description: The Users operations of the lemlist API, split by tag from the OpenAPI lemlist publishes
    at https://developer.lemlist.com/api-reference/openapi/v2.json. Operation content is carried verbatim
    from the provider spec.
servers:
- url: https://api.lemlist.com/api
security:
- basicAuth: []
tags:
- name: Users
paths:
  /users/{userId}:
    get:
      summary: Get User
      tags:
      - Users
      parameters: []
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              example:
                _id: usr_eSrHPSoL9QVPUOsho
                email: example@lemlist.co
                role: admin
                linkedIn:
                  linkedinUrl: https://www.linkedin.com/in/john-doe
                  status: true
                  inviteLimit: 25
                  sendLimit: 33
                  visitLimit: 36
                mailboxes:
                - _id: usm_2mkqJNUjnJQiyVBht
                  email: example@gmail.com
                  provider: google
                  status: ERROR
                  lemlist:
                    emailLimit: 50
                  lemwarm:
                    active: false
                - _id: usm_gqlN3jKWoGo1Je8El
                  email: example@outlook.com
                  status: ERROR
                  lemlist:
                    emailLimit: 50
                  lemwarm:
                    active: false
        '400':
          description: 'Possible errors: Bad team / Endpoint not available'
          content:
            text/plain:
              example: Bad team
        '401':
          description: The authentication you supplied is incorrect
          content:
            text/plain:
              example: The authentication you supplied is incorrect
    parameters:
    - name: userId
      in: path
      required: true
      description: The unique identifier of the user
      example: usr_eSrHPSoL9QVPUOsho
      schema:
        type: string
  /user/channels:
    get:
      summary: Get User Channels
      tags:
      - Users
      parameters: []
      responses:
        '200':
          description: Connected channels and feature availability for the authenticated user
          content:
            application/json:
              schema:
                type: object
                properties:
                  plan:
                    type: string
                    nullable: true
                    description: Current billing plan name
                  email:
                    type: object
                    properties:
                      connected:
                        type: boolean
                        description: Whether at least one email account is connected
                      available:
                        type: boolean
                        description: Whether the email channel is available on the current plan
                      accounts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Mailbox identifier
                            email:
                              type: string
                              description: Email address
                            provider:
                              type: string
                              enum:
                              - google
                              - microsoft
                              - custom
                              description: Email provider
                  linkedin:
                    type: object
                    properties:
                      connected:
                        type: boolean
                        description: Whether LinkedIn is connected
                      available:
                        type: boolean
                        description: Whether LinkedIn is available on the current plan
                  whatsapp:
                    type: object
                    properties:
                      connected:
                        type: boolean
                        description: Whether at least one WhatsApp account is connected
                      available:
                        type: boolean
                        description: Whether WhatsApp is available on the current plan
                      addonActive:
                        type: boolean
                        description: Whether the WhatsApp addon is active
                      accounts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: WhatsApp account identifier
                            phoneNumber:
                              type: string
                              description: Phone number
                            label:
                              type: string
                              description: Account label
              example:
                plan: Multichannel Expert
                email:
                  connected: true
                  available: true
                  accounts:
                  - id: usm_2mkqJNUjnJQiyVBht
                    email: john@acme.com
                    provider: google
                linkedin:
                  connected: true
                  available: true
                whatsapp:
                  connected: false
                  available: true
                  addonActive: false
                  accounts: []
        '400':
          description: 'Possible errors: Bad team / No user found for this api key'
          content:
            text/plain:
              example: Bad team
        '405':
          description: Only GET method is supported
          content:
            text/plain:
              example: Bad method
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
  schemas:
    Mailbox:
      type: object
      description: An email account connected to a user for sending campaigns.
      properties:
        _id:
          type: string
          description: Unique mailbox identifier
        email:
          type: string
          format: email
          description: Mailbox email address
        provider:
          type: string
          description: Email provider (google, microsoft, etc.)
        status:
          type: string
          description: Connection status
          enum:
          - CONNECTED
          - ERROR
          - DISCONNECTED
        lemlist:
          type: object
          properties:
            emailLimit:
              type: integer
              description: Daily send limit
        lemwarm:
          type: object
          properties:
            active:
              type: boolean
              description: Lemwarm activation status
    User:
      type: object
      description: A team member account with connected email and/or LinkedIn sending capabilities.
      properties:
        _id:
          type: string
          description: Unique user identifier
        email:
          type: string
          format: email
          description: User email address
        role:
          type: string
          description: User role in the team (admin, member, etc.)
        linkedIn:
          type: object
          description: LinkedIn integration settings
          properties:
            linkedinUrl:
              type: string
              description: The LinkedIn URL of the person
            status:
              type: boolean
              description: Whether LinkedIn is connected
            inviteLimit:
              type: integer
              description: Daily limit for LinkedIn connection invites
            sendLimit:
              type: integer
              description: Daily limit for LinkedIn messages
            visitLimit:
              type: integer
              description: Daily limit for LinkedIn profile visits
        mailboxes:
          type: array
          description: Email mailboxes connected to this user
          items:
            $ref: '#/components/schemas/Mailbox'