# Upsert a Rebate Agreement Creates or updates a Rebate Agreement. Assigns new uniqueName when a new Rebate Agreement is created. To update a Rebate Agreement, specify an existing uniqueName. >This endpoint is not allowed to modify the document status and workflow status. Endpoint: POST /rebateagreement.save Security: basic, X-PriceFx-jwt ## Request fields (application/json): - `data` (object) - `data.rebateAgreement` (object) - `data.rebateAgreement.version` (any) - `data.rebateAgreement.typedId` (any) - `data.rebateAgreement.uniqueName` (any) - `data.rebateAgreement.label` (string) - `data.rebateAgreement.targetDate` (string) - `data.rebateAgreement.workflowStatus` (string) - `data.rebateAgreement.headerText` (string) - `data.rebateAgreement.inputs` (array) - `data.rebateAgreement.inputs.name` (string) - `data.rebateAgreement.inputs.lookupTableId` (any) - `data.rebateAgreement.inputs.url` (any) - `data.rebateAgreement.inputs.type` (string) - `data.rebateAgreement.inputs.value` (object) - `data.rebateAgreement.inputs.value.customerFieldName` (string) - `data.rebateAgreement.inputs.value.customerFieldValue` (string) - `data.rebateAgreement.inputs.value.customerFieldLabel` (string) - `data.rebateAgreement.inputs.value.customerHint` (string) - `data.rebateAgreement.inputs.valueHint` (string) - `data.rebateAgreement.inputs.readOnly` (any) - `data.rebateAgreement.inputs.filter` (any) - `data.rebateAgreement.inputs.parameterGroup` (any) - `data.rebateAgreement.inputs.required` (any) - `data.rebateAgreement.inputs.labelTranslations` (any) - `data.rebateAgreement.inputs.addUnknownValues` (any) - `data.rebateAgreement.inputs.alwaysEditable` (any) - `data.rebateAgreement.inputs.parameterConfig` (object) - `data.rebateAgreement.inputs.formattingOptions` (object) - `data.rebateAgreement.inputs.valueOptions` (any) - `data.rebateAgreement.viewState` (object) - `data.rebateAgreement.viewState.gridViewState` (any) - `data.rebateAgreement.viewState.openFolders` (any) - `data.rebateAgreement.viewState.selectedNodes` (any) - `data.rebateAgreement.outputs` (array) - `data.rebateAgreement.lastUpdateByName` (any) - `data.rebateAgreement.createdByName` (any) - `data.rebateAgreement.submittedByName` (any) - `data.rebateAgreement.calculationStatus` (number) - `data.rebateAgreement.dirty` (boolean) - `data.rebateAgreement.refreshInputs` (boolean) - `data.rebateAgreement.nodeId` (any) - `data.rebateAgreement.userGroupEdit` (any) - `data.rebateAgreement.userGroupViewDetails` (any) - `data.rebateAgreement.serverMessages` (array) - `data.rebateAgreement.additionalInfo1` (any) - `data.rebateAgreement.additionalInfo2` (any) - `data.rebateAgreement.additionalInfo3` (any) - `data.rebateAgreement.additionalInfo4` (any) - `data.rebateAgreement.numberOfAttachments` (number) - `data.rebateAgreement.creationWorkflowStatus` (any) - `data.rebateAgreement.creationWorkflowCurrentStep` (any) - `data.rebateAgreement.creationWorkflowStepCount` (any) - `data.rebateAgreement.creationWorkflowStepLabel` (any) - `data.rebateAgreement.signature` (any) - `data.rebateAgreement.lineItems` (array) - `data.rebateAgreement.seller` (any) - `data.rebateAgreement.customerGroup` (any) - `data.rebateAgreement.startDate` (string) - `data.rebateAgreement.endDate` (string) - `data.rebateAgreement.payoutDate` (string) - `data.rebateAgreement.rebateRecordSetId` (any) - `data.rebateAgreement.rebateRecordSetLabel` (any) - `data.rebateAgreement.simulationSet` (any) - `data.rebateAgreement.simulationType` (any) - `data.rebateAgreement.status` (string) - `data.rebateAgreement.approvedByName` (any) - `data.rebateAgreement.deniedByName` (any) - `data.rebateAgreement.renderInfo` (any) - `data.rebateAgreement.serverMessagesExtended` (array) - `data.rebateAgreement.serverMessagesExtended.key` (any) - `data.rebateAgreement.serverMessagesExtended.message` (string) - `data.rebateAgreement.approvalRequiredEmailAttachmentsJson` (any) - `data.rebateAgreement.hasWorkflowHistory` (boolean) - `data.rebateAgreement.createDate` (string) - `data.rebateAgreement.createdBy` (number) - `data.rebateAgreement.lastUpdateDate` (string) - `data.rebateAgreement.lastUpdateBy` (number) - `data.rebateAgreement.supersededBy` (any) - `data.rebateAgreement.prevRev` (any) - `data.rebateAgreement.rootUniqueName` (any) - `data.rebateAgreement.headerRebateType` (any) - `data.rebateAgreement.sellerName` (any) ## Response 200 fields (application/json): - `response` (object) - `response.node` (string) - `response.data` (array) - `response.data.version` (number) - `response.data.typedId` (string) - `response.data.uniqueName` (string) - `response.data.label` (string) - `response.data.targetDate` (string) - `response.data.workflowStatus` (string) - `response.data.headerText` (string) - `response.data.inputs` (array) - `response.data.inputs.name` (string) - `response.data.inputs.lookupTableId` (any) - `response.data.inputs.url` (any) - `response.data.inputs.type` (string) - `response.data.inputs.value` (object) - `response.data.inputs.value.customerFieldName` (string) - `response.data.inputs.value.customerFieldValue` (string) - `response.data.inputs.value.customerFieldLabel` (string) - `response.data.inputs.valueHint` (string) - `response.data.inputs.readOnly` (any) - `response.data.inputs.filter` (any) - `response.data.inputs.parameterGroup` (any) - `response.data.inputs.required` (any) - `response.data.inputs.labelTranslations` (any) - `response.data.inputs.addUnknownValues` (any) - `response.data.inputs.alwaysEditable` (any) - `response.data.inputs.parameterConfig` (object) - `response.data.inputs.formattingOptions` (object) - `response.data.inputs.valueOptions` (any) - `response.data.viewState` (object) - `response.data.viewState.gridViewState` (any) - `response.data.viewState.openFolders` (any) - `response.data.viewState.selectedNodes` (any) - `response.data.outputs` (array) - `response.data.lastUpdateByName` (string) - `response.data.createdByName` (string) - `response.data.submittedByName` (any) - `response.data.calculationStatus` (number) - `response.data.dirty` (boolean) - `response.data.refreshInputs` (boolean) - `response.data.nodeId` (any) - `response.data.userGroupEdit` (any) - `response.data.userGroupViewDetails` (any) - `response.data.serverMessages` (array) - `response.data.additionalInfo1` (any) - `response.data.additionalInfo2` (any) - `response.data.additionalInfo3` (any) - `response.data.additionalInfo4` (any) - `response.data.numberOfAttachments` (number) - `response.data.creationWorkflowStatus` (any) - `response.data.creationWorkflowCurrentStep` (any) - `response.data.creationWorkflowStepCount` (any) - `response.data.creationWorkflowStepLabel` (any) - `response.data.signature` (any) - `response.data.lineItems` (array) - `response.data.seller` (any) - `response.data.customerGroup` (object) - `response.data.customerGroup.customerFilterCriteria` (any) - `response.data.startDate` (string) - `response.data.endDate` (string) - `response.data.payoutDate` (string) - `response.data.rebateRecordSetId` (any) - `response.data.rebateRecordSetLabel` (any) - `response.data.simulationSet` (any) - `response.data.simulationType` (any) - `response.data.status` (string) - `response.data.rebateAgreementStatus` (string) - `response.data.approvedByName` (any) - `response.data.deniedByName` (any) - `response.data.renderInfo` (any) - `response.data.serverMessagesExtended` (array) - `response.data.serverMessagesExtended.key` (any) - `response.data.serverMessagesExtended.message` (string, required) - `response.data.approvalRequiredEmailAttachmentsJson` (any) - `response.data.hasWorkflowHistory` (boolean) - `response.data.createDate` (string) - `response.data.createdBy` (number) - `response.data.lastUpdateDate` (string) - `response.data.lastUpdateBy` (number) - `response.data.supersededBy` (any) - `response.data.prevRev` (any) - `response.data.rootUniqueName` (string) - `response.data.headerRebateType` (any) - `response.data.sellerName` (any)