Emburse person-controller-v3 API

Person Controller v3

OpenAPI Specification

emburse-person-controller-v3-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Api Documentation
  version: '1.0'
  title: Api Documentation Accounts person-controller-v3 API
  termsOfService: urn:tos
  contact: {}
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://service.chromeriver.com
tags:
- name: person-controller-v3
  description: Person Controller v3
paths:
  /v3/persons:
    get:
      tags:
      - person-controller-v3
      summary: Search/get persons
      description: This web service provides ability to search/get persons by Name and Email.
      operationId: getPersons_1
      parameters:
      - name: chain-id
        in: header
        description: Reference used to track the flow of the request
        required: true
        schema:
          type: string
      - name: firstName
        in: query
        description: First Name
        required: false
        schema:
          type: string
      - name: lastName
        in: query
        description: Last Name
        required: false
        schema:
          type: string
      - name: emailAddress
        in: query
        description: Email address
        required: false
        schema:
          type: string
      - name: personUniqueId
        in: query
        description: Person Unique Identifier
        required: false
        schema:
          type: string
      - name: vendorCode1
        in: query
        description: Vendor Code1
        required: false
        schema:
          type: string
      - name: vendorCode2
        in: query
        description: Vendor Code2
        required: false
        schema:
          type: string
      - name: statuses
        in: query
        description: Statuses
        required: false
        schema:
          type: array
          items:
            type: string
      - name: x-api-key
        in: header
        description: API key for Authentication
        required: true
      - name: customer-code
        in: header
        description: Unique customer identifier provided by Chrome River
        required: true
      responses:
        '200':
          description: Person was retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonView'
        '400':
          description: Processing or Data Issue - See errorMessage in response body for details
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonView'
        '401':
          description: Customer Code is not authorized.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonView'
        '404':
          description: All the parameters are empty
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonView'
        '503':
          description: Service unavailable.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonView'
    post:
      tags:
      - person-controller-v3
      summary: Create/update persons
      description: 'This web service provides ability to create/update persons. TO BE USED ONLY BY SAP CONNECTORS. This endpoint tokenizes all PII data before sending the request to Chrome River.

        '
      operationId: bulkUpsertPersonsForSAPConnector
      parameters:
      - name: chain-id
        in: header
        description: Reference used to track the flow of the request
        required: true
        schema:
          type: string
      - name: x-api-key
        in: header
        description: API key for Authentication
        required: true
      - name: customer-code
        in: header
        description: Unique customer identifier provided by Chrome River
        required: true
      responses:
        '200':
          description: All persons were processed successfully.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
        '207':
          description: Response consists of successes and failures.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
        '400':
          description: Processing or Data Issue - See errorMessage in response body for details
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
        '422':
          description: All persons were not processed due to errors.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
        '503':
          description: Service unavailable.
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
components:
  schemas:
    AlternateCurrency:
      type: object
      properties:
        type:
          type: string
          description: Currency type
          enum:
          - ALT
          - OTHER
          example: ALT
        code:
          type: string
          description: Currency code in ISO-4217
          example: USD
      required:
      - code
      - type
    PersonEntityView:
      type: object
      properties:
        roleName:
          type: string
          description: The name of the role for the person-entity relationship. Max 50 characters
          example: APReview
        entityTypeCode:
          type: string
          description: The entity type code for the person-entity relationship. Max 50 characters
          example: DEPT
        entityTypeName:
          type: string
          description: The entity type name for the person-entity relationship; not required for create/update. Max 50 characters
          example: Department
        entityCode:
          type: string
          description: The entity code for the person-entity relationship. Max 50 characters
          example: 100
        entityName:
          type: string
          description: The entity name for the person-entity relationship; not required for create/update. Max 100 characters
          example: Administrative
      required:
      - entityCode
      - entityTypeCode
      - roleName
    PersonView:
      type: object
      properties:
        personResourceId:
          type: string
          description: Unique identifier for the person, used by external partners (fixed-length hash, non-updateable). 8 characters.
          example: J066anNm
        username:
          type: string
          description: Person's user name for login. Max 50 characters.
          example: jdoe
        personUniqueId:
          type: string
          description: Person's unique record identifier. Max 100 characters.
          example: jdoe1
        primaryEmailAddress:
          type: string
          description: Unique email address for the person. Max 100 characters
          example: john.doe@company.com
        firstName:
          type: string
          description: Person's first name. Maximum 50 characters
          example: John
        lastName:
          type: string
          description: Person's last name. Maximum 50 characters
          example: Doe
        primaryCurrency:
          type: string
          description: Primary currency in ISO-4217
          example: USD
        locale:
          type: string
          description: Person's assigned language code. Defaults to "en"
          enum:
          - en
          - ld
          - fr
          - it
          - ja
          - de
          - fr_CA
          - es
          - pt_BR
          - ru
          - zh_CN
          - pl
          - en_GB
          - hr
          - bg
          - el
          - cs
          - et
          - mk
          - hu
          - lv
          - ro
          - sr
          - sk
          - uk
          - nl
          - ko
          - en_UK
          - lt
          - ms
          - hy
          - zh_HK
          - tr
          - sl
          - km
          - th
          - vi
          - es_ES
          - fi
          - pt_PT
          example: en
        reportsToPersonUniqueId:
          type: string
          description: PersonUniqueID for direct reporting used for business rules. Maximum 100 characters.
          example: fsmith
        status:
          type: string
          description: Person's status in the system
          enum:
          - Pending
          - Active
          - Suspended
          - Disabled
          - Deleted
          example: Pending
        title:
          type: string
          description: Person's title. Maximum 255 characters.
          example: Sr. Manager
        vendorCode1:
          type: string
          description: Valid Accounts Payable Vendor1 ID for this person. Maximum 100 characters.
          example: 35171-001
        vendorCode2:
          type: string
          description: Valid Accounts Payable Vendor2 ID for this person. Maximum 100 characters.
          example: 35171-001
        dateFormat:
          type: string
          description: Person's date format preference. Default value is "MM/DD/YYYY"
          enum:
          - MM/DD/YYYY
          - DD/MM/YYYY
          example: MM/DD/YYYY
        numberFormat:
          type: string
          description: Person's currency format preference. Default value is "##,###.00"
          enum:
          - '###.###,00'
          - '###,###.00'
          example: '###,###.00'
        defaultMosaic:
          type: string
          description: Name of customer's default (primary) mosaic
          example: Primary
        vatLocation:
          type: string
          description: Person's ISO Alpha-2 country code for VAT purposes
          example: US
        adminAccess:
          type: boolean
          description: Configure whether user has access to administration module
          example: false
        copyingItems:
          type: boolean
          description: Configure copy behavior of previous data from one expense entry to the next to simplify expense entry
          example: true
        superDelegate:
          type: boolean
          description: User can delegate to full list of users for delegate access
          example: true
        analyticsModules:
          type: string
          description: Modules configuration for access to the Analytics Reporting tool
          enum:
          - 'NULL'
          - M01
          - M02
          - M03
          - M04
          - M05
          - M06
          - M07
          - M08
          - M09
          - M10
          example: M01
        analyticsUserType:
          type: string
          description: User type for access to the Analytics Reporting Tool
          enum:
          - 'NULL'
          - U99
          - U01
          - U02
          - U03
          - U04
          example: U01
        analyticsView:
          type: string
          description: View configuration for access to the Analytics Reporting tool
          enum:
          - 'NULL'
          - V01
          - V02
          - V03
          - V04
          - V05
          - V06
          - V07
          - V08
          - V09
          - V10
          example: V01
        alternateEmailAddresses:
          type: array
          description: Person's alternate email addresses. Email address limited to 100 characters.
          example: john.doe@company.com
          items:
            type: string
        alternateCurrencies:
          type: array
          description: Person's additional currency codes
          items:
            $ref: '#/components/schemas/AlternateCurrency'
        personEntities:
          type: array
          description: Assigns person to a customer's defined Entity structure.
          items:
            $ref: '#/components/schemas/PersonEntityView'
        udas:
          type: array
          description: Additional customer defined fields
          items:
            $ref: '#/components/schemas/PersonUdaView'
        interactionUserId:
          type: string
          description: ID for interaction integration. Only available to customers with accounts setup to use interaction features. Maximum 50 characters.
          example: JDOE
        interactionAccountName:
          type: string
          description: Account Name for interaction integration. Only available to customers with accounts setup to use interaction features. Maximum 50 characters.
          example: JDOE
      required:
      - defaultMosaic
      - firstName
      - lastName
      - personUniqueId
      - primaryCurrency
      - primaryEmailAddress
      - status
      - username
    Response:
      type: object
      properties:
        personUniqueId:
          type: string
          description: Unique identifier for a person
          example: jdoe
        result:
          type: string
          description: Result of operation
          enum:
          - SUCCESS
          - FAIL
          example: FAIL
        errorMessage:
          type: string
          description: Error message provided for a FAIL result
          example: firstName may not be empty
    PersonUdaView:
      type: object
      properties:
        name:
          type: string
          description: 'Customer defined field name (Note: UDF1/UDF2/UDF3 are reserved names which are used for population of UDF fields) '
          example: StartDate
        value:
          type: string
          description: Customer defined field value
          example: 2017-10-03 00:00:00
      required:
      - name
      - value