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

# Create an INVITED account with its roles and scope, and email a link that turns it ACTIVE.

> Requires admin.user.create. At least one role, because an account with none can sign in and do
nothing. No sites means every site, which is what identity.can_access_site reads absent rows as.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/invite_user
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Tools on a job, and who has them out
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /rpc/invite_user:
    post:
      tags:
        - Signing in
      summary: >-
        Create an INVITED account with its roles and scope, and email a link
        that turns it ACTIVE.
      description: >-
        Requires admin.user.create. At least one role, because an account with
        none can sign in and do

        nothing. No sites means every site, which is what
        identity.can_access_site reads absent rows as.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Create an INVITED account with its roles and scope, and email a
                link that turns it ACTIVE.


                Requires admin.user.create. At least one role, because an
                account with none can sign in and do

                nothing. No sites means every site, which is what
                identity.can_access_site reads absent rows as.
              properties:
                p_default_screen:
                  format: text
                  type: string
                p_email:
                  format: text
                  type: string
                p_job_title:
                  format: text
                  type: string
                p_language_id:
                  format: uuid
                  type: string
                p_locale_id:
                  format: uuid
                  type: string
                p_name:
                  format: text
                  type: string
                p_phone:
                  format: text
                  type: string
                p_reporting_manager_id:
                  format: uuid
                  type: string
                p_role_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_site_access_level:
                  format: text
                  type: string
                p_site_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_timezone:
                  format: text
                  type: string
              required:
                - p_email
                - p_name
                - p_role_ids
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Create an INVITED account with its roles and scope, and email a
                link that turns it ACTIVE.


                Requires admin.user.create. At least one role, because an
                account with none can sign in and do

                nothing. No sites means every site, which is what
                identity.can_access_site reads absent rows as.
              properties:
                p_default_screen:
                  format: text
                  type: string
                p_email:
                  format: text
                  type: string
                p_job_title:
                  format: text
                  type: string
                p_language_id:
                  format: uuid
                  type: string
                p_locale_id:
                  format: uuid
                  type: string
                p_name:
                  format: text
                  type: string
                p_phone:
                  format: text
                  type: string
                p_reporting_manager_id:
                  format: uuid
                  type: string
                p_role_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_site_access_level:
                  format: text
                  type: string
                p_site_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_timezone:
                  format: text
                  type: string
              required:
                - p_email
                - p_name
                - p_role_ids
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Create an INVITED account with its roles and scope, and email a
                link that turns it ACTIVE.


                Requires admin.user.create. At least one role, because an
                account with none can sign in and do

                nothing. No sites means every site, which is what
                identity.can_access_site reads absent rows as.
              properties:
                p_default_screen:
                  format: text
                  type: string
                p_email:
                  format: text
                  type: string
                p_job_title:
                  format: text
                  type: string
                p_language_id:
                  format: uuid
                  type: string
                p_locale_id:
                  format: uuid
                  type: string
                p_name:
                  format: text
                  type: string
                p_phone:
                  format: text
                  type: string
                p_reporting_manager_id:
                  format: uuid
                  type: string
                p_role_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_site_access_level:
                  format: text
                  type: string
                p_site_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_timezone:
                  format: text
                  type: string
              required:
                - p_email
                - p_name
                - p_role_ids
              type: object
          text/csv:
            schema:
              description: >-
                Create an INVITED account with its roles and scope, and email a
                link that turns it ACTIVE.


                Requires admin.user.create. At least one role, because an
                account with none can sign in and do

                nothing. No sites means every site, which is what
                identity.can_access_site reads absent rows as.
              properties:
                p_default_screen:
                  format: text
                  type: string
                p_email:
                  format: text
                  type: string
                p_job_title:
                  format: text
                  type: string
                p_language_id:
                  format: uuid
                  type: string
                p_locale_id:
                  format: uuid
                  type: string
                p_name:
                  format: text
                  type: string
                p_phone:
                  format: text
                  type: string
                p_reporting_manager_id:
                  format: uuid
                  type: string
                p_role_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_site_access_level:
                  format: text
                  type: string
                p_site_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
                p_timezone:
                  format: text
                  type: string
              required:
                - p_email
                - p_name
                - p_role_ids
              type: object
        required: true
      responses:
        '200':
          description: OK
components:
  parameters:
    preferParams:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - params=single-object
        type: string

````