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

# Assign role

> Assign role to user



## OpenAPI

````yaml post /v1/users/{user_id}/roles
openapi: 3.0.0
info:
  title: Roles API
  version: 1.0.0
  description: API for role-based access control (RBAC)
servers: []
security:
  - bearerAuth: []
tags:
  - name: Roles
    description: Role management operations
  - name: User Roles
    description: User-role management operations
paths:
  /v1/users/{user_id}/roles:
    parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
    post:
      tags:
        - User Roles
      summary: Assign role
      description: Assign role to user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignRoleRequest'
      responses:
        '201':
          description: Role assigned successfully
        '400':
          $ref: '#/components/responses/ValidationError'
        '409':
          $ref: '#/components/responses/DuplicateAssignment'
components:
  schemas:
    AssignRoleRequest:
      type: object
      required:
        - role_id
      properties:
        role_id:
          type: string
          format: uuid
  responses:
    ValidationError:
      description: Invalid input
      content:
        application/json:
          schema:
            $ref: 7355f1ac-435b-4f39-bfee-138ac8037fb0
          example:
            code: roles.invalid_role_name
            message: Invalid role name
    DuplicateAssignment:
      description: User already has role
      content:
        application/json:
          schema:
            $ref: 7355f1ac-435b-4f39-bfee-138ac8037fb0
          example:
            code: roles.user_already_has_role
            message: User already has this role

````