Nuxeo User API

User Operations

OpenAPI Specification

nuxeo-user-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  version: LTS 2021
  title: Nuxeo Platform ACL User 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: User
  description: User Operations
paths:
  /me:
    get:
      operationId: MeGet
      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: Get the logged in user
      tags:
      - User
  /me/changepassword:
    put:
      operationId: MePasswordPut
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/changePassword'
      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: Change the logged in user's password
      tags:
      - User
  /user:
    post:
      operationId: UserPost
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/user'
      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: Create a user
      tags:
      - User
  /user/search:
    get:
      operationId: UserSearchGet
      parameters:
      - description: Query string
        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: Get a user by its name
      tags:
      - User
  /user/{userName}:
    delete:
      operationId: UserByNameDelete
      parameters:
      - 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: Delete a user by its name
      tags:
      - User
    get:
      operationId: UserByNameGet
      parameters:
      - 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: Get a user by its name
      tags:
      - User
    put:
      operationId: UserByNamePut
      parameters:
      - description: 'Username of the user, ex: ''Administrator'''
        in: path
        name: userName
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/user'
      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: Update a user by its name
      tags:
      - User
  /user/{userName}/group/{groupName}:
    post:
      operationId: UserAddGroupPost
      parameters:
      - description: 'Username of the user, ex: ''Administrator'''
        in: path
        name: userName
        required: true
        schema:
          type: string
      - 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/user'
        '401':
          description: Not Authorized to get document
        '404':
          description: Document not found
      summary: Add a group to a user
      tags:
      - User
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
    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
    changePassword:
      properties:
        newPassword:
          type: string
        oldPassword:
          type: string
      required:
      - newPassword
      - oldPassword
    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/