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