Basware UserGroupAssociatedUsers API

The UserGroupAssociatedUsers API from Basware — 1 operation(s) for usergroupassociatedusers.

OpenAPI Specification

basware-usergroupassociatedusers-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Basware OAUTH2 authentication APIs AccountingDocuments UserGroupAssociatedUsers API
  description: "**Using OAUTH2.0 authentication:**\n\nGet API access token from api.basware.com/tokens\n1. Using client id and client secret, which you can obtain from Basware. \n2. Specify which APIs can be accessed by using the token e.g. Read only access to vendors API only (these are called scopes). Available scopes are listed at <https://developer.basware.com/api/p2p/manual#AccessRights>. \n3. Each token has an expiration time, until which it can be used to call APIs.\n\nWhen using OAUTH2 authentication, you need to pass the OAUTH2 authentication token when calling Basware API endpoints. Available Basware API operations are documented at <https://api.basware.com/swagger>. \n\nSee the Basware API developer site at <https://developer.basware.com/api/p2p/manual#Authentication> for more details on API authentication."
  version: 1.0.0
  x-logo:
    url: https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png
tags:
- name: UserGroupAssociatedUsers
paths:
  /v1/userGroupAssociatedUsers:
    post:
      tags:
      - UserGroupAssociatedUsers
      summary: Associates users with userGroup
      parameters:
      - name: Content-Type
        in: header
        description: Specifies the media type of the resource. Value application/json is supported.
        schema:
          type: string
        example: application/json
      requestBody:
        description: External code of the user associated to the user group.
        content:
          application/json-patch+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UserGroupAssociatedUser'
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UserGroupAssociatedUser'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UserGroupAssociatedUser'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UserGroupAssociatedUser'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IModelValidationResult'
            application/json:
              schema:
                $ref: '#/components/schemas/IModelValidationResult'
            text/json:
              schema:
                $ref: '#/components/schemas/IModelValidationResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    get:
      tags:
      - UserGroupAssociatedUsers
      summary: Returns user associations with user Groups
      parameters:
      - name: UserGroupExternalCode
        in: query
        schema:
          type: string
      - name: UserExternalCode
        in: query
        schema:
          type: string
      - name: x-amz-meta-continuationToken
        in: header
        description: Used to get next page of results when item count indicated by 'pageSize' is exceeded. A token is returned in header (not body) parameter 'X-amz-meta-continuationToken' of the response whenever there are more records to fetch. Post the received value here in a new HEADER parameter on the next GET request to receive the next page of results. When getting the next page of results, you must include the same query parameters that were used when getting the first page.
        schema:
          type: string
        example: 00fbeb94-7644-4877-8086-d5a22fd299b1
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserGroupAssociatedUser'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    delete:
      tags:
      - UserGroupAssociatedUsers
      summary: Deletes user association with user group.
      description: "For manual one-time operations only, such as a manual clean-up to remove test data generated during API integration development. Only removes records from API layer. \r\nDeletion in target systems needs to be done separately using the data deletion mechanisms available in each of the target system in addition to deleting the data in Basware API."
      requestBody:
        description: "Contains the body of the request.\r\n            If both (userGroupExternalCode and UserExternalCode) values are provided then the record will be deleted directly, else delete lambda will be triggered."
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UserGroupAssociationsDeleteRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/UserGroupAssociationsDeleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/UserGroupAssociationsDeleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UserGroupAssociationsDeleteRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '202':
          description: RequestAccepted
        '500':
          description: Unexpected error
components:
  schemas:
    UserGroupAssociationsDeleteRequest:
      type: object
      properties:
        userGroupExternalCode:
          maxLength: 36
          minLength: 0
          type: string
          nullable: true
        userExternalCode:
          maxLength: 36
          minLength: 0
          type: string
          nullable: true
        lastUpdated:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    DeleteResponse:
      type: object
      properties:
        statusApiLink:
          type: string
          description: Gets or sets the API link to check the status of the delete operation.
          nullable: true
        taskName:
          type: string
          description: Gets or sets the name of the delete task.
          nullable: true
        taskStatus:
          type: string
          description: Gets or sets the current status of the delete task.
          nullable: true
          readOnly: true
        statusEnum:
          $ref: '#/components/schemas/BulkOperationStatus'
      additionalProperties: false
      description: Represents the response returned after a delete operation.
    BulkOperationStatus:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: Represents the possible statuses of a bulk operation.
      format: int32
    IModelValidationResult:
      type: object
      properties:
        requestId:
          type: string
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IModelValidationError'
          nullable: true
          readOnly: true
        hasErrors:
          type: boolean
          readOnly: true
      additionalProperties: false
    UserGroupAssociatedUser:
      required:
      - userExternalCode
      - userGroupExternalCode
      type: object
      properties:
        userGroupExternalCode:
          maxLength: 100
          minLength: 1
          type: string
          description: External code of the user group to which the user is associated.
          example: IND_Admins
        userExternalCode:
          maxLength: 100
          minLength: 1
          type: string
          description: External code of the user associated to the user group.
          example: joe@basware.com
      additionalProperties: false
    IModelValidationError:
      type: object
      properties:
        code:
          type: string
          nullable: true
        externalCode:
          type: string
          nullable: true
        info:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        cdmErrorMappingOrganizationCode:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    HTTPBasic:
      type: http
      scheme: basic