openapi: 3.0.0 info: description: Api Documentation version: '1.0' title: Api Documentation Accounts pre-approval-api-export-controller 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: pre-approval-api-export-controller paths: /v1/preapproval-exports: post: tags: - pre-approval-api-export-controller summary: Begin PreApproval Export for a customer description: This web service allows an external application to begin a PreApproval Export by Customer operationId: createPreApprovalExport parameters: - name: chain-id in: header description: Used for tracking the flow of the request required: true schema: type: string - name: x-api-key in: header description: API key for Authentication required: true schema: type: string - name: customer-code in: header description: Unique customer identifier provided by Chrome River required: true schema: type: string responses: '201': description: Created headers: export-id: description: Export ID style: simple schema: type: string content: application/json: schema: type: object '400': description: Customer Code is invalid. content: application/json: schema: type: object '401': description: Customer Code is not authorized. content: application/json: schema: type: object '503': description: Service unavailable. content: application/json: schema: type: object /v1/preapproval-exports/{exportId}/close-export-request: post: tags: - pre-approval-api-export-controller summary: Complete PreApproval Export for a customer description: This web service allows an external application to complete a PreApproval Export by Export Id operationId: completePreApprovalExport parameters: - name: chain-id in: header description: Used for tracking the flow of the request required: true schema: type: string - name: file-name in: header description: The export file name to be assigned to export required: false schema: type: string - name: exportId in: path description: Export ID to be completed required: true schema: type: string - name: x-api-key in: header description: API key for Authentication required: true schema: type: string - name: customer-code in: header description: Unique customer identifier provided by Chrome River required: true schema: type: string responses: '200': description: OK headers: end-time: description: End time style: simple schema: type: string export-id: description: Export ID style: simple schema: type: string content: application/json: schema: type: object '400': description: Customer Code is invalid. content: application/json: schema: type: object '401': description: Customer Code is not authorized. content: application/json: schema: type: object '503': description: Service unavailable. content: application/json: schema: type: object /v1/preapproval-exports/export-request: post: tags: - pre-approval-api-export-controller summary: Get Next Available PreApproval Export ID description: This web service allows an external application to request the next available PreApproval export ID available for export operationId: getNextAvailablePreApprovalExport parameters: - name: chain-id in: header description: Used for tracking the flow of the request required: true schema: type: string - name: integrationType in: query description: The integration type of the PreApproval Export required: true schema: type: string - name: x-api-key in: header description: API key for Authentication required: true schema: type: string - name: customer-code in: header description: Unique customer identifier provided by Chrome River required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: string '400': description: Customer Code is invalid. content: application/json: schema: type: string '401': description: Customer Code is not authorized. content: application/json: schema: type: string '503': description: Service unavailable. content: application/json: schema: type: string /v1/preapproval-exports/{exportId}: get: tags: - pre-approval-api-export-controller summary: Get PreApproval Data for Export description: This web service allows an external application to retrieve PreApproval Export Data by Export Id operationId: getPreApprovalHeadersByExport parameters: - name: chain-id in: header description: Used for tracking the flow of the request required: true schema: type: string - name: exportId in: path description: Export ID to be completed required: true schema: type: string - name: page-size in: query description: Used to get the number of PreApprovals per page. Defaults to all PreApprovals required: false schema: type: integer format: int32 default: 0 - name: page in: query description: The page on which to start viewing. Defaults to the first page required: false schema: type: integer format: int32 default: 0 - name: x-api-key in: header description: API key for Authentication required: true schema: type: string - name: customer-code in: header description: Unique customer identifier provided by Chrome River required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PreApprovalExport' '400': description: Customer Code is invalid. content: application/json: schema: $ref: '#/components/schemas/PreApprovalExport' '401': description: Customer Code is not authorized. content: application/json: schema: $ref: '#/components/schemas/PreApprovalExport' '503': description: Service unavailable. content: application/json: schema: $ref: '#/components/schemas/PreApprovalExport' components: schemas: Entity: required: - active - code - customerId - name - sortOrder type: object properties: entityID: type: integer format: int32 customerId: type: integer format: int32 name: type: string code: type: string active: type: boolean extraData1: type: string extraData2: type: string extraData3: type: string extraData4: type: string extraData5: type: string createSource: type: string personLoggedInID: type: integer format: int32 personDelegateID: type: integer format: int32 updateDate: type: string format: date-time sortOrder: type: string entityTypeID: type: integer format: int32 entityTypeCode: type: string personEntities: type: array items: $ref: '#/components/schemas/PersonEntity' entityLanguages: uniqueItems: true type: array items: $ref: '#/components/schemas/EntityLanguage' dnd: type: boolean PersonUDA: required: - createDate - customerID - updateDate - userDefinedAttributeID type: object properties: personUdaID: type: integer format: int32 person: $ref: '#/components/schemas/Person' userDefinedAttributeID: type: integer format: int32 customerID: type: integer format: int32 stringValue: type: string booleanValue: type: boolean entityValue: type: integer format: int32 dateValue: type: string format: date-time currencyValue: type: number numberValue: type: number isDeleted: type: boolean createDate: type: string format: date-time updateDate: type: string format: date-time udaName: type: string udaValue: type: string userDefinedAttributeValue: type: string writeOnly: true PAPersonTO: type: object properties: uniquePersonId: type: string firstName: type: string lastName: type: string title: type: string emailAddress: type: string personEntityV2s: type: array items: $ref: '#/components/schemas/PersonEntityV2' personEntities: type: array description: 'Simplified Person Entity with only three fields: RoleName, EntityType, and Entity' items: $ref: '#/components/schemas/PersonEntityExport' description: Set of Persons associated with the above set of PreApproval Reports Uda: type: object properties: userDefinedAttributeId: type: integer format: int32 customerId: type: integer format: int32 stringValue: type: string numberValue: type: number currencyValue: type: number entityValue: $ref: '#/components/schemas/Entity' entityValueInt: type: integer format: int32 dateValue: type: string format: date-time boolValue: type: boolean udaDataType: type: string enum: - BooleanValue - CurrencyValue - DateValue - EntityValue - NumberValue - StringValue - DecimalValue xmlElement: type: string udaName: type: string personStandardScreenLabel: type: string PALineItemTO: type: object properties: paLineItemId: type: string approvalAmount: type: number description: type: string xmlUdfData: type: array items: $ref: '#/components/schemas/Uda' udas: type: array items: $ref: '#/components/schemas/PAUDATO' typeName: type: string externalRef: type: string isPerDiem: type: boolean amountSpent: type: number lineItemTypeId: type: integer description: Line Item Type Id mapping to the set of PA Line Item Types format: int32 lineItemAllocations: type: array description: These line item allocations map to the header allocation but provide the CostCodeOverride field items: $ref: '#/components/schemas/PALineItemAllocationTO' EntityLanguage: required: - createDate - customerId - entityId - languageId - name - updateDate type: object properties: entityLanguageId: type: integer format: int32 customerId: type: integer format: int32 languageId: type: integer format: int32 entityId: type: integer format: int32 name: type: string createDate: type: string format: date-time updateDate: type: string format: date-time locale: type: string entity: $ref: '#/components/schemas/Entity' Person: required: - createDate - currencyCode1 - currencyMask - customerId - customerUniqueId - dateFormatMask - emailAddress - emailFormat - expenseBarID - firstName - isCopyingItems - isFirmReporting - isSuperDelegate - languageId - lastName - personStatusId - updateDate - useOnline - username type: object properties: personId: type: integer format: int32 customerId: type: integer format: int32 alternateEmails: type: array items: $ref: '#/components/schemas/PersonAlternateEmailAddress' firstName: type: string lastName: type: string username: type: string customerUniqueId: type: string reportsToPersonId: type: integer format: int32 emailAddress: type: string personStatusId: type: string enum: - '1' - '2' - '3' - '4' - '5' title: type: string carPlanId: type: integer format: int32 carPlanTierId: type: integer format: int32 currencyCode1: type: string vendor1: type: string currencyCode2: type: string vendor2: type: string dateFormatMask: type: string currencyMask: type: string expenseBarID: type: integer format: int32 country_Alpha2: type: string interactionUserID: type: string interactionAccountName: type: string isCopyingItems: type: boolean isFirmReporting: type: boolean isSuperDelegate: type: boolean useOnline: type: boolean languageId: type: integer format: int32 alternateCurrencyCodes: type: string createDate: type: string format: date-time updateDate: type: string format: date-time emailFormat: type: string isModifiable: type: boolean analyticsUserType: type: string enum: - 'NULL' - U99 - U01 - U02 - U03 - U04 analyticsModules: type: string enum: - 'NULL' - M01 - M02 - M03 - M04 - M05 - M06 - M07 - M08 - M09 - M10 analyticsView: type: string enum: - 'NULL' - V01 - V02 - V03 - V04 - V05 - V06 - V07 - V08 - V09 - V10 isAdmin: type: boolean phoneNumber: type: string personalDistanceDefault: type: number format: double personalDistanceCostDefault: type: number format: double createSource: type: string personLoggedInID: type: integer format: int32 personDelegateID: type: integer format: int32 personUDAs: type: array items: $ref: '#/components/schemas/PersonUDA' personProfile: $ref: '#/components/schemas/PersonProfile' statusDirectPay: type: string enum: - ACT - NONE personResourceId: type: string personEntities: type: array items: $ref: '#/components/schemas/PersonEntityV2' reportsToPerson: $ref: '#/components/schemas/Person' reportsToPersonName: type: string password: type: string password5702: type: string company: type: string companyId: type: string defaultApplication: type: string enum: - '1' - '2' - '3' mobileDeviceLogin: type: boolean loginMethod: type: string enum: - CHROME_DB - LDAP - CHROME_SSO - SAML_SSO - RADIUS_SSO currentLandingApps: type: array items: type: string enum: - '1' - '2' - '3' loginLocale: type: string mongoConf: type: string enableAnalytics: type: boolean crSsoPasswordOriginal: type: string encryptedPassword: type: string encryptedUsername: type: string encryptedCompanyId: type: string locationCodeForVat: type: string saveOnSelectExpenseTypeNames: type: string locationCodeForPerDiem: type: string locationCodeForPAPerDiem: type: string alternateEmailAddress1: type: string alternateEmailAddress2: type: string alternateEmailAddress3: type: string expenseBarCode: type: string distanceUnit: type: string crmNumber: type: string npi: type: integer format: int32 providerBusinessMailingAddressCityName: type: string providerBusinessMailingAddressStateName: type: string specialty: type: string healthCareProviderId: type: integer format: int32 enablePlatinumLinkInsideApp: type: boolean motdType: type: string enableGetDeparted: type: boolean isConfigurationEnabled: type: boolean writeOnly: true enableInvoiceMgmtGrid: type: boolean invoiceBarType: type: string invoiceOCRConfidenceThreshold: type: number poBarType: type: string esPersonSearchMap: type: object additionalProperties: type: object esPersonSearchQuery: type: string esPersonSearchQueryExclusion: type: string companyWideFeedIds: type: array items: type: integer format: int32 enableMatterOnSelectES: type: boolean enableBulkAdd: type: boolean displayAmexRealtimeNotifications: type: boolean usBankRealTimeNotificationsEnabled: type: boolean emburseRealTimeNotificationsEnabled: type: boolean displayAdminConsole: type: boolean isUIAdmin: type: boolean isSuperAdmin: type: boolean displayReconciliation: type: boolean displayReAssignButton: type: boolean displayReAssignButtonHeaderOnly: type: boolean hideApproverReturnOnLineItem: type: boolean hideApproverAdjustOnLineItem: type: boolean usingXmlUploadButton: type: boolean usingEastEuroPerDiem: type: boolean usingSalesforce: type: boolean displayImportFromPaCheckbox: type: boolean displayImportPerDiemMileageFromPaCheckbox: type: boolean defaultCheckedPaCheckbox: type: boolean paPerDiemTimePickerEnabled: type: boolean showFxRateSelectorInWizard: type: boolean hideOwnerTotalPayMeAmount: type: boolean languageLocale: type: string enableTravelBooking: type: boolean enableMultipleApprovalDelegates: type: boolean travelBookingURL: type: string openTravelBookingInNewTab: type: boolean alternateEmailAddresses: type: array items: type: string disableRecall: type: boolean disableGoogleMapsRouteChanges: type: boolean enableExpirePA: type: boolean useExpense: type: boolean enableExpenseManagement: type: boolean usingCrmAllocationAccountOnly: type: boolean useProsper: type: boolean delegateBankAccountEnabled: type: boolean sessionTimeoutInMinutes: type: integer format: int32 enableProfileCardPrivateComments: type: boolean enableNegativePerDiemAmount: type: boolean enableInterActionContactSearch: type: boolean membershipAccountEnabled: type: boolean enableCopyingPA: type: boolean isVatApprover: type: boolean isRiskApprover: type: boolean personalCreditCardEnabled: type: boolean personalChargesEnabled: type: boolean hideStatementPaidValues: type: boolean perDiemConfigurationType: type: string hideLogoutOption: type: boolean enableLineItemBulkEditAllocation: type: boolean showRoutingRuleDescription: type: boolean permissions: type: array items: $ref: '#/components/schemas/PermissionV2' fullName: type: string udf1: type: string udf2: type: string udf3: type: string germanPerDiemUser: type: boolean configurationEnabled: type: boolean usingPreApproval: type: boolean usingInvoice: type: boolean bankAccountEnabled: type: boolean usingCarPlan: type: boolean perDiemTimePickerEnabled: type: boolean usingPAExpenseMappingForApply: type: boolean dnd: type: boolean decryptedPhoneNumber: type: string emailPreference: type: string enum: - HTML - TEX1 isInvoiceApprovalPreviewOnly: type: boolean isInvoicePriorPreviewOnly: type: boolean isInvoiceManagementPreviewOnly: type: boolean isBulkSubmitEnabled: type: boolean isRecallInvoiceEnabled: type: boolean isInvoiceSubmitToOcrEnabled: type: boolean isInvoiceCreditCardEnabled: type: boolean isInvoiceChargeTypeEnabled: type: boolean isInvoiceDefaultLineItemTaxCodeDisabled: type: boolean isInvoiceOCREnabled: type: boolean isInvoiceGLFilterEnabled: type: boolean isInvoiceConvertTemplatesDisabled: type: boolean isUsingPo: type: boolean isPoManagementGridEnabled: type: boolean isPoApprovalPreviewOnly: type: boolean isPoPriorPreviewOnly: type: boolean isPoManagementPreviewOnly: type: boolean isPoBulkSubmitEnabled: type: boolean isPoRecallEnabled: type: boolean isPoSubmitToOcrEnabled: type: boolean isPoReceivingScreenEnabled: type: boolean PAHeaderAllocationTO: type: object properties: allocationId: type: string description: type: string entityId1: type: integer format: int32 entityId2: type: integer format: int32 percentage: type: number amountSpentApproved: type: number amountSpentConverted: type: number udaName: type: string udaValue: type: string PAHeaderTO: type: object properties: paHeaderId: type: string reportId: type: string reportOwnerId: type: string reportCreatorId: type: string reportName: type: string reportStatus: type: string fromDate: type: string format: date-time toDate: type: string format: date-time businessPurpose: type: string payMeInCurrency: type: string amountSpentApproved: type: number amountCustomer: type: number currencyCodeCustomer: type: string exchangeRateCustomer: type: string isAmountSpentApprovedSet: type: boolean isApprovedAmountAdjusted: type: boolean isActive: type: boolean submitDate: type: string format: date-time remainingAmount: type: number statusExport: type: string enum: - EXP0 - EXPF lineItems: type: array items: $ref: '#/components/schemas/PALineItemTO' headerUdas: type: array items: $ref: '#/components/schemas/PAUDATO' preApprovalAllocations: type: array items: $ref: '#/components/schemas/PAHeaderAllocationTO' PersonEntityV2: type: object properties: id: type: integer format: int32 person: $ref: '#/components/schemas/Person' customerId: type: integer format: int32 entityId: type: integer format: int32 entityName: type: string entityCode: type: string entityStatus: type: boolean entityTypeId: type: integer format: int32 entityTypeName: type: string entityTypeCode: type: string entityTypeIsUsedInRules: type: boolean entityTypeDesc: type: string entityTypeStatus: type: boolean roleId: type: integer format: int32 roleName: type: string roleIsUsedInRules: type: boolean roleDescription: type: string active: type: boolean createDate: type: string format: date-time updateDate: type: string format: date-time fromDate: type: string format: date-time toDate: type: string format: date-time dateReplaced: type: string format: date-time source: type: string personId: type: integer format: int32 entityExtraData1: type: string entityExtraData2: type: string entityExtraData3: type: string entityExtraData4: type: string entityExtraData5: type: string entitySortOrder: type: string localizedEntityName: type: string localizedEntityTypeName: type: string localizedRoleName: type: string PAEntityTO: type: object properties: entityId: type: integer format: int32 entityName: type: string entityCode: type: string extraData1: type: string extraData2: type: string extraData3: type: string extraData4: type: string extraData5: type: string description: Set of Entities associated with the above set of PreApproval Reports AllocationUDATO: type: object properties: udaName: type: string udaValue: type: string PALineItemAllocationTO: type: object properties: allocationId: type: string description: This Id maps to the header level allocation Id costCodeOverride: type: string entityId1: type: integer format: int32 entityId2: type: integer format: int32 amountSpent: type: number percent: type: number description: These line item allocations map to the header allocation but provide the CostCodeOverride field PersonProfile: type: object properties: personProfileId: type: integer format: int32 customerId: type: integer format: int32 person: $ref: '#/components/schemas/Person' profileData: type: string createDate: type: string format: date-time updateDate: type: string format: date-time PAAllocationTO: type: object properties: allocationId: type: string description: type: string allocationNumber: type: string clientName: type: string clientNumber: type: string udas: type: array items: $ref: '#/components/schemas/AllocationUDATO' description: Set of Allocations associated with the above set of PreApproval Reports PALineItemTypeTO: type: object properties: id: type: integer description: ID of the item type. Also used to associate with PreApproval Line Items format: int32 name: type: string type: type: string descriptionTemplate: type: string externalRef: type: string other: type: boolean description: Set of Line Item Types associated with the above set of PreApproval Reports PAUDATO: type: object properties: udaName: type: string stringValue: type: string numberValue: type: number currencyValue: type: number entityValue: type: integer format: int32 dateValue: type: string format: date-time booleanValue: type: boolean PersonAlternateEmailAddress: required: - emailAddress type: object properties: id: type: integer format: int32 customerId: type: integer format: int32 person: $ref: '#/components/schemas/Person' emailAddress: type: string sequence: type: integer format: int32 updateDate: type: string format: date-time createDate: type: string format: date-time validated: type: boolean PermissionV2: type: object properties: resourceCode: type: string actionCode: type: string PersonEntityID: type: object PersonEntityExport: type: object properties: roleName: type: string entityType: type: string entity: type: string description: 'Simplified Person Entity with only three fields: RoleName, EntityType, and Entity' PersonEntity: required: - customerId type: object properties: id: $ref: '#/components/schemas/PersonEntityID' customerId: type: string entityID: type: integer format: int32 personDelegateId: type: integer format: int32 personId: type: integer format: int32 personLoggedInId: type: integer format: int32 active: type: boolean entity: $ref: '#/components/schemas/Entity' PreApprovalExport: type: object properties: totalItems: type: integer description: Total number of PreApprovals associated with the given ExportId. There may be fewer reports in response if pagination is used format: int32 preApprovals: type: array items: $ref: '#/components/schemas/PAHeaderTO' allocations: type: array description: Set of Allocations associated with the above set of PreApproval Reports items: $ref: '#/components/schemas/PAAllocationTO' entities: type: array description: Set of Entities associated with the above set of PreApproval Reports items: $ref: '#/components/schemas/PAEntityTO' persons: type: array description: Set of Persons associated with the above set of PreApproval Reports items: $ref: '#/components/schemas/PAPersonTO' paLineItemTypes: type: array description: Set of Line Item Types associated with the above set of PreApproval Reports items: $ref: '#/components/schemas/PALineItemTypeTO'