Liferay · Capability

Liferay Roles API — Roles

Liferay Roles API — Roles. 8 operations. Lead operation: List roles. Self-contained Naftiko capability covering one Liferay business surface.

Run with Naftiko LiferayRoles

What You Can Do

GET
Getroles — List roles
/v1/roles
GET
Getrole — Get a role
/v1/roles/{roleid}
POST
Associateroletouser — Associate a regular role to a user
/v1/roles/{roleid}/association/user-account/{userid}
DELETE
Dissociaterolefromuser — Remove regular role association from a user
/v1/roles/{roleid}/association/user-account/{userid}
POST
Associateorgroletouser — Associate an organization role to a user
/v1/roles/{roleid}/association/user-account/{userid}/organization/{orgid}
DELETE
Dissociateorgrolefromuser — Remove organization role association from a user
/v1/roles/{roleid}/association/user-account/{userid}/organization/{orgid}
POST
Associatesiteroletouser — Associate a site role to a user
/v1/roles/{roleid}/association/user-account/{userid}/site/{siteid}
DELETE
Dissociatesiterolefromuser — Remove site role association from a user
/v1/roles/{roleid}/association/user-account/{userid}/site/{siteid}

MCP Tools

list-roles

List roles

read-only idempotent
get-role

Get a role

read-only idempotent
associate-regular-role-user

Associate a regular role to a user

remove-regular-role-association-user

Remove regular role association from a user

idempotent
associate-organization-role-user

Associate an organization role to a user

remove-organization-role-association-user

Remove organization role association from a user

idempotent
associate-site-role-user

Associate a site role to a user

remove-site-role-association-user

Remove site role association from a user

idempotent

Capability Spec

liferay-roles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Liferay Roles API — Roles
  description: 'Liferay Roles API — Roles. 8 operations. Lead operation: List roles. Self-contained Naftiko capability covering
    one Liferay business surface.'
  tags:
  - Liferay
  - Roles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LIFERAY_API_KEY: LIFERAY_API_KEY
capability:
  consumes:
  - type: http
    namespace: liferay-roles
    baseUri: http://localhost:8080/o/headless-admin-user/v1.0
    description: Liferay Roles API — Roles business capability. Self-contained, no shared references.
    resources:
    - name: roles
      path: /roles
      operations:
      - name: getroles
        method: GET
        description: List roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles-roleId
      path: /roles/{roleId}
      operations:
      - name: getrole
        method: GET
        description: Get a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles-roleId-association-user-account-userId
      path: /roles/{roleId}/association/user-account/{userId}
      operations:
      - name: associateroletouser
        method: POST
        description: Associate a regular role to a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: dissociaterolefromuser
        method: DELETE
        description: Remove regular role association from a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles-roleId-association-user-account-userId-organization-orgId
      path: /roles/{roleId}/association/user-account/{userId}/organization/{orgId}
      operations:
      - name: associateorgroletouser
        method: POST
        description: Associate an organization role to a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: dissociateorgrolefromuser
        method: DELETE
        description: Remove organization role association from a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: roles-roleId-association-user-account-userId-site-siteId
      path: /roles/{roleId}/association/user-account/{userId}/site/{siteId}
      operations:
      - name: associatesiteroletouser
        method: POST
        description: Associate a site role to a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: dissociatesiterolefromuser
        method: DELETE
        description: Remove site role association from a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: basic
      username: '{{env.LIFERAY_USER}}'
      password: '{{env.LIFERAY_PASS}}'
  exposes:
  - type: rest
    namespace: liferay-roles-rest
    port: 8080
    description: REST adapter for Liferay Roles API — Roles. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/roles
      name: roles
      description: REST surface for roles.
      operations:
      - method: GET
        name: getroles
        description: List roles
        call: liferay-roles.getroles
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/roles/{roleid}
      name: roles-roleid
      description: REST surface for roles-roleId.
      operations:
      - method: GET
        name: getrole
        description: Get a role
        call: liferay-roles.getrole
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/roles/{roleid}/association/user-account/{userid}
      name: roles-roleid-association-user-account-userid
      description: REST surface for roles-roleId-association-user-account-userId.
      operations:
      - method: POST
        name: associateroletouser
        description: Associate a regular role to a user
        call: liferay-roles.associateroletouser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: dissociaterolefromuser
        description: Remove regular role association from a user
        call: liferay-roles.dissociaterolefromuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/roles/{roleid}/association/user-account/{userid}/organization/{orgid}
      name: roles-roleid-association-user-account-userid-organization-orgid
      description: REST surface for roles-roleId-association-user-account-userId-organization-orgId.
      operations:
      - method: POST
        name: associateorgroletouser
        description: Associate an organization role to a user
        call: liferay-roles.associateorgroletouser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: dissociateorgrolefromuser
        description: Remove organization role association from a user
        call: liferay-roles.dissociateorgrolefromuser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/roles/{roleid}/association/user-account/{userid}/site/{siteid}
      name: roles-roleid-association-user-account-userid-site-siteid
      description: REST surface for roles-roleId-association-user-account-userId-site-siteId.
      operations:
      - method: POST
        name: associatesiteroletouser
        description: Associate a site role to a user
        call: liferay-roles.associatesiteroletouser
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: dissociatesiterolefromuser
        description: Remove site role association from a user
        call: liferay-roles.dissociatesiterolefromuser
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: liferay-roles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Liferay Roles API — Roles. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-roles
      description: List roles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: liferay-roles.getroles
      outputParameters:
      - type: object
        mapping: $.
    - name: get-role
      description: Get a role
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: liferay-roles.getrole
      outputParameters:
      - type: object
        mapping: $.
    - name: associate-regular-role-user
      description: Associate a regular role to a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: liferay-roles.associateroletouser
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-regular-role-association-user
      description: Remove regular role association from a user
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: liferay-roles.dissociaterolefromuser
      outputParameters:
      - type: object
        mapping: $.
    - name: associate-organization-role-user
      description: Associate an organization role to a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: liferay-roles.associateorgroletouser
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-organization-role-association-user
      description: Remove organization role association from a user
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: liferay-roles.dissociateorgrolefromuser
      outputParameters:
      - type: object
        mapping: $.
    - name: associate-site-role-user
      description: Associate a site role to a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: liferay-roles.associatesiteroletouser
      outputParameters:
      - type: object
        mapping: $.
    - name: remove-site-role-association-user
      description: Remove site role association from a user
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: liferay-roles.dissociatesiterolefromuser
      outputParameters:
      - type: object
        mapping: $.