OpenAPI Specification
openapi: 3.0.0
info:
description: Api Documentation
version: '1.0'
title: Api Documentation Accounts person-controller-v2 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-v2
description: Person Controller v2
paths:
/v2/persons:
get:
tags:
- person-controller-v2
summary: Search/get persons
description: This web service provides ability to search/get persons.
operationId: getPerson
parameters:
- name: chain-id
in: header
required: true
schema:
type: string
- name: customer-id
in: header
required: true
schema:
type: integer
format: int32
- name: personUniqueId
in: query
required: false
schema:
type: string
- name: username
in: query
required: false
schema:
type: string
- name: primaryEmailAddress
in: query
required: false
schema:
type: string
- name: includePersonUdas
in: query
required: false
schema:
type: boolean
default: false
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PersonView'
post:
tags:
- person-controller-v2
summary: Create/update persons
description: This web service provides ability to create/update persons. TO BE USED ONLY BY SAP CONNECTORS.
operationId: bulkUpsertPersonsForSAPConnector_1
parameters:
- name: chain-id
in: header
required: true
schema:
type: string
- name: customer-id
in: header
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PersonView'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/Response'
/v2/persons/{personUniqueId}/sanitize:
post:
tags:
- person-controller-v2
summary: Sanitizes a Person's PII (personally identifiable information. This includes first name, last name, email address, title, vendor 1 (employee number), and username. Your implementation must be configured to use this option. Please submit a case to request access if necessary
operationId: sanitizePersonPII
parameters:
- name: chain-id
in: header
required: false
schema:
type: string
- name: customer-id
in: header
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
/v2/persons/{person-unique-id}/subscriptions/{subscription-type}:
post:
tags:
- person-controller-v2
summary: Let a person subscribe/unsubscribe to notifications
description: This web service allows an external application to modify notification preferences.
operationId: processPersonNotifications
parameters:
- name: chain-id
in: header
required: true
schema:
type: string
- name: customer-id
in: header
required: true
schema:
type: integer
format: int32
- name: person-unique-id
in: path
required: true
schema:
type: string
- name: subscription-type
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: string
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
/v2/persons/{person-unique-id}/subscriptions:
get:
tags:
- person-controller-v2
summary: Retrieve a person subscriptions
description: This web service allows an external application to view a person notification preferences.
operationId: getPersonSubscriptions
parameters:
- name: chain-id
in: header
required: true
schema:
type: string
- name: customer-id
in: header
required: true
schema:
type: integer
format: int32
- name: person-unique-id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
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