OpenAPI Specification
openapi: 3.0.3
info:
title: Liferay Roles API
description: Roles API Basics. You can create and manage roles from the Application menu, but you can also use Liferay's REST APIs. Call these services to manage roles, including associating and dissociating users to regular, site, and organization roles.
version: v1.0
contact:
name: Liferay
url: https://learn.liferay.com/w/dxp/integration/headless-apis/user-management-apis/roles-api-basics
servers:
- url: http://localhost:8080/o/headless-admin-user/v1.0
description: Default Liferay headless admin user API base URL
security:
- basicAuth: []
tags:
- name: Roles
description: Manage roles and role associations
paths:
/roles:
get:
tags:
- Roles
summary: List roles
description: Returns the collection of roles available in Liferay.
operationId: getRoles
responses:
'200':
description: A page of roles
content:
application/json:
schema:
$ref: '#/components/schemas/RolePage'
/roles/{roleId}:
get:
tags:
- Roles
summary: Get a role
description: Returns a single role identified by its ID.
operationId: getRole
parameters:
- $ref: '#/components/parameters/RoleId'
responses:
'200':
description: The requested role
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
/roles/{roleId}/association/user-account/{userId}:
post:
tags:
- Roles
summary: Associate a regular role to a user
operationId: associateRoleToUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
responses:
'204':
description: Association created
delete:
tags:
- Roles
summary: Remove regular role association from a user
operationId: dissociateRoleFromUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
responses:
'204':
description: Association removed
/roles/{roleId}/association/user-account/{userId}/site/{siteId}:
post:
tags:
- Roles
summary: Associate a site role to a user
operationId: associateSiteRoleToUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/SiteId'
responses:
'204':
description: Association created
delete:
tags:
- Roles
summary: Remove site role association from a user
operationId: dissociateSiteRoleFromUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/SiteId'
responses:
'204':
description: Association removed
/roles/{roleId}/association/user-account/{userId}/organization/{orgId}:
post:
tags:
- Roles
summary: Associate an organization role to a user
operationId: associateOrgRoleToUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/OrgId'
responses:
'204':
description: Association created
delete:
tags:
- Roles
summary: Remove organization role association from a user
operationId: dissociateOrgRoleFromUser
parameters:
- $ref: '#/components/parameters/RoleId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/OrgId'
responses:
'204':
description: Association removed
components:
parameters:
UserId:
in: path
name: userId
required: true
schema:
type: integer
format: int64
RoleId:
in: path
name: roleId
required: true
schema:
type: integer
format: int64
OrgId:
in: path
name: orgId
required: true
schema:
type: integer
format: int64
SiteId:
in: path
name: siteId
required: true
schema:
type: integer
format: int64
schemas:
Role:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
description:
type: string
roleType:
type: string
enum:
- regular
- site
- organization
dateCreated:
type: string
format: date-time
dateModified:
type: string
format: date-time
RolePage:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Role'
page:
type: integer
pageSize:
type: integer
totalCount:
type: integer
securitySchemes:
basicAuth:
type: http
scheme: basic