> ## 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 a new role as a copy of an existing one.

> The copy carries the role's settings, its permissions, the sites, departments, asset categories,
statuses and asset statuses it covers, and which fields it may edit or is kept from seeing. It does
not carry where the role is named elsewhere — status moves, approval steps, workflows, work order
types, subscriptions and shares — and it is held by nobody: assign people to it afterwards.

The name defaults to the original's with "(copy)" after it, and the description to the
original's. The copy is always active. A copy of the System Administrator is an ordinary role
holding today's permissions; it does not receive permissions added by later releases.

Requires admin.role.create. Everything is copied in one transaction, so if any part is refused
nothing is created. Where creating a role needs approval, the copy is refused; where only its
permissions or grants do, those are counted as held rather than applied.

Returns the new role's id and how many permissions, scope grants and field rules were copied.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/clone_role
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: Data exports
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: Ffe plans
  - 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: Webhooks
  - 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/clone_role:
    post:
      tags:
        - Admin
      summary: Create a new role as a copy of an existing one.
      description: >-
        The copy carries the role's settings, its permissions, the sites,
        departments, asset categories,

        statuses and asset statuses it covers, and which fields it may edit or
        is kept from seeing. It does

        not carry where the role is named elsewhere — status moves, approval
        steps, workflows, work order

        types, subscriptions and shares — and it is held by nobody: assign
        people to it afterwards.


        The name defaults to the original's with "(copy)" after it, and the
        description to the

        original's. The copy is always active. A copy of the System
        Administrator is an ordinary role

        holding today's permissions; it does not receive permissions added by
        later releases.


        Requires admin.role.create. Everything is copied in one transaction, so
        if any part is refused

        nothing is created. Where creating a role needs approval, the copy is
        refused; where only its

        permissions or grants do, those are counted as held rather than applied.


        Returns the new role's id and how many permissions, scope grants and
        field rules were copied.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Create a new role as a copy of an existing one.


                The copy carries the role's settings, its permissions, the
                sites, departments, asset categories,

                statuses and asset statuses it covers, and which fields it may
                edit or is kept from seeing. It does

                not carry where the role is named elsewhere — status moves,
                approval steps, workflows, work order

                types, subscriptions and shares — and it is held by nobody:
                assign people to it afterwards.


                The name defaults to the original's with "(copy)" after it, and
                the description to the

                original's. The copy is always active. A copy of the System
                Administrator is an ordinary role

                holding today's permissions; it does not receive permissions
                added by later releases.


                Requires admin.role.create. Everything is copied in one
                transaction, so if any part is refused

                nothing is created. Where creating a role needs approval, the
                copy is refused; where only its

                permissions or grants do, those are counted as held rather than
                applied.


                Returns the new role's id and how many permissions, scope grants
                and field rules were copied.
              properties:
                p_description:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_role_id:
                  format: uuid
                  type: string
              required:
                - p_role_id
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Create a new role as a copy of an existing one.


                The copy carries the role's settings, its permissions, the
                sites, departments, asset categories,

                statuses and asset statuses it covers, and which fields it may
                edit or is kept from seeing. It does

                not carry where the role is named elsewhere — status moves,
                approval steps, workflows, work order

                types, subscriptions and shares — and it is held by nobody:
                assign people to it afterwards.


                The name defaults to the original's with "(copy)" after it, and
                the description to the

                original's. The copy is always active. A copy of the System
                Administrator is an ordinary role

                holding today's permissions; it does not receive permissions
                added by later releases.


                Requires admin.role.create. Everything is copied in one
                transaction, so if any part is refused

                nothing is created. Where creating a role needs approval, the
                copy is refused; where only its

                permissions or grants do, those are counted as held rather than
                applied.


                Returns the new role's id and how many permissions, scope grants
                and field rules were copied.
              properties:
                p_description:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_role_id:
                  format: uuid
                  type: string
              required:
                - p_role_id
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Create a new role as a copy of an existing one.


                The copy carries the role's settings, its permissions, the
                sites, departments, asset categories,

                statuses and asset statuses it covers, and which fields it may
                edit or is kept from seeing. It does

                not carry where the role is named elsewhere — status moves,
                approval steps, workflows, work order

                types, subscriptions and shares — and it is held by nobody:
                assign people to it afterwards.


                The name defaults to the original's with "(copy)" after it, and
                the description to the

                original's. The copy is always active. A copy of the System
                Administrator is an ordinary role

                holding today's permissions; it does not receive permissions
                added by later releases.


                Requires admin.role.create. Everything is copied in one
                transaction, so if any part is refused

                nothing is created. Where creating a role needs approval, the
                copy is refused; where only its

                permissions or grants do, those are counted as held rather than
                applied.


                Returns the new role's id and how many permissions, scope grants
                and field rules were copied.
              properties:
                p_description:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_role_id:
                  format: uuid
                  type: string
              required:
                - p_role_id
              type: object
          text/csv:
            schema:
              description: >-
                Create a new role as a copy of an existing one.


                The copy carries the role's settings, its permissions, the
                sites, departments, asset categories,

                statuses and asset statuses it covers, and which fields it may
                edit or is kept from seeing. It does

                not carry where the role is named elsewhere — status moves,
                approval steps, workflows, work order

                types, subscriptions and shares — and it is held by nobody:
                assign people to it afterwards.


                The name defaults to the original's with "(copy)" after it, and
                the description to the

                original's. The copy is always active. A copy of the System
                Administrator is an ordinary role

                holding today's permissions; it does not receive permissions
                added by later releases.


                Requires admin.role.create. Everything is copied in one
                transaction, so if any part is refused

                nothing is created. Where creating a role needs approval, the
                copy is refused; where only its

                permissions or grants do, those are counted as held rather than
                applied.


                Returns the new role's id and how many permissions, scope grants
                and field rules were copied.
              properties:
                p_description:
                  format: text
                  type: string
                p_name:
                  format: text
                  type: string
                p_role_id:
                  format: uuid
                  type: string
              required:
                - p_role_id
              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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.