> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lendflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create User

> Creates a new user and sends them an email invitation. The new user
must verify their email address before they can log in. Only roles
valid for your organization can be assigned.



## OpenAPI

````yaml /openapi.yaml post /api/users
openapi: 3.0.3
info:
  title: Lendflow API docs
  description: ''
  version: 1.0.0
servers:
  - url: https://api.lendflow.com
security:
  - default: []
tags:
  - name: Authentication
    description: >-

      Lendflow uses API Bearer Tokens to permit access to our API. You can
      register for a new Lendflow API key on our <a style="color:blue;"
      href="https://app.lendflow.com/login">client portal</a> in less than 60
      seconds. The Bearer Token needs to be included in all API requests made to
      the API Service in the following form: <div
      id="auth-example">Authorization: Bearer [YOUR_TOKEN]</div><div
      id="auth-reminder"><div id="edge-green"></div><div
      id="auth-reminder-text">You must replace [YOUR_TOKEN] with your personal
      API key.</div></div>
  - name: Access Tokens
    description: |-

      Create and manage the personal access tokens used to authenticate API
      requests.
  - name: Workflow Management
    description: |-

      Create applications and manage them through every stage of their workflow,
      from intake through decision.
  - name: Documents
    description: |-

      Upload, retrieve, and manage the files attached to an application.
  - name: Placements
    description: |-

      Submit applications to lenders and manage each placement through its
      lifecycle.
  - name: Offers
    description: |-

      Create and manage offers on an application, from initial terms through
      funding.
  - name: Smartviews
    description: |-

      Save and manage reusable application filters that organize your pipeline.
  - name: Workflow Templates
    description: |-

      Browse the workflow templates available for creating applications.
  - name: Consent Templates
    description: |-

      Manage the consent documents presented to applicants for signature.
  - name: Offer Templates
    description: |-

      Manage the templates that define the structure and fields of your offers.
  - name: Data Orchestration
    description: |-

      Run data orchestration templates against applications and review their
      execution logs.
  - name: Attributes
    description: |-

      Define computed attributes and evaluate them against your applications.
  - name: Scorecards
    description: |-

      Run scorecards and scorecard groups against applications and retrieve
      their results.
  - name: Entity Profiles
    description: |-

      Manage the reusable business and individual profiles shared across
      applications.
  - name: Organization
    description: |-

      Manage the users in your organization.
  - name: Metadata
    description: |-

      Attach custom key-value data to your applications and files.
paths:
  /api/users:
    post:
      tags:
        - Organization
      summary: Create User
      description: |-
        Creates a new user and sends them an email invitation. The new user
        must verify their email address before they can log in. Only roles
        valid for your organization can be assigned.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: ''
                  example: architecto
                last_name:
                  type: string
                  description: ''
                  example: architecto
                email:
                  type: string
                  description: Must be a valid email address.
                  example: zbailey@example.net
                roles:
                  type: object
                  description: Must match an existing stored value.
                  example: []
                  properties: {}
                permissions_preset_id:
                  type: string
                  description: >-
                    Provide a permissions preset id if the user is assigned to a
                    specific published permissions preset. Must match an
                    existing stored value.
                  example: null
                assigned_client_ids:
                  type: object
                  description: >-
                    Provide client IDs if the user is assigned to specific
                    clients. This cannot be provided for users tied to a client,
                    or when using a specified preset. Must match an existing
                    stored value.
                  example: null
                  properties: {}
                  nullable: true
                assigned_workflow_template_ids:
                  type: object
                  description: >-
                    Provide workflow template IDs if the user is assigned to
                    specific workflow templates.This cannot be provided when
                    using a specified preset.
                  example: null
                  properties: {}
                  nullable: true
                client_id:
                  type: string
                  description: >-
                    Provide client id if the new user is under the client. Must
                    match an existing stored value.
                  example: null
                funder_id:
                  type: string
                  description: >-
                    Provide funder id if the new user is under the funder. Must
                    match an existing stored value.
                  example: null
                funder_contact_role:
                  type: string
                  description: ''
                  example: underwriter
                  enum:
                    - manager
                    - sales_rep
                    - underwriter
                responsible_for_products:
                  type: object
                  description: Must match an existing stored value.
                  example: null
                  properties: {}
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                calendar_link:
                  type: string
                  description: Must be a valid URL.
                  example: >-
                    http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html
                  nullable: true
              required:
                - first_name
                - last_name
                - email
                - roles
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: null
                    first_name: Lafayette
                    last_name: Considine
                    full_name: Lafayette Considine
                    email: 18142bfc53181-d647-36b2-9080-f9c2b76006f4@example.com
                    pending_email: null
                    status: 1
                    permissions_preset_id: null
                    api_version: null
                    phone: '+12679441627'
                    calendar_link: null
                    created_at: null
                    updated_at: null
                    deleted_at: null
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: null
                        nullable: true
                      first_name:
                        type: string
                        example: Lafayette
                      last_name:
                        type: string
                        example: Considine
                      full_name:
                        type: string
                        example: Lafayette Considine
                      email:
                        type: string
                        example: 18142bfc53181-d647-36b2-9080-f9c2b76006f4@example.com
                      pending_email:
                        type: string
                        example: null
                        nullable: true
                      status:
                        type: integer
                        example: 1
                      permissions_preset_id:
                        type: string
                        example: null
                        nullable: true
                      api_version:
                        type: string
                        example: null
                        nullable: true
                      phone:
                        type: string
                        example: '+12679441627'
                      calendar_link:
                        type: string
                        example: null
                        nullable: true
                      created_at:
                        type: string
                        example: null
                        nullable: true
                      updated_at:
                        type: string
                        example: null
                        nullable: true
                      deleted_at:
                        type: string
                        example: null
                        nullable: true
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: >-
        <br>You can register for a new Lendflow API key on our <a
        style="color:blue;" href="https://app.lendflow.com/login">client
        portal</a> in less than 60 seconds. The Bearer Token needs to be
        included in all API requests made to the API Service in the following
        form: <div id="auth-example">Authorization: Bearer
        [YOUR_TOKEN]</div><div id="auth-reminder"><div
        id="edge-green"></div><div id="auth-reminder-text">You must replace
        [YOUR_TOKEN] with your personal API key.</div></div>

````