diff --git a/src/api-explorer/v1-0/Image.swagger2.json b/src/api-explorer/v1-0/Image.swagger2.json index 2ad315078e..d08856884d 100644 --- a/src/api-explorer/v1-0/Image.swagger2.json +++ b/src/api-explorer/v1-0/Image.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manage receipt images for the OAuth consumer.", + "x-sap-shortText": "Uploads and retrieves receipt and invoice images for expense entries", "swagger": "2.0", "host": "sandbox.api.sap.com", "basePath": "/concur/api", @@ -29,7 +29,7 @@ ], "info": { "title": "Image API Documentation", - "description": "The SAP Concur Image API allows clients to manage the receipt images attached to expense reports and the images attached to invoices. Clients can retrieve existing images by reportID, image ID, or invoiceID, and upload new images to a user, expense entry, report, or invoice.

The Image API supports the following image formats:

  • `application/pdf`
  • `image/jpg`
  • `image/jpeg`
  • `image/png`

    The maximum file size allowed is 10 MB.

    ", + "description": "Management of receipt and invoice images attached to expense reports and invoices. Supports retrieving existing images and uploading new images to a user, expense entry, report, or invoice.", "version": "1.0" }, "tags": [ diff --git a/src/api-explorer/v1-1/ExpenseReportFormFields.swagger2.json b/src/api-explorer/v1-1/ExpenseReportFormFields.swagger2.json index 3217e77e25..8657a02c5c 100644 --- a/src/api-explorer/v1-1/ExpenseReportFormFields.swagger2.json +++ b/src/api-explorer/v1-1/ExpenseReportFormFields.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Returns information about the configured form fields for a specified form in SAP Concur.", + "x-sap-shortText": "Retrieves configured field definitions for an expense report form", "swagger": "2.0", "host": "sandbox.api.sap.com", "basePath": "/concur/api", @@ -28,7 +28,7 @@ } ], "info": { - "description": "Returns the configured fields for the specified expense form.", + "description": "Retrieves the configured field definitions for a specified expense report form. Suited for integrations that need to dynamically render or validate expense form fields based on company configuration.", "version": "1.1", "title": "Expense Report Form Fields" }, diff --git a/src/api-explorer/v1-1/ExpenseReportForms.swagger2.json b/src/api-explorer/v1-1/ExpenseReportForms.swagger2.json index 1dcd78d742..4010a086ac 100644 --- a/src/api-explorer/v1-1/ExpenseReportForms.swagger2.json +++ b/src/api-explorer/v1-1/ExpenseReportForms.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Returns information about the form types and configured forms in SAP Concur.", + "x-sap-shortText": "Retrieves expense form types and configured forms for a client", "swagger": "2.0", "host": "sandbox.api.sap.com", "basePath": "/concur/api", @@ -28,7 +28,7 @@ } ], "info": { - "description": "Returns the configured Expense form types, or the form IDs for the supplied form type. Clients can have multiple forms configured for each form type.", + "description": "Retrieves the expense form types available for a client or the configured form IDs for a specific form type. Clients can have multiple forms configured for each form type. Suited for integrations that need to discover available expense forms before creating or submitting expense data.", "version": "1.1", "title": "Expense Report Forms" }, diff --git a/src/api-explorer/v3-0/Allocations.swagger2.json b/src/api-explorer/v3-0/Allocations.swagger2.json index e894f222df..cf34d398ed 100644 --- a/src/api-explorer/v3-0/Allocations.swagger2.json +++ b/src/api-explorer/v3-0/Allocations.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "View all allocations for a user or report, or view an allocation by ID", + "x-sap-shortText": "Retrieves expense allocations for a user, report, or by ID", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Allocations", - "description": "Allocations divide the responsibility for an expense. Allocation entries consist of a percentage of the original expense, and the configured custom fields. Allocation entries are children of the expense entry. This API provides methods to view all allocations for a user or report, or view an allocation by ID.", + "description": "Provides read access to expense allocations, which distribute the financial responsibility of an expense entry across multiple cost centers or custom fields as a percentage of the total. Supports retrieving all allocations for a user or report, or fetching a single allocation by ID. Suited for finance and ERP integrations that need to extract cost allocation data from Concur Expense. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/DigitalTaxInvoices.swagger2.json b/src/api-explorer/v3-0/DigitalTaxInvoices.swagger2.json index 3ee07a62fe..cc46ddf62d 100644 --- a/src/api-explorer/v3-0/DigitalTaxInvoices.swagger2.json +++ b/src/api-explorer/v3-0/DigitalTaxInvoices.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Allows tax validators to get and update digital receipts.", + "x-sap-shortText": "Retrieves and updates digital tax invoices for fiscal compliance", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -29,7 +29,7 @@ ], "info": { "title": "Digital Tax Invoices", - "description": "The regulations of some countries require that clients provide an electronic receipt in digital XML format for each reimbursable expense. In addition, the client must: Store the XML file in order to claim the expense for tax purposes, be able to produce the original XML file in case of audit, and validate the XML file with the government. To help meet this requirement, Concur offers the Digital Tax Invoice feature. For Mexico, the official digital XML file is called Comprobante Fiscal Digital, or CFDi. This API provides methods to view and update digital tax invoices.", + "description": "Provides tax validation partners access to digital tax invoice data associated with expense entries, including the raw XML receipt required for fiscal compliance. Supports retrieving invoices for validation and updating their status with a compliance comment. Suited for tax compliance integrations operating in jurisdictions that mandate digital invoice validation, such as Mexico's CFDi system.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/Entries.swagger2.json b/src/api-explorer/v3-0/Entries.swagger2.json index 6e77a73195..69672f7814 100644 --- a/src/api-explorer/v3-0/Entries.swagger2.json +++ b/src/api-explorer/v3-0/Entries.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manage Expense entries for a user.", + "x-sap-shortText": "Creates, retrieves, updates, and deletes expense line items", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Entries", - "description": "Get all entries for a user, create new entries, update entries, or delete entries.", + "description": "Provides access to expense line items within a user's expense reports. Supports creating, retrieving, updating, and deleting expense entries, including mileage, VAT, and attendee data. Suited for ERP integrations and travel management tools that need to read or write detailed expense data within the SAP Concur platform. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/EntryAttendeeAssociations.swagger2.json b/src/api-explorer/v3-0/EntryAttendeeAssociations.swagger2.json index 489d37fb1e..eece69276f 100644 --- a/src/api-explorer/v3-0/EntryAttendeeAssociations.swagger2.json +++ b/src/api-explorer/v3-0/EntryAttendeeAssociations.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manages the relationship between attendees and expense entries.", + "x-sap-shortText": "Links, retrieves, updates, and removes attendees from expense entries", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -29,7 +29,7 @@ ], "info": { "title": "Entry Attendee Associations", - "description": "Manage the relationship between the attendees and the expense report and entry, for the specified expense entry. This resource does not include the full attendee information, which can be accessed using the Attendees resource. This API provides methods to view, create, update, and delete entry attendee associations.", + "description": "Management of the associations between attendees and expense entries. Supports creating, retrieving, updating, and removing attendee links. Suited for integrations that need to associate or audit attendee records on expense entries.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/Itemizations.swagger2.json b/src/api-explorer/v3-0/Itemizations.swagger2.json index 4fa65f07f5..bc68b23beb 100644 --- a/src/api-explorer/v3-0/Itemizations.swagger2.json +++ b/src/api-explorer/v3-0/Itemizations.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Retrieve and manage expense entry itemizations.", + "x-sap-shortText": "Creates, retrieves, and deletes expense entry itemizations", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -29,7 +29,7 @@ ], "info": { "title": "Itemizations", - "description": "Expense Entry Itemizations are children of an expense entry that subdivide the expense. A common use case for itemizations is on a hotel bill, which can have separate itemizations for room rate, room tax, and services such as laundry or minibar.", + "description": "Management of expense entry itemizations. Supports creating, retrieving, updating, and deleting itemizations within an expense entry, such as splitting a hotel bill into room rate and other charges.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/LatestBookings.swagger2.json b/src/api-explorer/v3-0/LatestBookings.swagger2.json index 2e5d86086f..4f29f51c01 100644 --- a/src/api-explorer/v3-0/LatestBookings.swagger2.json +++ b/src/api-explorer/v3-0/LatestBookings.swagger2.json @@ -1,4 +1,5 @@ { + "x-sap-shortText": "Retrieves the latest hotel and air bookings for a user", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -15,7 +16,7 @@ ], "info": { "title": "Latest Bookings", - "description": "", + "description": "Retrieves the most recent hotel and air booking for a specified user.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/LocalizedData.swagger2.json b/src/api-explorer/v3-0/LocalizedData.swagger2.json index bd92a3e4f5..f8e227c950 100644 --- a/src/api-explorer/v3-0/LocalizedData.swagger2.json +++ b/src/api-explorer/v3-0/LocalizedData.swagger2.json @@ -1,4 +1,5 @@ { + "x-sap-shortText": "Retrieves localized strings for invoice status codes and errors", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -15,7 +16,7 @@ ], "info": { "title": "Localized Data", - "description": "Invoice includes various status codes, and error messages. This API provides a method to list the localized strings of various codes.", + "description": "Retrieves localized strings for status codes and error messages used in Concur Invoice.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/Locations.swagger2.json b/src/api-explorer/v3-0/Locations.swagger2.json index c63eb2b202..4fb76675ed 100644 --- a/src/api-explorer/v3-0/Locations.swagger2.json +++ b/src/api-explorer/v3-0/Locations.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Retrieves location information.", + "x-sap-shortText": "Retrieves valid city location codes for a given company", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Locations", - "description": "The valid city location codes in SAP Concur. The location codes vary by client, and cannot be used across multiple clients. This API provides methods to get a list of valid locations for the supplied user, or get details of a location by ID.", + "description": "Provides access to the valid city location codes configured for a specific company within the SAP Concur platform. Location codes are company-specific and cannot be shared across different clients. Supports listing all available locations or retrieving details for a single location by ID. Suited for expense and travel integrations that need to validate or look up location data. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/Opportunities.swagger2.json b/src/api-explorer/v3-0/Opportunities.swagger2.json index 6b7fe2f51b..4e6cffc19d 100644 --- a/src/api-explorer/v3-0/Opportunities.swagger2.json +++ b/src/api-explorer/v3-0/Opportunities.swagger2.json @@ -1,4 +1,5 @@ { + "x-sap-shortText": "Retrieves travel cost-saving opportunities for trips or date ranges", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -15,7 +16,7 @@ ], "info": { "title": "Opportunities", - "description": "", + "description": "Retrieves a collection of cost-saving opportunities for a specified trip or for all trips within a date range. Supports filtering by opportunity type.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/PaymentRequest.swagger2.json b/src/api-explorer/v3-0/PaymentRequest.swagger2.json index 0539f2b840..db75be5103 100644 --- a/src/api-explorer/v3-0/PaymentRequest.swagger2.json +++ b/src/api-explorer/v3-0/PaymentRequest.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "View and manage invoice payment requests.", + "x-sap-shortText": "Creates, retrieves, and updates invoice payment requests", "swagger": "2.0", "host": "sandbox.api.sap.com", "basePath": "/concur/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Payment Request", - "description": "A payment request is a request for payment (partial or full) of an invoice. This API provides methods to create or update a payment request, or view a payment request by ID.", + "description": "Handles partial or full payment requests against invoices within Concur Invoice, including line items, allocations, and VAT details in a single call. Supports creating, retrieving, and updating payment requests, with PO matching and e-invoicing network fields. Suited for ERP and accounts payable integrations that need to manage invoice payment workflows within the SAP Concur platform. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/PaymentRequestDigest.swagger2.json b/src/api-explorer/v3-0/PaymentRequestDigest.swagger2.json index 83af1ddf43..a40f75fbcd 100644 --- a/src/api-explorer/v3-0/PaymentRequestDigest.swagger2.json +++ b/src/api-explorer/v3-0/PaymentRequestDigest.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Returns summarized lists of payment requests.", + "x-sap-shortText": "Retrieves summarized payment request lists for invoice vendors", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Payment Request Digest", - "description": "A payment request digest is a collection of summarized payment requests to invoice vendors. This API provides methods to view all payment requests corresponding to search parameters, or view a payment request digest by ID.", + "description": "Provides summarized views of payment requests made to invoice vendors, supporting filtering by approval status, payment status, vendor invoice number, and date ranges. Suited for accounts payable integrations and reporting tools that need to poll or audit invoice payment data within the SAP Concur platform. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/PurchaseOrders.swagger2.json b/src/api-explorer/v3-0/PurchaseOrders.swagger2.json index a0f974b6c6..f33ca0c518 100644 --- a/src/api-explorer/v3-0/PurchaseOrders.swagger2.json +++ b/src/api-explorer/v3-0/PurchaseOrders.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manages your purchase orders and purchase order related data.", + "x-sap-shortText": "Creates, retrieves, and updates purchase orders", "x-servers": [ { "url": "https://us.api.concursolutions.com/api/v3.0", @@ -22,7 +22,7 @@ ], "info": { "title": "Purchase Orders", - "description": "In Concur Invoice, purchase orders are requests for a vendor to supply goods or services. This API provides methods to create a new purchase order, or view or update an existing purchase order.", + "description": "Supports creating and updating purchase orders, closing orders, and resolving matching exceptions on purchase order invoices. Suited for procurement and ERP integrations that need to synchronize purchase order data with the SAP Concur platform.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/ReceiptImages.swagger2.json b/src/api-explorer/v3-0/ReceiptImages.swagger2.json index aaea643feb..cd8c3c5a89 100644 --- a/src/api-explorer/v3-0/ReceiptImages.swagger2.json +++ b/src/api-explorer/v3-0/ReceiptImages.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Upload images in the supported formats or retrieve individual images.", + "x-sap-shortText": "Uploads and retrieves receipt images attached to expense reports", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -29,7 +29,7 @@ ], "info": { "title": "Receipt Images", - "description": "Allows for the management of receipt images attached to expense reports, expense entries, and payment requests. You can retrieve existing images by Image ID, and upload new images to a User. This API allows you to upload images in a predefined format and size targeting a specific resource or user in SAP Concur. You can also pull images down from SAP Concur by either displaying them in the browser or downloading the image content to save locally. Note: This API is not designed to obtain the receipt images attached to an expense report. If you are an Enterprise Partner creating integrations that are intended to obtain final-approved Expense or Invoice data, and the accompanying receipt images that substantiate those transactions you will need to use Image v1.", + "description": "Management of receipt images attached to expense reports, expense entries, and payment requests. Supports uploading new images and retrieving existing images by ID. For extracting images from final approved reports, use the Image v1 API instead.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/Reports.swagger2.json b/src/api-explorer/v3-0/Reports.swagger2.json index a6bb02db71..99128ce6f4 100644 --- a/src/api-explorer/v3-0/Reports.swagger2.json +++ b/src/api-explorer/v3-0/Reports.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manages the expense reports for a user or the entire company.", + "x-sap-shortText": "Retrieves, creates, and updates expense reports for users or companies", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -29,7 +29,7 @@ ], "info": { "title": "Reports", - "description": "Get expense reports for a user or company, and update existing reports or create new reports.", + "description": "Management of expense reports for a user or company. Supports creating, retrieving, and updating expense reports.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-0/SalesTaxValidationRequest.swagger2.json b/src/api-explorer/v3-0/SalesTaxValidationRequest.swagger2.json index 5c4373ed90..9f319d0371 100644 --- a/src/api-explorer/v3-0/SalesTaxValidationRequest.swagger2.json +++ b/src/api-explorer/v3-0/SalesTaxValidationRequest.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manage sales tax information on invoices.", + "x-sap-shortText": "Retrieves invoice data for sales tax calculation and updates it", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -16,7 +16,7 @@ ], "info": { "title": "Sales Tax Validation Request", - "description": "An invoice is a bill of sale for goods or services. This API provides invoice information so that clients can calculate appropriate sales tax for invoice items. It also allows clients to update the invoice with the calculated sales tax.", + "description": "Provides invoice line item data to external tax calculation partners, including ship-to and bill-to addresses and vendor details needed to compute sales tax. Supports retrieving invoices pending tax calculation and writing back the calculated tax amount and rate per line item. Suited for third-party tax engine integrations that need to apply jurisdiction-specific sales tax within the SAP Concur platform. Requires a User JWT.", "version": "3.0" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-0/Suppliers.swagger2.json b/src/api-explorer/v3-0/Suppliers.swagger2.json index 87d518d734..f871937c5c 100644 --- a/src/api-explorer/v3-0/Suppliers.swagger2.json +++ b/src/api-explorer/v3-0/Suppliers.swagger2.json @@ -1,4 +1,5 @@ { + "x-sap-shortText": "Retrieves TripLink supplier information", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.0", @@ -15,7 +16,7 @@ ], "info": { "title": "Suppliers", - "description": "TripLink supplier information.", + "description": "Retrieves TripLink supplier details by search criteria or supplier ID.", "version": "3.0" }, "tags": [ diff --git a/src/api-explorer/v3-1/RequestGroupConfigurations.swagger2.json b/src/api-explorer/v3-1/RequestGroupConfigurations.swagger2.json index cdd27557ee..ee01243431 100644 --- a/src/api-explorer/v3-1/RequestGroupConfigurations.swagger2.json +++ b/src/api-explorer/v3-1/RequestGroupConfigurations.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Returns the Request group configuration for the specified user.", + "x-sap-shortText": "Retrieves Request policy configurations for a given user", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.1", @@ -16,7 +16,7 @@ ], "info": { "title": "Request Group Configurations", - "description": "Requests allow travelers to submit travel plans, expected expenses, and expected cash advance needs prior to spending funds. Request policies define the required information and workflow for the requests. This API provides the details of the Request policies for the supplied user ID.", + "description": "Retrieves the Request group configuration and policy details applicable to a specific user, including available policies, segment types, agency offices, and the default policy. Suited for integrations that need to validate or display Request policy options before creating travel or spend requests in the SAP Concur platform. Requires a User JWT.", "version": "3.1" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-1/Vendors.swagger2.json b/src/api-explorer/v3-1/Vendors.swagger2.json index 11ce7c9c12..44c018d943 100644 --- a/src/api-explorer/v3-1/Vendors.swagger2.json +++ b/src/api-explorer/v3-1/Vendors.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manages the vendors that send you invoices.", + "x-sap-shortText": "Creates, updates, and deletes invoice vendor records", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/api/v3.1", @@ -16,7 +16,7 @@ ], "info": { "title": "Vendors", - "description": "An invoice is a bill of sale for goods or services provided by a vendor. This API provides methods to create, update, or delete invoice vendors.", + "description": "Manages invoice vendor records within Concur Invoice, supporting creation, update, and deletion of vendor profiles including banking details, payment method types, and custom fields. Suited for procurement and ERP integrations that need to synchronize vendor master data with the SAP Concur platform. Requires a User JWT.", "version": "3.1" }, "securityDefinitions": { diff --git a/src/api-explorer/v3-2/ConnectionRequests.swagger.json b/src/api-explorer/v3-2/ConnectionRequests.swagger.json index d5a0db36e7..0e58de4a0c 100644 --- a/src/api-explorer/v3-2/ConnectionRequests.swagger.json +++ b/src/api-explorer/v3-2/ConnectionRequests.swagger.json @@ -2,7 +2,7 @@ "swagger": "2.0", "host": "us.api.concursolutions.com", "basePath": "/api/v3.2", - "x-sap-shortText": "A Connection Request is an object of an SAP Concur user to connect with a specific TripLink partner.", + "x-sap-shortText": "Manages connection requests between users and TripLink partners", "x-servers": [ { "url": "https://us.api.concursolutions.com/api/v3.2", @@ -22,7 +22,7 @@ ], "info": { "title": "Connection Requests", - "description": "A Connection Request is an object representing the willingness of an SAP Concur user to connect with a specific TripLink partner.", + "description": "Management of connection requests that link SAP Concur users to TripLink travel suppliers. Supports creating, retrieving, and updating connection requests with status tracking. Suited for TripLink partner integrations that need to onboard users and manage connection lifecycle.", "version": "3.2" }, "securityDefinitions": { @@ -336,4 +336,4 @@ "properties": {} } } -} \ No newline at end of file +} diff --git a/src/api-explorer/v4-0/AccountingIntegration.swagger2.json b/src/api-explorer/v4-0/AccountingIntegration.swagger2.json index 1d76576747..bf8c956789 100644 --- a/src/api-explorer/v4-0/AccountingIntegration.swagger2.json +++ b/src/api-explorer/v4-0/AccountingIntegration.swagger2.json @@ -1,2002 +1,2004 @@ -{ - "swagger": "2.0", - "info": { - "title": "Accounting Integration API", - "version": "4.0" - }, - "host": "us.api.concursolutions.com", - "basePath": "/accountingintegration", - "schemes": [ - "https" - ], - "securityDefinitions": { - "ApiKeyAuth": { - "in": "header", - "name": "Authorization", - "type": "apiKey" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/v4/companies/{companyId}/erps/{erpId}/mappings": { - "get": { - "description": "Retrieve the configuration settings and mappings", - "tags": [ - "Configuration settings and mappings between Concur and the ERP" - ], - "operationId": "getCompanyMappingsForErp", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MappingsResponse" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}/accounts": { - "get": { - "description": "Get the ERP Account data", - "tags": [ - "ERP data: Accounts" - ], - "operationId": "getAccounts", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "next", - "in": "query", - "required": false, - "type": "string", - "description": "Next page ID" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PaginatedAccountData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "patch": { - "description": "Update or delete the ERP Account data", - "tags": [ - "ERP data: Accounts" - ], - "operationId": "patchAccounts", - "deprecated": false, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "parameters": [ - { - "name": "if-none-match", - "in": "header", - "required": false, - "type": "string", - "description": "Unique identifier of the request in UUID format" - }, - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "body", - "in": "body", - "required": true, - "description": "A collection of the ERP Accounts", - "schema": { - "$ref": "#/definitions/InboundDataRequestAccount" - } - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/RequestStatus" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "412": { - "description": "Precondition Failed", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}/lists": { - "get": { - "description": "Get the ERP List names", - "tags": [ - "ERP data: Lists" - ], - "operationId": "getLists", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "next", - "in": "query", - "required": false, - "type": "string", - "description": "Next page ID" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PaginatedListData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "patch": { - "description": "Update or delete the ERP List names", - "tags": [ - "ERP data: Lists" - ], - "operationId": "patchLists", - "deprecated": false, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "parameters": [ - { - "name": "if-none-match", - "in": "header", - "required": false, - "type": "string", - "description": "Unique identifier of the request in UUID format" - }, - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "body", - "in": "body", - "required": true, - "description": "A collection of the ERP Lists", - "schema": { - "$ref": "#/definitions/InboundDataRequestList" - } - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/RequestStatus" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "412": { - "description": "Precondition Failed", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}/vendors": { - "get": { - "description": "Get the ERP Vendor data", - "tags": [ - "ERP data: Vendors" - ], - "operationId": "getVendors", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "next", - "in": "query", - "required": false, - "type": "string", - "description": "Next page ID" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PaginatedVendorData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "patch": { - "description": "Update or delete the ERP Vendor data", - "tags": [ - "ERP data: Vendors" - ], - "operationId": "patchVendors", - "deprecated": false, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "parameters": [ - { - "name": "if-none-match", - "in": "header", - "required": false, - "type": "string", - "description": "Unique identifier of the request in UUID format" - }, - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "body", - "in": "body", - "required": true, - "description": "A collection of the ERP Vendors", - "schema": { - "$ref": "#/definitions/InboundDataRequestVendor" - } - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/RequestStatus" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "412": { - "description": "Precondition Failed", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps": { - "get": { - "description": "Get the details of all ERP integrations", - "tags": [ - "Registration of an ERP integration" - ], - "operationId": "getErpPackages", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PaginatedErpPackageData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "post": { - "description": "Register an ERP integration. After success you can start sending data.", - "tags": [ - "Registration of an ERP integration" - ], - "operationId": "addErpPackage", - "deprecated": false, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "body", - "in": "body", - "required": true, - "description": "", - "schema": { - "$ref": "#/definitions/ErpPackageData" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ErpPackageData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}": { - "get": { - "description": "Get the ERP integration details", - "tags": [ - "Registration of an ERP integration" - ], - "operationId": "getErpPackage", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ErpPackageData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "delete": { - "description": "Unregister an ERP integration. No API calls for this integration will be accepted after unregistering.", - "tags": [ - "Registration of an ERP integration" - ], - "operationId": "deleteErpPackage", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - } - ], - "responses": { - "204": { - "description": "No Content", - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - }, - "patch": { - "description": "Update the registered ERP integration", - "tags": [ - "Registration of an ERP integration" - ], - "operationId": "updateErpPackage", - "deprecated": false, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "body", - "in": "body", - "required": true, - "description": "", - "schema": { - "$ref": "#/definitions/ErpPackageData" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ErpPackageData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}/requests/{requestId}": { - "get": { - "description": "Retrieve the status of a given request", - "tags": [ - "Request processing details" - ], - "operationId": "getProcessingStatus", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "requestId", - "in": "path", - "required": true, - "type": "string", - "description": "Unique identifier of the request in UUID format" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RequestStatus" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - }, - "/v4/companies/{companyId}/erps/{erpId}/requests/{requestId}/errors": { - "get": { - "description": "Retrieve the processing errors for a given request", - "tags": [ - "Request processing details" - ], - "operationId": "getProcessingErrors", - "deprecated": false, - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "companyId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the company in Concur" - }, - { - "name": "erpId", - "in": "path", - "required": true, - "type": "string", - "description": "Universally unique identifier of the ERP for the integration with Concur" - }, - { - "name": "requestId", - "in": "path", - "required": true, - "type": "string", - "description": "Unique identifier of the request in UUID format" - }, - { - "name": "next", - "in": "query", - "required": false, - "type": "string", - "description": "Next page ID" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PaginatedProcessingErrorData" - }, - "headers": {} - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - }, - "500": { - "description": "Server Error", - "schema": { - "$ref": "#/definitions/ErrorMessage" - }, - "headers": {} - } - } - } - } - }, - "definitions": { - "Error": { - "title": "Error", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "httpStatus": { - "type": "integer", - "format": "int32" - } - } - }, - "ErpPackageData": { - "title": "ErpPackageData", - "type": "object", - "properties": { - "partnerAppName": { - "description": "Name of the Partner App", - "type": "string" - }, - "features": { - "description": "Feature capabilities of the ERP integration", - "type": "array", - "items": { - "$ref": "#/definitions/Feature2" - }, - "uniqueItems": true - }, - "erpName": { - "description": "The ERP name", - "type": "string" - }, - "externalErpId": { - "description": "External ERP ID. The external ERP ID is a unique identifier of the company in the ERP.", - "type": "string" - } - }, - "required": [ - "partnerAppName", - "erpName", - "externalErpId" - ] - }, - "ErrorMessage": { - "title": "ErrorMessage", - "type": "object", - "properties": { - "timestamp": { - "description": "The time when the error was captured", - "type": "string", - "format": "date-time" - }, - "httpStatus": { - "description": "The http response code and phrase for the response", - "type": "string" - }, - "errorMessage": { - "description": "The detailed error message", - "type": "string" - }, - "errorCode": { - "description": "The unique identifier of the error associated with the response or is it error response itself", - "type": "string" - }, - "validationErrors": { - "description": "The validation error messages", - "type": "array", - "items": { - "$ref": "#/definitions/ValidationError" - } - }, - "path": { - "description": "The URI of the attempted request", - "type": "string" - } - }, - "required": [ - "timestamp", - "httpStatus", - "errorMessage", - "path" - ] - }, - "ValidationError": { - "title": "ValidationError", - "description": "Error from processing data request", - "type": "object", - "properties": { - "source": { - "description": "The type of validation which failed", - "type": "string" - }, - "errorMessage": { - "description": "The detailed message of the validation error", - "type": "string" - }, - "errorCode": { - "description": "The code of the validation error", - "type": "string" - } - } - }, - "Address": { - "title": "Address", - "description": "The Vendor's Address", - "type": "object", - "properties": { - "addr1": { - "description": "Address Line 1", - "type": "string" - }, - "addr2": { - "description": "Address Line 2", - "type": "string" - }, - "addr3": { - "description": "Address Line 3", - "type": "string" - }, - "state": { - "description": "State/province", - "type": "string" - }, - "country": { - "description": "Country/region name", - "type": "string" - }, - "postalCode": { - "description": "Postal Code", - "type": "string" - }, - "city": { - "description": "City", - "type": "string" - }, - "note": { - "description": "Note", - "type": "string" - } - } - }, - "InboundDataRequestVendor": { - "title": "InboundDataRequestVendor", - "type": "object", - "properties": { - "deleteAll": { - "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", - "example": false, - "type": "boolean", - "default": false - }, - "data": { - "description": "Data to be stored from the ERP.", - "type": "array", - "items": { - "$ref": "#/definitions/Vendor" - } - } - } - }, - "Vendor": { - "title": "Vendor", - "type": "object", - "properties": { - "isDeleted": { - "description": "Flag to show if this record needs to be deleted.", - "example": false, - "type": "boolean", - "default": false - }, - "id": { - "description": "Vendor identifier coming from the ERP", - "type": "string" - }, - "type": { - "$ref": "#/definitions/Type" - }, - "currencyCode": { - "description": "3-letter currency code as specified in ISO 4217 - mandatory for Accounting vendors", - "type": "string" - }, - "lastName": { - "description": "Last Name - mandatory for Employee type vendors", - "type": "string" - }, - "firstName": { - "description": "First Name", - "type": "string" - }, - "name": { - "description": "The name of the Vendor - mandatory for Accounting vendors", - "type": "string" - }, - "employeeId": { - "description": "Employee ID - mandatory for Employee vendors", - "type": "string" - }, - "companyName": { - "description": "Company Name", - "type": "string" - }, - "email": { - "description": "Email address - mandatory for Employee vendors", - "type": "string" - }, - "taxId": { - "description": "The Vendor's Tax ID", - "type": "string" - }, - "phone": { - "description": "The Vendor's phone number", - "type": "string" - }, - "accountNumber": { - "description": "The Vendor's Account Number", - "type": "string" - }, - "address": { - "$ref": "#/definitions/Address" - } - }, - "required": [ - "id", - "type" - ] - }, - "Link": { - "title": "Link", - "type": "object", - "properties": { - "rel": { - "type": "string" - }, - "href": { - "type": "string" - }, - "hreflang": { - "type": "string" - }, - "media": { - "type": "string" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" - }, - "deprecation": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "RequestStatus": { - "title": "RequestStatus", - "description": "Request Status", - "example": { - "status": "PROCESSING", - "requestId": "string", - "_links": { - "errors": { - "href": "/v4/companies//erps//requests//errors" - }, - "self": { - "href": "/v4/companies//erps//requests/" - } - } - }, - "type": "object", - "properties": { - "companyId": { - "description": "Universally unique identifier of the company in Concur", - "type": "string" - }, - "erpId": { - "description": "Universally unique identifier of the ERP for the integration with Concur", - "type": "string" - }, - "requestId": { - "description": "Unique identifier of the request in UUID format", - "type": "string" - }, - "status": { - "$ref": "#/definitions/Status" - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "InboundDataRequestList": { - "title": "InboundDataRequestList", - "type": "object", - "properties": { - "deleteAll": { - "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", - "example": false, - "type": "boolean", - "default": false - }, - "data": { - "description": "Data to be stored from the ERP.", - "type": "array", - "items": { - "$ref": "#/definitions/List" - } - } - } - }, - "List": { - "title": "List", - "description": "ERP List", - "type": "object", - "properties": { - "isDeleted": { - "description": "Flag to show if this record needs to be deleted.", - "example": false, - "type": "boolean", - "default": false - }, - "id": { - "description": "List identifier coming from the ERP", - "type": "string" - }, - "name": { - "description": "List Name coming from the ERP", - "type": "string" - } - }, - "required": [ - "id", - "name" - ] - }, - "Account": { - "title": "Account", - "description": "ERP Account", - "type": "object", - "properties": { - "isDeleted": { - "description": "Flag to show if this record needs to be deleted.", - "example": false, - "type": "boolean", - "default": false - }, - "id": { - "description": "Account ID", - "type": "string" - }, - "number": { - "description": "Account number or GL code", - "type": "string" - }, - "name": { - "description": "Account name", - "type": "string" - }, - "type": { - "$ref": "#/definitions/Type1" - } - }, - "required": [ - "id", - "name", - "type" - ] - }, - "InboundDataRequestAccount": { - "title": "InboundDataRequestAccount", - "type": "object", - "properties": { - "deleteAll": { - "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", - "example": false, - "type": "boolean", - "default": false - }, - "data": { - "description": "Data to be stored from the ERP.", - "type": "array", - "items": { - "$ref": "#/definitions/Account" - } - } - } - }, - "PaginatedErpPackageData": { - "title": "PaginatedErpPackageData", - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/ErpPackageData" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "PaginatedVendorData": { - "title": "PaginatedVendorData", - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/Vendor" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "PaginatedProcessingErrorData": { - "title": "PaginatedProcessingErrorData", - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/ProcessingError" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "ProcessingError": { - "title": "ProcessingError", - "description": "Error from processing data request", - "type": "object", - "properties": { - "companyId": { - "description": "Universally unique identifier of the company in Concur", - "type": "string" - }, - "erpId": { - "description": "Universally unique identifier of the ERP for the integration with Concur", - "type": "string" - }, - "requestId": { - "description": "Unique identifier of the request in UUID format", - "type": "string" - }, - "errorCode": { - "description": "Error code", - "type": "string" - }, - "errorMessage": { - "description": "Error message", - "type": "string" - }, - "objectType": { - "$ref": "#/definitions/ObjectType" - }, - "values": { - "description": "Values received in the request", - "type": "string" - }, - "validationErrors": { - "description": "List of validation errors", - "type": "array", - "items": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "Feature": { - "title": "Feature", - "description": "List of Features that the company will use", - "type": "object", - "properties": { - "id": { - "description": "Feature ID", - "type": "string" - }, - "value": { - "description": "Feature value", - "type": "string" - }, - "description": { - "description": "Feature description", - "type": "string" - } - } - }, - "Field": { - "title": "Field", - "description": "List of fields to match with the Financial Information document", - "type": "object", - "properties": { - "alternateFieldId": { - "description": "Field ID to match with the Financial Information document", - "type": "string" - }, - "level": { - "description": "List level for multi-level lists", - "type": "integer", - "format": "int32" - } - } - }, - "FieldMapping": { - "title": "FieldMapping", - "description": "List of Concur form and fields where the ERP list is used", - "type": "object", - "properties": { - "formTypeCode": { - "$ref": "#/definitions/FormTypeCode" - }, - "fields": { - "description": "List of fields to match with the Financial Information document", - "type": "array", - "items": { - "$ref": "#/definitions/Field" - } - } - } - }, - "FileMappings": { - "title": "FileMappings", - "description": "List of the settings and mappings for each ERP file that the company uses. Could be a single entry if the company does not use files in the ERP", - "type": "object", - "properties": { - "fileId": { - "description": "Unique Identifier of the file in the ERP, DEFAULT if single no ERP files are used", - "type": "string" - }, - "paymentTypes": { - "description": "List of payment type configurations", - "type": "array", - "items": { - "$ref": "#/definitions/PaymentType" - } - }, - "listMappings": { - "description": "List of ERP list to Concur list mappings", - "type": "array", - "items": { - "$ref": "#/definitions/ListMapping" - } - }, - "invoiceLiabilityAccount": { - "$ref": "#/definitions/Account" - } - } - }, - "ListMapping": { - "title": "ListMapping", - "description": "List of ERP list to Concur list mappings", - "type": "object", - "properties": { - "erpListId": { - "description": "List ID of the ERP list", - "type": "string" - }, - "concurListId": { - "description": "List ID of the Concur list", - "type": "string" - }, - "fieldMappings": { - "description": "List of Concur form and fields where the ERP list is used", - "type": "array", - "items": { - "$ref": "#/definitions/FieldMapping" - } - } - } - }, - "MappingsResponse": { - "title": "MappingsResponse", - "type": "object", - "properties": { - "erpId": { - "description": "Universally unique identifier of the ERP in Concur", - "type": "string" - }, - "features": { - "description": "List of Features that the company will use", - "type": "array", - "items": { - "$ref": "#/definitions/Feature" - } - }, - "files": { - "description": "List of the settings and mappings for each ERP file that the company uses. Could be a single entry if the company does not use files in the ERP", - "type": "array", - "items": { - "$ref": "#/definitions/FileMappings" - } - } - } - }, - "PaymentType": { - "title": "PaymentType", - "description": "List of payment type configurations", - "type": "object", - "properties": { - "patKey": { - "description": "Payment type key", - "type": "string" - }, - "transactionType": { - "description": "Transaction type - Bill or Credit", - "type": "string" - }, - "liabilityAccountCode": { - "description": "Liability account code", - "type": "string" - }, - "postingDate": { - "$ref": "#/definitions/PostingDate" - }, - "clearingAccountCode": { - "description": "Clearing account code", - "type": "string" - }, - "name": { - "description": "Payment type name", - "type": "string" - }, - "creditCardVendorId": { - "description": "Credit card vendor ID", - "type": "string" - }, - "currencyCode": { - "description": "3-letter currency code as specified in ISO 4217", - "type": "string" - } - } - }, - "PaginatedListData": { - "title": "PaginatedListData", - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/List" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "PaginatedAccountData": { - "title": "PaginatedAccountData", - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/Account" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/definitions/Link" - } - } - } - }, - "Feature2": { - "title": "Feature2", - "description": "Feature capabilities of the ERP integration", - "example": "SUPPORTS_RECEIPT_POSTING", - "type": "string", - "enum": [ - "SUPPORTS_RECEIPT_POSTING" - ] - }, - "FormTypeCode": { - "title": "FormTypeCode", - "description": "Form type code to match with the Financial Information document", - "example": "allocation", - "type": "string", - "enum": [ - "allocation", - "expenseEntry", - "report", - "requestHeader", - "lineItem", - "requestAllocation" - ] - }, - "ObjectType": { - "title": "ObjectType", - "description": "Inbound data type", - "example": "ACCOUNT", - "type": "string", - "enum": [ - "ACCOUNT", - "VENDOR", - "LIST" - ] - }, - "PostingDate": { - "title": "PostingDate", - "description": "Posting date: report create, report submit or processor approval date", - "example": "REPORTCREATE", - "type": "string", - "enum": [ - "REPORTCREATE", - "REPORTSUBMIT", - "PROCESSORAPPROVAL" - ] - }, - "Status": { - "title": "Status", - "description": "The status of a request", - "example": "PROCESSING", - "type": "string", - "enum": [ - "PROCESSING", - "SUCCESS", - "ERROR", - "PARTIAL" - ] - }, - "Type": { - "title": "Type", - "description": "The type of the Vendor - EMPLOYEE or ACCOUNTING", - "example": "ACCOUNTING", - "type": "string", - "enum": [ - "ACCOUNTING", - "EMPLOYEE" - ] - }, - "Type1": { - "title": "Type1", - "description": "Account type", - "example": "ACCOUNTS_PAYABLE", - "type": "string", - "enum": [ - "ACCOUNTS_PAYABLE", - "ACCOUNTS_RECEIVABLE", - "BANK", - "COST_OF_GOODS_SOLD", - "CREDIT_CARD", - "DEPRECIATION", - "EQUITY", - "EXPENSE", - "FIXED_ASSETS", - "FUTURE_ASSETS", - "INCOME", - "LOAN", - "LONG_TERM_LIABILITIES", - "OTHER_ASSETS", - "OTHER_CURRENT_ASSETS", - "OTHER_CURRENT_LIABILITIES", - "OTHER_EXPENSE", - "OTHER_INCOME" - ] - } - }, - "tags": [ - { - "name": "Configuration settings and mappings between Concur and the ERP", - "description": "Get the configuration settings and mappings between Concur and the ERP data" - }, - { - "name": "ERP data: Accounts", - "description": "Send the account data from your ERP to Concur" - }, - { - "name": "ERP data: Lists", - "description": "Send the list names from your ERP to Concur" - }, - { - "name": "ERP data: Vendors", - "description": "Send the vendor data from your ERP to Concur" - }, - { - "name": "Registration of an ERP integration", - "description": "Manage the ERP integration for a given company" - }, - { - "name": "Request processing details", - "description": "Get the status and any errors for a request" - } - ] +{ + "x-sap-shortText": "Manages ERP integrations, account mappings, vendors, and lists for a company", + "swagger": "2.0", + "info": { + "title": "Accounting Integration API", + "description": "Enables companies to register and manage ERP integrations within the SAP Concur platform, including configuration of account mappings, vendor records, and list data. Supports asynchronous PATCH operations for bulk data synchronization, with status tracking via a dedicated requests endpoint. Suited for ERP and financial system integrations that need to synchronize chart of accounts, vendor master data, and spend categories with Concur Expense or Concur Invoice. Requires a Bearer token in the Authorization header.", + "version": "4.0" + }, + "host": "us.api.concursolutions.com", + "basePath": "/accountingintegration", + "schemes": [ + "https" + ], + "securityDefinitions": { + "ApiKeyAuth": { + "in": "header", + "name": "Authorization", + "type": "apiKey" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/v4/companies/{companyId}/erps/{erpId}/mappings": { + "get": { + "description": "Retrieve the configuration settings and mappings", + "tags": [ + "Configuration settings and mappings between Concur and the ERP" + ], + "operationId": "getCompanyMappingsForErp", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MappingsResponse" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}/accounts": { + "get": { + "description": "Get the ERP Account data", + "tags": [ + "ERP data: Accounts" + ], + "operationId": "getAccounts", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "next", + "in": "query", + "required": false, + "type": "string", + "description": "Next page ID" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PaginatedAccountData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "patch": { + "description": "Update or delete the ERP Account data", + "tags": [ + "ERP data: Accounts" + ], + "operationId": "patchAccounts", + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + { + "name": "if-none-match", + "in": "header", + "required": false, + "type": "string", + "description": "Unique identifier of the request in UUID format" + }, + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "A collection of the ERP Accounts", + "schema": { + "$ref": "#/definitions/InboundDataRequestAccount" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/RequestStatus" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "412": { + "description": "Precondition Failed", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}/lists": { + "get": { + "description": "Get the ERP List names", + "tags": [ + "ERP data: Lists" + ], + "operationId": "getLists", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "next", + "in": "query", + "required": false, + "type": "string", + "description": "Next page ID" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PaginatedListData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "patch": { + "description": "Update or delete the ERP List names", + "tags": [ + "ERP data: Lists" + ], + "operationId": "patchLists", + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + { + "name": "if-none-match", + "in": "header", + "required": false, + "type": "string", + "description": "Unique identifier of the request in UUID format" + }, + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "A collection of the ERP Lists", + "schema": { + "$ref": "#/definitions/InboundDataRequestList" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/RequestStatus" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "412": { + "description": "Precondition Failed", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}/vendors": { + "get": { + "description": "Get the ERP Vendor data", + "tags": [ + "ERP data: Vendors" + ], + "operationId": "getVendors", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "next", + "in": "query", + "required": false, + "type": "string", + "description": "Next page ID" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PaginatedVendorData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "patch": { + "description": "Update or delete the ERP Vendor data", + "tags": [ + "ERP data: Vendors" + ], + "operationId": "patchVendors", + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + { + "name": "if-none-match", + "in": "header", + "required": false, + "type": "string", + "description": "Unique identifier of the request in UUID format" + }, + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "A collection of the ERP Vendors", + "schema": { + "$ref": "#/definitions/InboundDataRequestVendor" + } + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/RequestStatus" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "412": { + "description": "Precondition Failed", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "429": { + "description": "Too Many Requests", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps": { + "get": { + "description": "Get the details of all ERP integrations", + "tags": [ + "Registration of an ERP integration" + ], + "operationId": "getErpPackages", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PaginatedErpPackageData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "post": { + "description": "Register an ERP integration. After success you can start sending data.", + "tags": [ + "Registration of an ERP integration" + ], + "operationId": "addErpPackage", + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "", + "schema": { + "$ref": "#/definitions/ErpPackageData" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ErpPackageData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}": { + "get": { + "description": "Get the ERP integration details", + "tags": [ + "Registration of an ERP integration" + ], + "operationId": "getErpPackage", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ErpPackageData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "delete": { + "description": "Unregister an ERP integration. No API calls for this integration will be accepted after unregistering.", + "tags": [ + "Registration of an ERP integration" + ], + "operationId": "deleteErpPackage", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + } + ], + "responses": { + "204": { + "description": "No Content", + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + }, + "patch": { + "description": "Update the registered ERP integration", + "tags": [ + "Registration of an ERP integration" + ], + "operationId": "updateErpPackage", + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "", + "schema": { + "$ref": "#/definitions/ErpPackageData" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ErpPackageData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}/requests/{requestId}": { + "get": { + "description": "Retrieve the status of a given request", + "tags": [ + "Request processing details" + ], + "operationId": "getProcessingStatus", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "requestId", + "in": "path", + "required": true, + "type": "string", + "description": "Unique identifier of the request in UUID format" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RequestStatus" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + }, + "/v4/companies/{companyId}/erps/{erpId}/requests/{requestId}/errors": { + "get": { + "description": "Retrieve the processing errors for a given request", + "tags": [ + "Request processing details" + ], + "operationId": "getProcessingErrors", + "deprecated": false, + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "companyId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the company in Concur" + }, + { + "name": "erpId", + "in": "path", + "required": true, + "type": "string", + "description": "Universally unique identifier of the ERP for the integration with Concur" + }, + { + "name": "requestId", + "in": "path", + "required": true, + "type": "string", + "description": "Unique identifier of the request in UUID format" + }, + { + "name": "next", + "in": "query", + "required": false, + "type": "string", + "description": "Next page ID" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PaginatedProcessingErrorData" + }, + "headers": {} + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + }, + "500": { + "description": "Server Error", + "schema": { + "$ref": "#/definitions/ErrorMessage" + }, + "headers": {} + } + } + } + } + }, + "definitions": { + "Error": { + "title": "Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "httpStatus": { + "type": "integer", + "format": "int32" + } + } + }, + "ErpPackageData": { + "title": "ErpPackageData", + "type": "object", + "properties": { + "partnerAppName": { + "description": "Name of the Partner App", + "type": "string" + }, + "features": { + "description": "Feature capabilities of the ERP integration", + "type": "array", + "items": { + "$ref": "#/definitions/Feature2" + }, + "uniqueItems": true + }, + "erpName": { + "description": "The ERP name", + "type": "string" + }, + "externalErpId": { + "description": "External ERP ID. The external ERP ID is a unique identifier of the company in the ERP.", + "type": "string" + } + }, + "required": [ + "partnerAppName", + "erpName", + "externalErpId" + ] + }, + "ErrorMessage": { + "title": "ErrorMessage", + "type": "object", + "properties": { + "timestamp": { + "description": "The time when the error was captured", + "type": "string", + "format": "date-time" + }, + "httpStatus": { + "description": "The http response code and phrase for the response", + "type": "string" + }, + "errorMessage": { + "description": "The detailed error message", + "type": "string" + }, + "errorCode": { + "description": "The unique identifier of the error associated with the response or is it error response itself", + "type": "string" + }, + "validationErrors": { + "description": "The validation error messages", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationError" + } + }, + "path": { + "description": "The URI of the attempted request", + "type": "string" + } + }, + "required": [ + "timestamp", + "httpStatus", + "errorMessage", + "path" + ] + }, + "ValidationError": { + "title": "ValidationError", + "description": "Error from processing data request", + "type": "object", + "properties": { + "source": { + "description": "The type of validation which failed", + "type": "string" + }, + "errorMessage": { + "description": "The detailed message of the validation error", + "type": "string" + }, + "errorCode": { + "description": "The code of the validation error", + "type": "string" + } + } + }, + "Address": { + "title": "Address", + "description": "The Vendor's Address", + "type": "object", + "properties": { + "addr1": { + "description": "Address Line 1", + "type": "string" + }, + "addr2": { + "description": "Address Line 2", + "type": "string" + }, + "addr3": { + "description": "Address Line 3", + "type": "string" + }, + "state": { + "description": "State/province", + "type": "string" + }, + "country": { + "description": "Country/region name", + "type": "string" + }, + "postalCode": { + "description": "Postal Code", + "type": "string" + }, + "city": { + "description": "City", + "type": "string" + }, + "note": { + "description": "Note", + "type": "string" + } + } + }, + "InboundDataRequestVendor": { + "title": "InboundDataRequestVendor", + "type": "object", + "properties": { + "deleteAll": { + "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", + "example": false, + "type": "boolean", + "default": false + }, + "data": { + "description": "Data to be stored from the ERP.", + "type": "array", + "items": { + "$ref": "#/definitions/Vendor" + } + } + } + }, + "Vendor": { + "title": "Vendor", + "type": "object", + "properties": { + "isDeleted": { + "description": "Flag to show if this record needs to be deleted.", + "example": false, + "type": "boolean", + "default": false + }, + "id": { + "description": "Vendor identifier coming from the ERP", + "type": "string" + }, + "type": { + "$ref": "#/definitions/Type" + }, + "currencyCode": { + "description": "3-letter currency code as specified in ISO 4217 - mandatory for Accounting vendors", + "type": "string" + }, + "lastName": { + "description": "Last Name - mandatory for Employee type vendors", + "type": "string" + }, + "firstName": { + "description": "First Name", + "type": "string" + }, + "name": { + "description": "The name of the Vendor - mandatory for Accounting vendors", + "type": "string" + }, + "employeeId": { + "description": "Employee ID - mandatory for Employee vendors", + "type": "string" + }, + "companyName": { + "description": "Company Name", + "type": "string" + }, + "email": { + "description": "Email address - mandatory for Employee vendors", + "type": "string" + }, + "taxId": { + "description": "The Vendor's Tax ID", + "type": "string" + }, + "phone": { + "description": "The Vendor's phone number", + "type": "string" + }, + "accountNumber": { + "description": "The Vendor's Account Number", + "type": "string" + }, + "address": { + "$ref": "#/definitions/Address" + } + }, + "required": [ + "id", + "type" + ] + }, + "Link": { + "title": "Link", + "type": "object", + "properties": { + "rel": { + "type": "string" + }, + "href": { + "type": "string" + }, + "hreflang": { + "type": "string" + }, + "media": { + "type": "string" + }, + "title": { + "type": "string" + }, + "type": { + "type": "string" + }, + "deprecation": { + "type": "string" + }, + "profile": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "RequestStatus": { + "title": "RequestStatus", + "description": "Request Status", + "example": { + "status": "PROCESSING", + "requestId": "string", + "_links": { + "errors": { + "href": "/v4/companies//erps//requests//errors" + }, + "self": { + "href": "/v4/companies//erps//requests/" + } + } + }, + "type": "object", + "properties": { + "companyId": { + "description": "Universally unique identifier of the company in Concur", + "type": "string" + }, + "erpId": { + "description": "Universally unique identifier of the ERP for the integration with Concur", + "type": "string" + }, + "requestId": { + "description": "Unique identifier of the request in UUID format", + "type": "string" + }, + "status": { + "$ref": "#/definitions/Status" + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "InboundDataRequestList": { + "title": "InboundDataRequestList", + "type": "object", + "properties": { + "deleteAll": { + "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", + "example": false, + "type": "boolean", + "default": false + }, + "data": { + "description": "Data to be stored from the ERP.", + "type": "array", + "items": { + "$ref": "#/definitions/List" + } + } + } + }, + "List": { + "title": "List", + "description": "ERP List", + "type": "object", + "properties": { + "isDeleted": { + "description": "Flag to show if this record needs to be deleted.", + "example": false, + "type": "boolean", + "default": false + }, + "id": { + "description": "List identifier coming from the ERP", + "type": "string" + }, + "name": { + "description": "List Name coming from the ERP", + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "Account": { + "title": "Account", + "description": "ERP Account", + "type": "object", + "properties": { + "isDeleted": { + "description": "Flag to show if this record needs to be deleted.", + "example": false, + "type": "boolean", + "default": false + }, + "id": { + "description": "Account ID", + "type": "string" + }, + "number": { + "description": "Account number or GL code", + "type": "string" + }, + "name": { + "description": "Account name", + "type": "string" + }, + "type": { + "$ref": "#/definitions/Type1" + } + }, + "required": [ + "id", + "name", + "type" + ] + }, + "InboundDataRequestAccount": { + "title": "InboundDataRequestAccount", + "type": "object", + "properties": { + "deleteAll": { + "description": "If deleteAll flag is true foe a request we will delete all data for the given object type before processing the new data.", + "example": false, + "type": "boolean", + "default": false + }, + "data": { + "description": "Data to be stored from the ERP.", + "type": "array", + "items": { + "$ref": "#/definitions/Account" + } + } + } + }, + "PaginatedErpPackageData": { + "title": "PaginatedErpPackageData", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ErpPackageData" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "PaginatedVendorData": { + "title": "PaginatedVendorData", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Vendor" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "PaginatedProcessingErrorData": { + "title": "PaginatedProcessingErrorData", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/ProcessingError" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "ProcessingError": { + "title": "ProcessingError", + "description": "Error from processing data request", + "type": "object", + "properties": { + "companyId": { + "description": "Universally unique identifier of the company in Concur", + "type": "string" + }, + "erpId": { + "description": "Universally unique identifier of the ERP for the integration with Concur", + "type": "string" + }, + "requestId": { + "description": "Unique identifier of the request in UUID format", + "type": "string" + }, + "errorCode": { + "description": "Error code", + "type": "string" + }, + "errorMessage": { + "description": "Error message", + "type": "string" + }, + "objectType": { + "$ref": "#/definitions/ObjectType" + }, + "values": { + "description": "Values received in the request", + "type": "string" + }, + "validationErrors": { + "description": "List of validation errors", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationError" + } + } + } + }, + "Feature": { + "title": "Feature", + "description": "List of Features that the company will use", + "type": "object", + "properties": { + "id": { + "description": "Feature ID", + "type": "string" + }, + "value": { + "description": "Feature value", + "type": "string" + }, + "description": { + "description": "Feature description", + "type": "string" + } + } + }, + "Field": { + "title": "Field", + "description": "List of fields to match with the Financial Information document", + "type": "object", + "properties": { + "alternateFieldId": { + "description": "Field ID to match with the Financial Information document", + "type": "string" + }, + "level": { + "description": "List level for multi-level lists", + "type": "integer", + "format": "int32" + } + } + }, + "FieldMapping": { + "title": "FieldMapping", + "description": "List of Concur form and fields where the ERP list is used", + "type": "object", + "properties": { + "formTypeCode": { + "$ref": "#/definitions/FormTypeCode" + }, + "fields": { + "description": "List of fields to match with the Financial Information document", + "type": "array", + "items": { + "$ref": "#/definitions/Field" + } + } + } + }, + "FileMappings": { + "title": "FileMappings", + "description": "List of the settings and mappings for each ERP file that the company uses. Could be a single entry if the company does not use files in the ERP", + "type": "object", + "properties": { + "fileId": { + "description": "Unique Identifier of the file in the ERP, DEFAULT if single no ERP files are used", + "type": "string" + }, + "paymentTypes": { + "description": "List of payment type configurations", + "type": "array", + "items": { + "$ref": "#/definitions/PaymentType" + } + }, + "listMappings": { + "description": "List of ERP list to Concur list mappings", + "type": "array", + "items": { + "$ref": "#/definitions/ListMapping" + } + }, + "invoiceLiabilityAccount": { + "$ref": "#/definitions/Account" + } + } + }, + "ListMapping": { + "title": "ListMapping", + "description": "List of ERP list to Concur list mappings", + "type": "object", + "properties": { + "erpListId": { + "description": "List ID of the ERP list", + "type": "string" + }, + "concurListId": { + "description": "List ID of the Concur list", + "type": "string" + }, + "fieldMappings": { + "description": "List of Concur form and fields where the ERP list is used", + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + } + } + } + }, + "MappingsResponse": { + "title": "MappingsResponse", + "type": "object", + "properties": { + "erpId": { + "description": "Universally unique identifier of the ERP in Concur", + "type": "string" + }, + "features": { + "description": "List of Features that the company will use", + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + } + }, + "files": { + "description": "List of the settings and mappings for each ERP file that the company uses. Could be a single entry if the company does not use files in the ERP", + "type": "array", + "items": { + "$ref": "#/definitions/FileMappings" + } + } + } + }, + "PaymentType": { + "title": "PaymentType", + "description": "List of payment type configurations", + "type": "object", + "properties": { + "patKey": { + "description": "Payment type key", + "type": "string" + }, + "transactionType": { + "description": "Transaction type - Bill or Credit", + "type": "string" + }, + "liabilityAccountCode": { + "description": "Liability account code", + "type": "string" + }, + "postingDate": { + "$ref": "#/definitions/PostingDate" + }, + "clearingAccountCode": { + "description": "Clearing account code", + "type": "string" + }, + "name": { + "description": "Payment type name", + "type": "string" + }, + "creditCardVendorId": { + "description": "Credit card vendor ID", + "type": "string" + }, + "currencyCode": { + "description": "3-letter currency code as specified in ISO 4217", + "type": "string" + } + } + }, + "PaginatedListData": { + "title": "PaginatedListData", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/List" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "PaginatedAccountData": { + "title": "PaginatedAccountData", + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/Account" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/definitions/Link" + } + } + } + }, + "Feature2": { + "title": "Feature2", + "description": "Feature capabilities of the ERP integration", + "example": "SUPPORTS_RECEIPT_POSTING", + "type": "string", + "enum": [ + "SUPPORTS_RECEIPT_POSTING" + ] + }, + "FormTypeCode": { + "title": "FormTypeCode", + "description": "Form type code to match with the Financial Information document", + "example": "allocation", + "type": "string", + "enum": [ + "allocation", + "expenseEntry", + "report", + "requestHeader", + "lineItem", + "requestAllocation" + ] + }, + "ObjectType": { + "title": "ObjectType", + "description": "Inbound data type", + "example": "ACCOUNT", + "type": "string", + "enum": [ + "ACCOUNT", + "VENDOR", + "LIST" + ] + }, + "PostingDate": { + "title": "PostingDate", + "description": "Posting date: report create, report submit or processor approval date", + "example": "REPORTCREATE", + "type": "string", + "enum": [ + "REPORTCREATE", + "REPORTSUBMIT", + "PROCESSORAPPROVAL" + ] + }, + "Status": { + "title": "Status", + "description": "The status of a request", + "example": "PROCESSING", + "type": "string", + "enum": [ + "PROCESSING", + "SUCCESS", + "ERROR", + "PARTIAL" + ] + }, + "Type": { + "title": "Type", + "description": "The type of the Vendor - EMPLOYEE or ACCOUNTING", + "example": "ACCOUNTING", + "type": "string", + "enum": [ + "ACCOUNTING", + "EMPLOYEE" + ] + }, + "Type1": { + "title": "Type1", + "description": "Account type", + "example": "ACCOUNTS_PAYABLE", + "type": "string", + "enum": [ + "ACCOUNTS_PAYABLE", + "ACCOUNTS_RECEIVABLE", + "BANK", + "COST_OF_GOODS_SOLD", + "CREDIT_CARD", + "DEPRECIATION", + "EQUITY", + "EXPENSE", + "FIXED_ASSETS", + "FUTURE_ASSETS", + "INCOME", + "LOAN", + "LONG_TERM_LIABILITIES", + "OTHER_ASSETS", + "OTHER_CURRENT_ASSETS", + "OTHER_CURRENT_LIABILITIES", + "OTHER_EXPENSE", + "OTHER_INCOME" + ] + } + }, + "tags": [ + { + "name": "Configuration settings and mappings between Concur and the ERP", + "description": "Get the configuration settings and mappings between Concur and the ERP data" + }, + { + "name": "ERP data: Accounts", + "description": "Send the account data from your ERP to Concur" + }, + { + "name": "ERP data: Lists", + "description": "Send the list names from your ERP to Concur" + }, + { + "name": "ERP data: Vendors", + "description": "Send the vendor data from your ERP to Concur" + }, + { + "name": "Registration of an ERP integration", + "description": "Manage the ERP integration for a given company" + }, + { + "name": "Request processing details", + "description": "Get the status and any errors for a request" + } + ] } \ No newline at end of file diff --git a/src/api-explorer/v4-0/EventSubscriptionService.swagger.json b/src/api-explorer/v4-0/EventSubscriptionService.swagger.json index 1da8b73b22..255d624119 100644 --- a/src/api-explorer/v4-0/EventSubscriptionService.swagger.json +++ b/src/api-explorer/v4-0/EventSubscriptionService.swagger.json @@ -1,7 +1,8 @@ { "swagger": "2.0", + "x-sap-shortText": "Manages event subscriptions and webhook notifications", "info": { - "description": "Event Service API.", + "description": "Manages subscriptions to SAP Concur platform events delivered via webhook. Allows clients and partners to be notified when business events occur in connected companies.", "version": "1.0.0", "title": "Event Service API", "termsOfService": "http://concur.com", diff --git a/src/api-explorer/v4-0/HotelService.swagger2.json b/src/api-explorer/v4-0/HotelService.swagger2.json index 43de91252b..60141f1c6a 100644 --- a/src/api-explorer/v4-0/HotelService.swagger2.json +++ b/src/api-explorer/v4-0/HotelService.swagger2.json @@ -1,6 +1,6 @@ { "swagger": "2.0", - "x-sap-shortText": "Hotel workflow endpoints.", + "x-sap-shortText": "Provides hotel inventory, rates, and booking workflows for custom sources", "tags": [ { "description": "Hotel workflow endpoints", @@ -16,7 +16,7 @@ "basePath": "/", "host": "hs-mock.service.cnqr.tech", "info": { - "description": "## Important: Please refer to [Endpoints](https://developer.concur.com/api-reference/direct-connects/hotel-service-4/v4.endpoints.html) document for detailed documentation on all endpoints for this API.\nHotel Service API provides a method for Custom Hotel Source vendors to provide hotel inventory, rates and booking related functionality to users of Concur OBT (Online Booking Tool).", + "description": "Enables Custom Hotel Source (CHS) vendors to deliver hotel inventory, rates, and booking functionality to travelers through the SAP Concur Online Booking Tool. Suited for hotel suppliers and channel managers integrating directly with the Concur travel booking experience.", "title": "Hotel Service API", "version": "4.0" }, diff --git a/src/api-explorer/v4-0/List.swagger2.json b/src/api-explorer/v4-0/List.swagger2.json index dde4193e65..25857afed9 100644 --- a/src/api-explorer/v4-0/List.swagger2.json +++ b/src/api-explorer/v4-0/List.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manage your configured SAP Concur lists.", + "x-sap-shortText": "Creates, retrieves, updates, and deletes configured lists", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/", @@ -8,7 +8,7 @@ ], "info": { "title": "List", - "description": "Provides an automated solution to clients who would like to manage lists. This API provides methods to view, add, update or delete lists.", + "description": "Creates, retrieves, updates, and deletes lists and their categories within the SAP Concur platform. Supports configuring list display format, search criteria, and access controls. Suited for administrators and ERP integrations that need to manage the master list structures used across Concur Expense and Concur Invoice. Requires a Company JWT.", "version": "4.0" }, "tags": [ diff --git a/src/api-explorer/v4-0/ListItem.swagger2.json b/src/api-explorer/v4-0/ListItem.swagger2.json index e37a6b06b1..e78cbde379 100644 --- a/src/api-explorer/v4-0/ListItem.swagger2.json +++ b/src/api-explorer/v4-0/ListItem.swagger2.json @@ -1,5 +1,5 @@ { - "x-sap-shortText": "Manage list items in your configured SAP Concur lists.", + "x-sap-shortText": "Creates, retrieves, updates, and deletes items within configured lists", "swagger": "2.0", "host": "www.concursolutions.com", "basePath": "/", @@ -8,7 +8,7 @@ ], "info": { "title": "List Item", - "description": "Provides an automated solution to clients who would like to manage list items. This API provides methods to view, add, update or delete list items owned by the specified lists.", + "description": "Creates, retrieves, updates, and deletes items within configured lists in the SAP Concur platform. Supports hierarchical list structures with parent-child relationships and filtering by value, code, or depth level. Suited for ERP integrations and administrators that need to synchronize list item values such as cost centers, projects, or expense types. Requires a Company JWT.", "version": "4.0" }, "tags": [ diff --git a/src/api-explorer/v4-0/PartnerNotifications.swagger2.json b/src/api-explorer/v4-0/PartnerNotifications.swagger2.json index 52398bbda5..73eca76169 100644 --- a/src/api-explorer/v4-0/PartnerNotifications.swagger2.json +++ b/src/api-explorer/v4-0/PartnerNotifications.swagger2.json @@ -11,9 +11,10 @@ "consumes": [ "application/json" ], + "x-sap-shortText": "Sends in-app and mobile notifications to users on behalf of partners", "info": { "title": "Notifications", - "description": "The purpose of this API is to provide SAP Concur's partners the ability to message users, through the web and mobile product.", + "description": "Enables SAP Concur partners to send notifications to users through the web and mobile product.", "version": "4.0.0" }, "tags": [ diff --git a/src/api-explorer/v4-0/Scim.swagger2.json b/src/api-explorer/v4-0/Scim.swagger2.json index 11793aba43..956bdede38 100644 --- a/src/api-explorer/v4-0/Scim.swagger2.json +++ b/src/api-explorer/v4-0/Scim.swagger2.json @@ -1,9 +1,9 @@ { - "x-sap-shortText": "Manages users and roles", + "x-sap-shortText": "Provisions and manages users and roles using the SCIM standard", "swagger": "2.0", "info": { "title": "System for Cross-domain Identity Management (SCIM)", - "description": "SAP Concur API to provision users and roles. This API implements SCIM standard and SAP TG16.R6 requirements.", + "description": "Provisions and manages users, groups, and roles across the SAP Concur platform using the SCIM 2.0 standard, including SAP enterprise and TG16.R6 extensions. Supports creating, updating, and deactivating users, assigning roles via groups, and querying users by identity attributes with cursor-based pagination. Suited for HR systems and identity providers that need to automate user lifecycle management across Concur products. Requires a Bearer token in the Authorization header.", "contact": { "email": "profile@concur.com" },