openapi: 3.2.0 info: title: Invoice Management Split Criteria API version: 1.0.0 description: Provides endpoints for managing invoice split criteria setups, including creation, activation, and deactivation. servers: - url: https://rls.congacloud.com/api/invoicing/v1 security: - Bearer: [] tags: - name: Split Criteria description: Provides endpoints for managing invoice split criteria setups, including creation, activation, and deactivation. paths: /split-criteria: get: tags: - Split Criteria summary: Gets a list of split criteria setups based on the provided query parameters. parameters: - name: filter in: query description: Filter schema: type: array items: type: string - name: sort in: query description: Sort order schema: type: string - name: page in: query description: Page number schema: type: integer format: int32 default: 1 - name: limit in: query description: Number of items per page schema: type: integer format: int32 default: 50 - name: includes in: query description: Related resources to include schema: type: array items: type: string - name: fields in: query description: Fields to return schema: type: array items: type: string - name: filterExpression in: query description: Additional filter expression schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: - Sequence: 1 Description: Split invoices based on payment terms Object: InvoiceLineItem CriteriaValue: PaymentTerm Action: Split UseForAllInvoiceRequests: true Active: true Id: example-split-criteria-id Name: Split by PaymentTerm CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: SPLIT-001 ETag: null application/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: - Sequence: 1 Description: Split invoices based on payment terms Object: InvoiceLineItem CriteriaValue: PaymentTerm Action: Split UseForAllInvoiceRequests: true Active: true Id: example-split-criteria-id Name: Split by PaymentTerm CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: SPLIT-001 ETag: null text/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: - Sequence: 1 Description: Split invoices based on payment terms Object: InvoiceLineItem CriteriaValue: PaymentTerm Action: Split UseForAllInvoiceRequests: true Active: true Id: example-split-criteria-id Name: Split by PaymentTerm CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: SPLIT-001 ETag: null '204': description: No Content content: text/plain: schema: type: array items: $ref: '#/components/schemas/ApiError' application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' text/json: schema: type: array items: $ref: '#/components/schemas/ApiError' patch: tags: - Split Criteria summary: Updates multiple split criteria setups based on the provided request data. description: "Partial success is supported; if some records are invalid or fail to update, the response\n will include details for each record and use status code 207 (Multi-Status). The order of responses corresponds\n to the order of input records." requestBody: description: "A list of split criteria setup objects to be updated. The list must not be null and should contain valid setup\n records." content: application/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Id\": \"example-split-criteria-id\",\n \"Name\": \"Split by PaymentTerm\"\n }\n]" text/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Id\": \"example-split-criteria-id\",\n \"Name\": \"Split by PaymentTerm\"\n }\n]" application/*+json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Id\": \"example-split-criteria-id\",\n \"Name\": \"Split by PaymentTerm\"\n }\n]" responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '207': description: Multi-Status content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' post: tags: - Split Criteria summary: Creates a new split criteria setup based on the provided request data. requestBody: description: A list of Conga.MAF.Entities.Models.SplitCriteriaSetup objects that defines the split criteria setup content: application/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Name\": \"Split by PaymentTerm\"\n }\n]" text/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Name\": \"Split by PaymentTerm\"\n }\n]" application/*+json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetup' example: "[\n {\n \"Sequence\": 1,\n \"Description\": \"Split invoices based on payment terms\",\n \"Object\": \"InvoiceLineItem\",\n \"CriteriaValue\": \"PaymentTerm\",\n \"Action\": \"Split\",\n \"UseForAllInvoiceRequests\": true,\n \"Active\": true,\n \"Name\": \"Split by PaymentTerm\"\n }\n]" responses: '201': description: Created content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '207': description: Multi-Status content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: type: array items: $ref: '#/components/schemas/ApiError' application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' text/json: schema: type: array items: $ref: '#/components/schemas/ApiError' /split-criteria/activate: patch: tags: - Split Criteria summary: Toggles the active status of the specified split criteria setups. description: "This method processes the provided requests to toggle the active status of the specified\n split criteria setups. It returns a 207 Multi Status code on partial success or a 400 Bad Request status code if the\n input is invalid." requestBody: description: "A list of requests specifying the split criteria setups to update and their desired active statuses. Each\n request must include the necessary identifiers and the target active status." content: application/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetupToggleActiveRequest' example: "[\n {\n \"Id\": \"Criteria-Id-1\",\n \"Active\": true\n },\n {\n \"Id\": \"Criteria-Id-2\",\n \"Active\": false\n }\n]" text/json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetupToggleActiveRequest' example: "[\n {\n \"Id\": \"Criteria-Id-1\",\n \"Active\": true\n },\n {\n \"Id\": \"Criteria-Id-2\",\n \"Active\": false\n }\n]" application/*+json: schema: type: array items: $ref: '#/components/schemas/SplitCriteriaSetupToggleActiveRequest' example: "[\n {\n \"Id\": \"Criteria-Id-1\",\n \"Active\": true\n },\n {\n \"Id\": \"Criteria-Id-2\",\n \"Active\": false\n }\n]" responses: '207': description: Multi-Status content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' /split-criteria/{id}: get: tags: - Split Criteria summary: Gets a split criteria setup by its unique identifier. parameters: - name: id in: path description: '' required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/SplitCriteriaSetup' application/json: schema: $ref: '#/components/schemas/SplitCriteriaSetup' text/json: schema: $ref: '#/components/schemas/SplitCriteriaSetup' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' /split-criteria/{id}/activate: patch: tags: - Split Criteria summary: Activates the split criteria setup identified by the specified ID. parameters: - name: id in: path description: The unique identifier of the split criteria setup to activate. Cannot be null or empty. required: true schema: type: string - name: active in: query description: A boolean value indicating whether to activate (true) or deactivate (false) the split criteria setup. schema: type: boolean default: true responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: type: array items: $ref: '#/components/schemas/ApiError' application/json: schema: type: array items: $ref: '#/components/schemas/ApiError' text/json: schema: type: array items: $ref: '#/components/schemas/ApiError' components: schemas: SplitCriteriaSetupToggleActiveRequest: type: object properties: Id: type: - string - 'null' description: Gets or sets the identifier for the Split Criteria Setup Active: type: boolean description: Gets or sets a value indicating whether the split criteria setup should be active or inactive. additionalProperties: false description: Represents a request to toggle the active status of a split criteria setup. ErrorApiResponse: type: object properties: Errors: type: - array - 'null' items: $ref: '#/components/schemas/ApiError' additionalProperties: false ApiError: type: object properties: Source: type: - string - 'null' Title: type: - string - 'null' Detail: {} Help: type: - string - 'null' additionalProperties: false BaseResponse: type: object properties: Id: type: - string - 'null' RecordIndex: type: integer format: int32 IsSuccess: type: boolean Errors: type: - array - 'null' items: type: string ErrorMessage: type: - string - 'null' deprecated: true additionalProperties: false SplitCriteriaSetup: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' CreatedBy: $ref: '#/components/schemas/LookupObject' CreatedDate: type: string format: date-time ModifiedBy: $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string format: date-time ExternalId: type: - string - 'null' ETag: type: - string - 'null' Sequence: type: - integer - 'null' format: int32 Description: type: - string - 'null' Object: type: - string - 'null' CriteriaValue: type: - string - 'null' Action: type: - string - 'null' UseForAllInvoiceRequests: type: - boolean - 'null' Active: type: - boolean - 'null' additionalProperties: {} BaseResponseBatchResponse: type: object properties: Summary: type: - string - 'null' Results: type: - array - 'null' items: $ref: '#/components/schemas/BaseResponse' additionalProperties: false LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header