All Downloads are FREE. Search and download functionalities are using the official Maven repository.

api.apm_v2_wip.yaml Maven / Gradle / Ivy

There is a newer version: 0.8.0
Show newest version
openapi: 3.0.1
info:
  title: 1000kit APM permission api
  description: API for permission and application management
  version: v2
paths:
  /applications/{appid}/permissions:
    get:
      tags:
      - applications
      summary: Get permissions for app for provided principal
      description: The permissions are determined based on the role claims in the
        principal token. The token is mandatory.
      operationId: getPermissionsForToken
      parameters:
      - name: appid
        in: path
        description: Application identifier
        required: true
        schema:
          type: string
        example: ibt-core or pon-inventory
      - name: x-principal-token
        in: header
        description: user principal JWT token
        schema:
          type: string
      - name: x-principal-roles
        in: header
        description: principal roles(comma separated) for which to fetch permissions
        schema:
          type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionDTO'
        400:
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
  /permissions:
    get:
      tags:
      - permissions
      summary: Get permissions across all apps for provided principal
      description: The permissions are determined based on the role claims in the
        principal token. The token is mandatory.
      operationId: getPermissionsForToken_1
      parameters:
      - name: principal_token
        in: header
        description: JWT Token with principal claims
        required: true
        schema:
          type: string
      - name: x-principal-roles
        in: header
        description: principal roles(comma separated) for which to fetch permissions
        schema:
          type: string
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: Permissions groupped by applicationId
        400:
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestException'
components:
  schemas:
    PermissionDTO:
      type: object
      properties:
        resource:
          type: string
          description: Domain resource that this permissions is applied to
          example: SERVICE_ORDER
        action:
          type: string
          description: Action invocable on the domain resource that this permissions
            is applied to
          example: CREATE
        key:
          type: string
          description: Permission identifier in form RESOURCE#ACTION
          example: SERVICE_ORDER#CREATE
    RestException:
      type: object
      properties:
        code:
          type: string
        codeClass:
          type: string
        message:
          type: string
        parameters:
          type: array
          items:
            type: object
        namedParameters:
          type: object
          additionalProperties:
            type: object




© 2015 - 2024 Weber Informatics LLC | Privacy Policy