Physna Users API

The Users API from Physna — 4 operation(s) for users.

OpenAPI Specification

physna-users-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Physna Public ClientCredentials Users API
  version: 2.0.1
  contact:
    name: Support
    email: support@physna.com
servers:
- url: /v2
tags:
- name: Users
paths:
  /users/me:
    get:
      operationId: GetMe
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrentUserResponse'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
        - Authors
        - Viewers
      parameters:
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
  /users/me/accept-eula:
    patch:
      operationId: AcceptLicenseAgreement
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrentUserResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
        - Authors
        - Viewers
      parameters:
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
  /users:
    get:
      operationId: ListUsers
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserListResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
      parameters:
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
    post:
      operationId: CreateUser
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
      parameters:
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                roles:
                  items:
                    $ref: '#/components/schemas/Role'
                  type: array
                email:
                  type: string
              required:
              - roles
              - email
              type: object
  /users/{id}:
    get:
      operationId: GetUserById
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
    delete:
      operationId: DeleteUserById
      responses:
        '204':
          description: No content
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
    patch:
      operationId: UpdateUserById
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
      tags:
      - Users
      security:
      - okta:
        - Administrators
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: header
        name: X-PHYSNA-TENANTID
        required: false
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                roles:
                  items:
                    $ref: '#/components/schemas/Role'
                  type: array
                status:
                  type: string
                email:
                  type: string
              required:
              - roles
              - status
              - email
              type: object
components:
  schemas:
    User:
      properties:
        id:
          type: string
        externalId:
          type: string
        email:
          type: string
        department:
          type: string
        acceptedLicenseAgreement:
          type: boolean
        status:
          $ref: '#/components/schemas/UserStatus'
        roles:
          items:
            $ref: '#/components/schemas/Role'
          type: array
      required:
      - id
      - externalId
      - email
      - department
      - acceptedLicenseAgreement
      - status
      - roles
      type: object
      additionalProperties: false
    ErrorResponse:
      properties:
        error:
          properties:
            message:
              type: string
          required:
          - message
          type: object
      required:
      - error
      type: object
      additionalProperties: false
    UserStatus:
      enum:
      - Suspended
      - Active
      type: string
    UserResponse:
      properties:
        user:
          $ref: '#/components/schemas/User'
      required:
      - user
      type: object
      additionalProperties: false
    UserListResponse:
      properties:
        users:
          items:
            $ref: '#/components/schemas/User'
          type: array
      required:
      - users
      type: object
      additionalProperties: false
    Role:
      enum:
      - SA
      - Administrators
      - Authors
      - Viewers
      type: string
    CurrentUserResponse:
      properties:
        id:
          type: string
        externalId:
          type: string
        email:
          type: string
        department:
          type: string
        acceptedLicenseAgreement:
          type: boolean
        status:
          $ref: '#/components/schemas/UserStatus'
        roles:
          items:
            $ref: '#/components/schemas/Role'
          type: array
        tenants:
          items:
            type: string
          type: array
      required:
      - id
      - externalId
      - email
      - department
      - acceptedLicenseAgreement
      - status
      - roles
      - tenants
      type: object
      additionalProperties: false
  securitySchemes:
    okta:
      type: oauth2
      flows:
        authorizationCode:
          tokenUrl: https://physna.okta.com/oauth2/default/v1/token
          authorizationUrl: https://physna.okta.com/oauth2/default/v1/authorize
          scopes:
            openid: ''
            tenant: ''
            roles: ''
externalDocs:
  description: Public Api Guide
  url: https://physna.github.io/public-api-guide/