Nuxeo Group API

Group Operations

OpenAPI Specification

nuxeo-group-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  version: LTS 2021
  title: Nuxeo Platform ACL Group API
  termsOfService: https://www.nuxeo.com/about/why-nuxeo/
  contact:
    email: support@nuxeo.com
    url: https://www.nuxeo.com/contact/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://d1q6f0aelx0por.cloudfront.net/product-logos/library-nuxeo-logo.png
  description: '# Nuxeo Platform https://www.nuxeo.com/

    OpenAPI 3.0 Specification for the Nuxeo Platform.'
servers:
- url: https://{host}:{port}/nuxeo/api/v1
  variables:
    host:
      default: demo.nuxeo.com
      description: Nuxeo Platform Host
    port:
      default: '443'
      description: Nuxeo Platform Port
- url: https://nightly.nuxeo.com/nuxeo/api/v1
  description: Nuxeo Platform Nightly Test Server
tags:
- name: Group
  description: Group Operations
paths:
  /group:
    post:
      operationId: GroupPost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/group'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Create a group
      tags:
      - Group
  /group/search:
    get:
      operationId: GroupSearchGet
      parameters:
      - description: 'Query string. Ex: ''Admin'' will return Administrator user'
        in: query
        name: q
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/documents'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Search a group
      tags:
      - Group
  /group/{groupName}:
    delete:
      operationId: GroupNameDelete
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Delete a group by its name
      tags:
      - Group
    get:
      operationId: GroupNameGet
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Get a group by its name
      tags:
      - Group
    put:
      operationId: GroupNamePut
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/group'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/group'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Update a group by its name
      tags:
      - Group
  /group/{groupName}/@groups:
    get:
      operationId: GroupsAdapterGet
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/documents'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Get the group members of a group
      tags:
      - Group
  /group/{groupName}/@users:
    get:
      operationId: UsersAdapterGet
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userList'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Get the user members of a group
      tags:
      - Group
  /group/{groupName}/user/{userName}:
    post:
      operationId: GroupUserPost
      parameters:
      - description: 'Name of the group, ex: ''members'''
        in: path
        name: groupName
        required: true
        schema:
          type: string
      - description: 'Username of the user, ex: ''Administrator'''
        in: path
        name: userName
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Add a user to a group
      tags:
      - Group
components:
  schemas:
    Document:
      properties:
        changeToken:
          type: string
          uniqueItems: false
        contextParameters:
          type: object
          uniqueItems: false
        entity-type:
          type: string
          uniqueItems: false
        facets:
          items:
            type: string
          type: array
        lastModified:
          format: date
          type: string
          uniqueItems: false
        path:
          type: string
          uniqueItems: false
        properties:
          items:
            $ref: '#/components/schemas/Property'
          type: object
          uniqueItems: true
        repository:
          type: string
          uniqueItems: false
        state:
          type: string
          uniqueItems: false
        title:
          type: string
          uniqueItems: false
        type:
          type: string
          uniqueItems: false
        uid:
          type: string
          uniqueItems: false
        versionLabel:
          type: string
          uniqueItems: false
      required:
      - entity-type
      uniqueItems: false
    documents:
      properties:
        currentPageIndex:
          type: integer
          uniqueItems: false
        currentPageOffset:
          type: integer
          uniqueItems: false
        currentPageSize:
          type: integer
          uniqueItems: false
        entity-type:
          type: string
          uniqueItems: false
        entries:
          items:
            $ref: '#/components/schemas/Document'
          type: array
          uniqueItems: false
        erroMessage:
          type: string
          uniqueItems: false
        hasError:
          type: boolean
          uniqueItems: false
        isLastPageAvailable:
          type: boolean
          uniqueItems: false
        isNext:
          type: boolean
          uniqueItems: false
        isPaginable:
          type: boolean
          uniqueItems: false
        isPreviousPageAvailable:
          type: boolean
          uniqueItems: false
        isSortable:
          type: boolean
          uniqueItems: false
        maxPageSize:
          type: integer
          uniqueItems: false
        numberOfPages:
          type: integer
          uniqueItems: false
        pageCount:
          type: integer
          uniqueItems: false
        pageIndex:
          type: integer
          uniqueItems: false
        pageSize:
          type: integer
          uniqueItems: false
        resultCount:
          type: integer
          uniqueItems: false
        totalSize:
          type: integer
          uniqueItems: false
      required:
      - entity-type
      - entries
      uniqueItems: false
    group:
      properties:
        label:
          type: string
          uniqueItems: false
        name:
          type: string
          uniqueItems: false
        url:
          type: string
          uniqueItems: false
      required:
      - label
      - name
      - url
      uniqueItems: false
    user:
      properties:
        entity-type:
          type: string
          uniqueItems: false
        extendedGroups:
          items:
            $ref: '#/components/schemas/GroupRef'
          type: object
          uniqueItems: false
        id:
          type: string
          uniqueItems: false
        isAdministrator:
          type: boolean
          uniqueItems: false
        isAnonymous:
          type: boolean
          uniqueItems: false
        properties:
          items:
            $ref: '#/components/schemas/Property'
          type: object
          uniqueItems: false
      required:
      - entity-type
      - id
      - isAdministrator
      - isAnonymous
      uniqueItems: false
    userList:
      properties:
        currentPageIndex:
          type: integer
          uniqueItems: false
        currentPageOffset:
          type: integer
          uniqueItems: false
        currentPageSize:
          type: integer
          uniqueItems: false
        entity-type:
          type: string
          uniqueItems: false
        entries:
          items:
            $ref: '#/components/schemas/user'
          type: array
          uniqueItems: false
        erroMessage:
          type: string
          uniqueItems: false
        hasError:
          type: boolean
          uniqueItems: false
        isLastPageAvailable:
          type: boolean
          uniqueItems: false
        isNext:
          type: boolean
          uniqueItems: false
        isPaginable:
          type: boolean
          uniqueItems: false
        isPreviousPageAvailable:
          type: boolean
          uniqueItems: false
        isSortable:
          type: boolean
          uniqueItems: false
        maxPageSize:
          type: integer
          uniqueItems: false
        numberOfPages:
          type: integer
          uniqueItems: false
        pageCount:
          type: integer
          uniqueItems: false
        pageIndex:
          type: integer
          uniqueItems: false
        pageSize:
          type: integer
          uniqueItems: false
        resultCount:
          type: integer
          uniqueItems: false
        totalSize:
          type: integer
          uniqueItems: false
      required:
      - entity-type
      - entries
      uniqueItems: false
    GroupRef:
      properties:
        label:
          type: string
          uniqueItems: false
        name:
          type: string
          uniqueItems: false
        url:
          type: string
          uniqueItems: false
      required:
      - label
      - name
      - url
      uniqueItems: false
    Property:
      properties:
        context:
          type: object
          uniqueItems: false
        params:
          type: object
          uniqueItems: false
      required:
      - context
      - params
      uniqueItems: false
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic
    token:
      type: apiKey
      in: header
      name: X-Authentication-Token
externalDocs:
  description: Nuxeo Documentation
  url: https://doc.nuxeo.com/