# Welcome!

## RightRev API's

RightRev seamlessly integrates with your sales and revenue accounting processes, offering a united platform for sales operations and revenue reporting across all products and services.

RightRev provides a set of APIs which are used in its Revenue Automation process and helps you to perform  actions that you do with our web client.

RightRev API's are REST and GraphQL based, and Uses OAuth2 for authorization, authentication and returns responses in JSON. Every resource is exposed as a URL. The URL of each resource can be obtained by accessing the API Root Endpoint.

All URLs referenced in the API documentation have the following base:

[RightRev REST APIs](/rightrev-rest-api)


# Getting Started

To start using our API, you need to authenticate using any one of the three approaches (flows) as explained below.

Here, we use OAuth 2.0 protocol for authorizing the user that provides limited access to user data on a web server. OAuth 2.0 relies on authentication scenarios called flows, which allow the resource owner (user) to share the protected content from the resource server without sharing their credentials. For that purpose, an OAuth 2.0 server issues access tokens that the client applications can use to access protected resources on behalf of the resource owner.

### Flows

Flows (grant types) are scenarios an API client performs to get an access token from the authorization server. OAuth 2.0 provides several flows suitable for different types of API clients.

* **Bearer** - Bearer authentication (also called token authentication) is an HTTP authentication scheme that involves security tokens called bearer tokens. The name “Bearer authentication” can be understood as “give access to the bearer of this token.” The bearer token is a cryptic string, usually generated by the server in response to a login request. The client must send this token in the Authorization header when making requests to protected resources.
* **Implicit** – This flow requires the client to retrieve an access token directly by providing client id and authentication by using browser flow.
* **Resource owner password credentials (or just password)** – Requires logging in with a username and password. Since in that case the credentials will be a part of the request, this flow is suitable only for trusted clients.<br>

<br>


# Use Bearer Token Flow

### **To Authenticate and Execute RightRev API using Bearer Token Flow** <a href="#to_authenticate" id="to_authenticate"></a>

1. Go to the top of the Swagger and provide **tenantId**, **Environment** and click on **Authorize** button as shown in the screenshot below.<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FG99713rN3HLMOubjMySJ%2FScreenshot%202021-06-09%20at%2012.08.07%20(1).png?alt=media&amp;token=23003290-c48a-4b48-a203-e4e01a3a516a" alt=""><figcaption></figcaption></figure>
2. Once you click the **Authorize** button, you will see a pop-up window as shown in the screenshot below.<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F6qDMtH9a668IwwLv8OF7%2FCapture2.png?alt=media&amp;token=67ec4f64-4c6d-4c1f-b72b-b9f49c3ce339" alt=""><figcaption></figcaption></figure>
3. Generate a token by using the below mentioned steps.\
   Before executing the below steps, you must have auth url, tenant id, client id, client secret, username and password. For more details, refer [Authentication](/getting-started/authentication) section
4. Using the provided credentials, you can perform HTTP requests. Below is a sample request\
   \
   `url --location --request POST 'https:///auth/realms/<tenant_id>/protocol/openid-connect/token'`\
   `--header 'Content-Type: application/x-www-form-urlencoded'`\
   `--data-urlencode 'client_id='`\
   `--data-urlencode 'client_secret=<client_secret>`\
   `--data-urlencode 'grant_type=password'`\
   `--data-urlencode 'username=’`\
   `--data-urlencode 'password=<user_password>'`
5. Once the authorization is successful, the user will get an access token as a response. A sample response is shown below : \
   \
   `"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJETUtHSkpR VlVpQm00Nnlyc29haWE1dllIUHVlZVd5Wk5vdkV2LU92TTcwIn0.eyJleHAiO jE2MDgyODk1OTQsImlhdCI6MTYwODI4OTI5NCwianRpIjoiZTA5MWFiZjgtOW Y4Zi00MDEwLWE3OWUtNTI0NmM4N2YzZjhkIiwiaXNzIjoiaHR0cDovL2F1dGg ucmlnaHRyZXYuY2xvdWQvYXV0aC9yZWFsbXMvY2hlY2tpbmciLCJhdWQiOlsi YmFja2VuZCIsIjBhNGUyOWFjMDhiZDQ5Nzc4OGFjNTI0ZCIsImFjY291bnQiX Swic3ViIjoiNWU3ODM1N2MtMjczNS00ZmQ0LThiOWUtOGU2NTg1NmU3MTRkIi widHlwIjoiQmVhcmVyIiwiYXpwIjoiMGE0ZTI5YWMwOGJkNDk3Nzg4YWM1MjR kIiwic2Vzc2lvbl9zdGF0ZSI6IjIxMGEwNzRlLWMyNzgtNGMxMC05MWRhLTdi YzA4ZDBhM2ZjYxN7BM4KD2O2a-mYE07pujUWR9XhkqZyJ2X7jnbNYnfcqHmo0 u4x7P_KChhci1bE1jSXdzDFKJDeIrb-pC2pgTtjMB502ZC0E3vhWq_wrnpMze xoeoFuqHNJIXRwNa08zx0dzTTp6HxWUw8rjKlQA5HGuxyCrnN9mlqdnprunl7 Us2eN6NZosWyOQLfnMhKEzNV796zcFG73u_zQ", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZDA2YzUy ZC0wZGFhLTRmMWEtYjUyYS1mNGZjY2Y5MTkzM2QifQ.eyJleHAiOjE2MDgyOT OTc3ODhhYzUyNGQiLCJzZXNzaW9uX3N0YXRlIjoiMjEwYTA3NGUtYzI3OC00Y zEwLTkxZGEtN2JjMDhkMGEzZmNhIiwic2NvcGUiOiJwcm9maWxlIGVtYWlsIn 0.9fTMUAkgcS9UmeNcoTHztsgd7enbexX9AwM03MOonDA", "token_type": "bearer", "not-before-policy": 0, "session_state": "210a074e-c278-4c10-91da-7bc08d0a3fca", "scope": "profile email" }`<br>
6. Use this Token to provide in the **bearerAuth** text box. Once the token is validated, you will be viewing the below screenshot.<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2Fh8kB12zc8PLlwZhZnf3W%2FCapture6.png?alt=media&amp;token=40d5f2ea-e116-45cb-a524-ff5309325f95" alt=""><figcaption></figcaption></figure>
7. Click on **Close** button.
8. Now click on the **Try it out** button to execute any one of the APIs.<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FDGQ0JBo5vb3rpkGgiWei%2Fimage%20(11).png?alt=media&amp;token=5aee70cb-5ee6-4b6e-98e4-8e57aec51c9c" alt=""><figcaption></figcaption></figure>


# Using Implicit or Password Flow

## **To Authenticate and Execute RightRev API using Implicit or Password Flow**

* Go to top of the Swagger. In the **Servers** drop-down select the OAuth server URL, provide the **tenantId** and **Environment** and then click on **Authorize** button as shown in the screenshot below.<br>

  <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FsEgnewCVDMedkiUOKvDl%2FCapture1.png?alt=media&amp;token=ef8b7df8-1b30-44c5-b3ed-3ad89902122f" alt=""><figcaption></figcaption></figure>
* Generate token using one of the flows

### For Implicit Flow

1. Provide the **client\_id** value as Swagger and click **Authorize** button as shown in the screenshot below\ <br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FEZcyACSlK4ENiwvIpwaX%2FCapture3.png?alt=media&amp;token=c3bb5632-da40-492e-85cb-fa3a46c42efe" alt=""><figcaption></figcaption></figure>
2. Page will open on the browser to authenticate, enter credentials and login.&#x20;
3. Once the token is validated, you will be viewing the below screenshot and then click on **Close** button<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FnsZVwJMugUB1n7h2Thdc%2Fimage1.png?alt=media&amp;token=dd8cb2f7-d097-4e54-a7c1-1cbe66a9de4e" alt=""><figcaption></figcaption></figure>

### For Password Flow

1. Enter provided **client\_id**, **client\_secret**, **username** and **password**
2. Click on **Authorize** button<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FFGp1hMus2xAG9rdXGJ24%2FCapture4.png?alt=media&amp;token=60ebe44c-1895-4ba8-ab3c-25610b0ffc18" alt=""><figcaption></figcaption></figure>
3. Once the token is validated, you will be viewing the below screenshot and then click on **Close** button<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2Fwp3NY8VunoFExTIwwyNx%2FCapture7.png?alt=media&amp;token=6c061a73-ec26-44da-b4ed-6160fd744546" alt=""><figcaption></figcaption></figure>
4. Click on **Close** button
5. Once you have generated the token now change the URL in the **Servers** drop-down to point to the API server. Now provide the same **tenantId** and **Environment** for which you have generated a token<br>

   <figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F97quOeA4fkCiPOwZux5G%2FCapture5.png?alt=media&amp;token=773ce1c8-7ed3-45e6-887e-9f8498dc57f6" alt=""><figcaption></figcaption></figure>

#### Once you are done with the above steps, click on any one of the APIs and try it out.

{% hint style="info" %}
Token time interval is 5 minutes
{% endhint %}


# Authentication

To start using our API, please perform the following steps to complete the Authorization and Authentication process.

* The customer must raise a ticket for on-boarding a tenant
* Once the tenant on-boarding is done, the following credentials are provided
* Using the above credentials, the tenant can perform HTTP requests. A sample screenshot is shown below\
  \
  `url --location --request POST 'https://auth.rightrev.cloud/auth/realms/<tenant_id>/protocol/openid-connect/token'`\
  `--header 'Content-Type: application/x-www-form-urlencoded'`\
  `--data-urlencode 'client_id='`\
  `--data-urlencode 'client_secret=<client_secret>`\
  `--data-urlencode 'grant_type=password'`\
  `--data-urlencode 'username=’`\
  `--data-urlencode 'password=<user_password>'`
* Once the authorization is successful, the tenant will get an access token as a response. A sample screenshot is shown below\
  \
  `"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJETUtHSkpR VlVpQm00Nnlyc29haWE1dllIUHVlZVd5Wk5vdkV2LU92TTcwIn0.eyJleHAiO jE2MDgyODk1OTQsImlhdCI6MTYwODI4OTI5NCwianRpIjoiZTA5MWFiZjgtOW Y4Zi00MDEwLWE3OWUtNTI0NmM4N2YzZjhkIiwiaXNzIjoiaHR0cDovL2F1dGg ucmlnaHRyZXYuY2xvdWQvYXV0aC9yZWFsbXMvY2hlY2tpbmciLCJhdWQiOlsi YmFja2VuZCIsIjBhNGUyOWFjMDhiZDQ5Nzc4OGFjNTI0ZCIsImFjY291bnQiX Swic3ViIjoiNWU3ODM1N2MtMjczNS00ZmQ0LThiOWUtOGU2NTg1NmU3MTRkIi widHlwIjoiQmVhcmVyIiwiYXpwIjoiMGE0ZTI5YWMwOGJkNDk3Nzg4YWM1MjR kIiwic2Vzc2lvbl9zdGF0ZSI6IjIxMGEwNzRlLWMyNzgtNGMxMC05MWRhLTdi YzA4ZDBhM2ZjYxN7BM4KD2O2a-mYE07pujUWR9XhkqZyJ2X7jnbNYnfcqHmo0 u4x7P_KChhci1bE1jSXdzDFKJDeIrb-pC2pgTtjMB502ZC0E3vhWq_wrnpMze xoeoFuqHNJIXRwNa08zx0dzTTp6HxWUw8rjKlQA5HGuxyCrnN9mlqdnprunl7 Us2eN6NZosWyOQLfnMhKEzNV796zcFG73u_zQ", "expires_in": 300, "refresh_expires_in": 1800, "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZDA2YzUy ZC0wZGFhLTRmMWEtYjUyYS1mNGZjY2Y5MTkzM2QifQ.eyJleHAiOjE2MDgyOT OTc3ODhhYzUyNGQiLCJzZXNzaW9uX3N0YXRlIjoiMjEwYTA3NGUtYzI3OC00Y zEwLTkxZGEtN2JjMDhkMGEzZmNhIiwic2NvcGUiOiJwcm9maWxlIGVtYWlsIn 0.9fTMUAkgcS9UmeNcoTHztsgd7enbexX9AwM03MOonDA", "token_type": "bearer", "not-before-policy": 0, "session_state": "210a074e-c278-4c10-91da-7bc08d0a3fca", "scope": "profile email" }`
* Use this Token, while trying to access the RightRev API specifications in Swagger/PostMan Utility.

  Once the above mentioned steps are completed we are ready to access the API specifications

<table><thead><tr><th width="180">Credentials</th><th>Description</th></tr></thead><tbody><tr><td>Token URL</td><td>An URL to access a token</td></tr><tr><td>Username</td><td>Name of the resource owner</td></tr><tr><td>Password</td><td>Password of the resource owner</td></tr><tr><td>Client ID</td><td>Recognized as an Application ID in the registered app</td></tr><tr><td>Client Secret</td><td>Is a secret known to an authorization server that protects the resources by providing tokens only to the authorized user</td></tr></tbody></table>


# HTTP Status Codes

The below are the HTTP status codes for every API request. The status codes indicate whether a particular HTTP request has been successfully completed

|     |                       |                                                                                                   |
| --- | --------------------- | ------------------------------------------------------------------------------------------------- |
| 200 | OK                    | The request has succeeded                                                                         |
| 201 | Created               | The request has been fulfilled and resulted in a new resource being created                       |
| 204 | No Content            | The server successfully processed the request, but there is no content to return for this request |
| 400 | Bad Request           | The request could not be understood by the server due to invalid syntax                           |
| 401 | Unauthorized          | The request requires user authentication                                                          |
| 403 | Forbidden             | User does not have permission to access the API                                                   |
| 404 | Not Found             | The server could not find the requested resource                                                  |
| 409 | Conflict              | The request could not be completed due to a conflict with the current state of the resource       |
| 412 | Precondition Failed   | The server does not meet one of the preconditions that the requester put on the request           |
| 500 | Internal Server Error | The server encountered an unexpected condition which prevented it from fulfilling the request     |


# API Limit

{% hint style="info" %}
Note- This will be included in an upcoming release
{% endhint %}


# RightRev REST API

Welcome to RightRev REST API

{% columns fullWidth="false" %}
{% column width="50%" %}

* [Policy Sets](/rightrev-rest-api/policy-sets)
* [Revenue Desk 360](/rightrev-rest-api/revenue-desk-360)
* [Transaction Upload](/rightrev-rest-api/transactions-ingestion)
* [Period Close](/rightrev-rest-api/period-close)
* [Platform](/rightrev-rest-api/platform)
* [Salesforce APIs](/rightrev-rest-api/salesforce-apis)
  {% endcolumn %}

{% column width="50%" %}

{% endcolumn %}
{% endcolumns %}


# Policy Sets

Policy Sets establish the foundational configuration framework that governs how RightRev processes and interprets revenue data through its APIs. They ensure that all API-driven transactions follow consistent, compliant, and centrally managed rules across the tenant. This document provides an overview of how Policy Sets integrate with RightRev’s API workflows and define the operational context for accurate and standardized revenue processing.

{% columns %}
{% column width="50%" %}

* #### [Tenant Configuration](/rightrev-rest-api/policy-sets/configuration/tenant-configuration)
* #### [Accounting Calendar](/rightrev-rest-api/policy-sets/company-profile/accounting-period-calendar)
* #### [Legal Entity](/rightrev-rest-api/policy-sets/company-profile/legal-entity)
* #### [Currencies](/rightrev-rest-api/policy-sets/company-profile/currencies)
* #### [Identify Customer Contract](/rightrev-rest-api/policy-sets/configuration/revenue-policies/identify-customer-contract)
* #### [Revenue Rules](/rightrev-rest-api/policy-sets/configuration/revenue-policies/revenue-rules)
* #### [User Defined Events](/rightrev-rest-api/policy-sets/configuration/revenue-policies/user-defined-events)
* #### [Holds](/rightrev-rest-api/policy-sets/configuration/revenue-policies/holds)

{% endcolumn %}

{% column width="50%" %}

* #### [Contract Amendments](/rightrev-rest-api/policy-sets/configuration/revenue-policies/contract-amendments)
* #### [Bundle Configuration](/rightrev-rest-api/policy-sets/configuration/revenue-policies/bundle-configuration)
* #### [Period Open-Close](/rightrev-rest-api/period-close/period-open-close)
* #### [Order Ingestion Configuration](/rightrev-rest-api/transactions-ingestion/order-ingestion-configuration)
* #### [Invoice Ingestion Configuration](/rightrev-rest-api/transactions-ingestion/invoice-ingestion-configuration)
* #### [SSP Policy](/rightrev-rest-api/policy-sets/configuration/ssp-policy)
* #### [Exchange Rates](/rightrev-rest-api/policy-sets/exchange-rates)

{% endcolumn %}
{% endcolumns %}


# Configuration


# Tenant Configuration

Users can manage various functionalities which are to be active and inactive in specific RightRev tenants based on their business requirements.

## Get Tenant Config Policy

> Retrieves the tenant configuration details associated with a specific RightRev tenant.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/tenant-configurations":{"get":{"description":"Retrieves the tenant configuration details associated with a specific RightRev tenant.\n","responses":{"200":{"description":"Get Tenant Configuration Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the tenant configuration policy."},"compliance_name":{"type":"string","description":"Displays the policy name."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"account_segment_delimiter":{"type":"null","description":"Displays the symbol (- , | , ~ , # , : , . , $) that separates the account segments."},"ar_accounting":{"type":"boolean","description":"A boolean field indicating whether AR accounting entries exist or not. If set to True, the accounting entries are generated; if False, the accounting entries are not generated."},"augment_currency_rates":{"type":"boolean","description":"A boolean field indicating whether the system applies additional or enhanced currency exchange rate logic or not. If set to True, an enhanced currency exchange rate logic is applied; if False, an enhanced currency exchange rate logic is not applied."},"bundle_functionality":{"type":"boolean","description":"A boolean field indicating whether bundling feature is enabled or not. If set to True, the bundling feature is enabled; if False, the bundling feature is not enabled."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the tenant configuration policy can be deleted or not. If set to True, the user is allowed to delete the tenant configuration policy; if False, deletion is not permitted."},"carves_allocation":{"type":"boolean","description":"A boolean field indicating whether carves allocation is enabled or not. If set to True, the carves allocation is enabled; if False, the carves allocation is not enabled."},"contract_asset_journal_method":{"type":"null","description":"Displays the method to generate the journal entries for contract assets."},"contract_asset_segment":{"type":"null","description":"An accounting segment where the contract asset transactions are maintained."},"cost_enabled":{"type":"boolean","description":"A boolean field indicating whether the system should calculate the cost for the transactions. If set to True, the system calculates the cost for the transactions; if False, the cost for the transactions will not be calculated by the system."},"cost_practical_expedient":{"type":"null","description":"Displays the value in # of months. Default Value is 12."},"create_revenue_schedules":{"type":"boolean","description":"A boolean field indicating whether the system creates a revenue schedules for the revenue contracts to recognize revenue or not. If set to True, the system creates a revenue schedule for the revenue contracts to recognize revenue; if False, the system will not create a revenue schedule for the revenue contracts to recognize revenue."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"distribution_method":{"type":"string","description":"Displays the method to perform revenue distribution on the transaction lines. The methods are Days in Calendar Period & Prorate."},"egress_hold":{"type":"boolean","description":"A boolean field indicating whether the system can transfer the journals or not when it is on hold. If set to True, the system cannot transfer the journals on hold; if False, the system can transfer the journals."},"fx_adjustment_method":{"type":"null","description":"Using the Foreign Exchange Adjustment method, the Foreign Exchange Adjustment entries are created in the system."},"fx_adjustments":{"type":"boolean","description":"Displays whether the system creates the Foreign Exchange Adjustments entries for all eligible transactions or not. If set to True, the system creates the Foreign Exchange Adjustments entries for all eligible transactions; if False, the system will not create the Foreign Exchange Adjustments entries for all eligible transactions."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"ingest_hold":{"type":"boolean","description":"A boolean field indicating whether the transaction lines are put on hold or not. If set to True, then the transaction lines are put on hold; if False, the transaction lines are not put on hold."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the tenant configuration policy is defined by the user or not. If set to True, the user is allowed to define the tenant configuration policy; if False, defining the tenant configuration policy is not permitted."},"journal_details_egress":{"type":"boolean","description":"A boolean field indicating whether the Journal details for the journal batch will not be displayed in the journal run or not. If set to True, the Journal details for the journal batch will be displayed in the journal run; if False, the Journal details for the journal batch will not be displayed in the journal run."},"journal_transfer_by_ofid":{"type":"boolean","description":"A boolean field indicating whether the journal entries are transferred based on the order financial id or not. If set to True, the journal entries are transferred based on the order financial id; if False, the journal entries are not transferred based on the order financial id."},"journals_run_currency":{"type":"string","description":"Displays the currency in which the journal run is processed."},"lt_st_accounting":{"type":"boolean","description":"A boolean field indicating whether the system separates the accounts for long-term and short-term portions of contractual revenue / liabilities or not. If set to True, the system separates the accounts for long-term and short-term portions; if False, the system will not separate the accounts for long-term and short-term."},"manual_journal":{"type":"boolean","description":"A boolean field indicating whether the manual journal functionality can be used or not. If set to True, the manual journal functionality can be used; if False, the manual journal functionality cannot be used."},"manual_journal_contra_account":{"type":"string","description":"An alphanumeric value provided by the user which will get recorded when Manual Journal Entries are created."},"multi_currency_revenue_contracts":{"type":"boolean","description":"A boolean field that allows revenue contracts to have multiple transaction currencies. If set to True, carves allocations will be performed only in functional currency; if False, system will group revenue contracts based on transaction currency and perform carve allocations in transaction currency."},"prorate_method":{"type":"string","description":"System performs revenue distribution evenly across the number of periods except the first and last which is based on the Partial Revenue Start and End date."},"rc_activities_egress":{"type":"boolean","description":"A boolean field indicating whether the Revenue Contract Activities details for the Revenue Contract will be displayed in the Revenue Contract Line or not. If set to True, the Revenue Contract Activities details for the Revenue Contract will be displayed in the Revenue Contract Line; if False, the Revenue Contract Activities details for the Revenue Contract will not be displayed in the Revenue Contract Line."},"rc_distributions_egress":{"type":"boolean","description":"A boolean field indicating whether the Revenue Contract Distribution details for the Revenue Contract will be displayed in the Revenue Contract or not. If set to True, the Revenue Contract Distribution details for the Revenue Contract will be displayed in the Revenue Contract; if False, the Revenue Contract Distribution details for the Revenue Contract will not be displayed in the Revenue Contract."},"reprocess_existing_ofid":{"type":"boolean","description":"A boolean field indicating whether the system reprocess the transactions for existing order financial id or not. If set to True, the system reprocess the transactions for existing order financial id; if False, the system will not reprocess the transactions for existing order financial id."},"sfdc_multicurrorg_enabled":{"type":"boolean","description":"A boolean field indicating whether the Salesforce multi currency org is enabled for the tenant or not. If set to True, the Salesforce multi currency org is enabled for the tenant; if False, the Salesforce multi currency org is not enabled for the tenant."},"snowman_enabled":{"type":"boolean","description":"A boolean field indicating whether the tenant is snowman enabled or not. If set to True, the tenant is snowman enabled; if False, the tenant is not snowman enabled."},"ui_mode":{"type":"string","description":"Displays which user interface is active for the tenant."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy."}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Unique key is GUID, which is a global unique identifier generated by the system."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}}}}}}}},"tags":["Policy Sets"],"summary":"Get Tenant Config Policy","operationId":"get_tenant_config_policy_apis_policy_sets_v1_policy_tenant_configurations_get"}}}}
```

## Patch Tenant Config Policy

> Update the \*\*Tenant Configuration\*\* policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/tenant-configurations/{compliance_id}":{"patch":{"description":"Update the **Tenant Configuration** policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to update a tenant configuration. This compliance id can be fetched from the response of the **Tenant Configuration Policy - GET** API.\n"}],"responses":{"200":{"description":"Update Tenant Configuration Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"A system-generated guid to update a tenant configuration."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to update a tenant configuration."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user_name":{"type":"string","description":"ID of the user."},"current_timestamp":{"type":"string","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"format_type":{"type":"string","description":"Format of the payload. For e.g. JSON"},"compliance_name":{"type":"string","description":"Provide compliance name to retrieve an accounting calendar pertaining to that compliance name"},"unique_key":{"type":"string","description":"Unique key is GUID, which is a global unique identifier generated by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"ar_accounting":{"type":"boolean","description":"A boolean field indicating whether AR accounting entries exist or not. If set to True, the accounting entries are generated; if False, the accounting entries are not generated."},"carves_allocation":{"type":"boolean","description":"A boolean field indicating whether carves allocation is enabled or not. If set to True, the carves allocation is enabled; if False, the carves allocation is not enabled."},"create_revenue_schedules":{"type":"boolean","description":"A boolean field indicating whether the system creates a revenue schedules for the revenue contracts to recognize revenue or not. If set to True, the system creates a revenue schedule for the revenue contracts to recognize revenue; if False, the system will not create a revenue schedule for the revenue contracts to recognize revenue."},"distribution_method":{"type":"string","description":"Displays the method to perform revenue distribution on the transaction lines. The methods are Days in Calendar Period & Prorate."},"lt_st_accounting":{"type":"boolean","description":"A boolean field indicating whether the system separates the accounts for long-term and short-term portions of contractual revenue / liabilities or not. If set to True, the system separates the accounts for long-term and short-term portions; if False, the system will not separate the accounts for long-term and short-term."},"manual_journal":{"type":"boolean","description":"A boolean field indicating whether the manual journal functionality can be used or not. If set to True, the manual journal functionality can be used; if False, the manual journal functionality cannot be used."},"manual_journal_contra_account":{"type":"string","description":"An alphanumeric value provided by the user which will get recorded when Manual Journal Entries are created."},"prorate_method":{"type":"string","description":"System performs revenue distribution evenly across the number of periods except the first and last which is based on the Partial Revenue Start and End date."},"multi_currency_revenue_contracts":{"type":"boolean","description":"A boolean field that allows revenue contracts to have multiple transaction currencies. If set to True, carves allocations will be performed only in functional currency; if False, system will group revenue contracts based on transaction currency and perform carve allocations in transaction currency."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"journals_run_currency":{"type":"string","description":"Displays the currency in which the journal run is processed."},"ui_mode":{"type":"string","description":"Displays which user interface is active for the tenant."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."}},"required":["ar_accounting","can_delete","carves_allocation","create_revenue_schedules","distribution_method","guid","is_user_defined","journals_run_currency","lt_st_accounting","manual_journal","manual_journal_contra_account","multi_currency_revenue_contracts","prorate_method","ui_mode"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","current_timestamp","format_type","unique_key","user_name"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Tenant Config Policy","operationId":"patch_tenant_config_policy_apis_policy_sets_v1_policy_tenant_configurations__compliance_id__patch"}}}}
```


# SSP Policy

Defines rules for Standalone Selling Price calculations and allocation methods. API transactions referencing bundled items rely on this policy for revenue allocation.


# SSP policy by upload method

## Get Ssp Policy

> This API will retrieves the list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp":{"get":{"description":"This API will retrieves the list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.\n","parameters":[{"name":"policy_name","in":"query","required":false,"schema":{"type":"string","title":"policy_name"},"description":"Name of the SSP Policy"},{"name":"batch_name","in":"query","required":false,"schema":{"type":"string","title":"batch_name"},"description":"Name of the SSP Batch Policy"}],"responses":{"200":{"description":"Get list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the Policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"batches":{"type":"array","description":"The name of the SSP Policy batch details."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"null","description":"This is Maximum allowed SSP percentage."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"data_identifiers":{"type":"array","items":{"type":"string"},"description":"Fields used to identify SSP items (e.g., product_id)."},"entity_type":{"type":"string","description":"Type of record (policy). For e.g. Batch or ssp values "},"expression":{"type":"string","description":"This field is formula used to derive SSP value"},"floor_percentage":{"type":"null","description":"This is Minimum allowed SSP percentage."},"hierarchy_no":{"type":"integer","description":"Order of evaluation in policy hierarchy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"method":{"type":"string","description":"How SSP values are provided (upload, Formula or calculator)."},"name":{"type":"string","description":"Name of SSP policy or SSP batch"},"transaction_above_range":{"type":"string","description":"Handling rule when value is above midpoint."},"transaction_below_range":{"type":"string","description":"Handling rule when value is below midpoint."},"transaction_mid_range":{"type":"string","description":"Handling rule when value is at midpoint."},"type":{"type":"string","description":"Type of the policy"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"when":{"type":"array","description":"Conditions if any"},"batch_name":{"type":"string","description":"Name of the SSP Batch."},"compliance_percent":{"type":"null","description":"Compliance value"},"policy_name":{"type":"string","description":"Name of the SSP Policy."},"ssp_values":{"type":"array","items":{"type":"object","properties":{"above_mid_point":{"type":"integer","description":"Upper range SSP % value."},"below_mid_point":{"type":"integer","description":"Lower range SSP % value."},"currency_code":{"type":"string","description":"Currency of the SSP Values."},"effective_end_date":{"type":"string","description":"End date for SSP validity."},"effective_start_date":{"type":"string","description":"Start date for SSP validity."},"mid_point":{"type":"integer","description":"Middle SSP % value."},"product_id":{"type":"string","description":"Product identifier."},"ssp_value_id":{"type":"string","description":"A system assigned alpha-numeric number to ssp policy value record."},"value_type":{"type":"string","description":"Type of value. For e.g. Amount/Percent."}},"required":["above_mid_point","below_mid_point","currency_code","effective_end_date","effective_start_date","mid_point","product_id","ssp_value_id","value_type"]},"description":"ssp_values TODO"},"apply_ssppercent_on":{"type":"string","description":"Base price used for SSP % calculation."},"effective_end_date":{"type":"string","description":"Batch validity end date."},"effective_start_date":{"type":"string","description":"Batch validity start date."},"file_id":{"type":"null","description":"Uploaded file reference ID generated by the system."},"file_name":{"type":"null","description":"Name of the uploaded file."},"ssp_calculation_method":{"type":"null","description":"Formula used to calculate SSP."},"ssp_range_calc_type":{"type":"null","description":"SSP range calculation type."},"status":{"type":"string","description":"Current batch status. For e.g. file uploaded or reviewed or approved"},"timestamp":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."}},"required":["can_delete","created_at","created_by","entity_type","is_user_defined","name","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Type of the policy."},"status":{"type":"string","description":"Status of the policy."},"unique_key":{"type":"string","description":"A system generated unique id."},"version_id":{"type":"string","description":"Version ID."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Ssp Policy","operationId":"get_ssp_policy_apis_policy_sets_v1_policy_ssp_get"}}}}
```

## Ssp Policy Download

> This API is used to download the uploaded SSP Policy Batch value details in CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/download/{file_id}":{"get":{"description":"This API is used to download the uploaded SSP Policy Batch value details in CSV file.\n","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"Uploaded file ID generated by the system.\n"}],"responses":{"200":{"description":"Get SSP Policy Batch value details in CSV file.","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}}},"tags":["Policy Sets"],"summary":"Ssp Policy Download","operationId":"ssp_policy_download_apis_policy_sets_v1_policy_ssp_download__file_id__get"}}}}
```

## Download Ssp Policy Template

> This API is used to to download the SSP Policy Batch template.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/template":{"get":{"description":"This API is used to to download the SSP Policy Batch template.\n","parameters":[{"name":"batch_name","in":"path","required":false,"schema":{"type":"string","title":"batch Name"},"description":"User need to provide the batch name to download the template.\n"}],"responses":{"200":{"description":"Get SSP Batch Template - In Raw text, columns separated by commas","content":{"text/csv":null,"application/json":{"schema":{}}}}},"tags":["Policy Sets"],"summary":"Download Ssp Policy Template","operationId":"download_ssp_policy_template_apis_policy_sets_v1_policy_ssp_template_get"}}}}
```

## Post Ssp Policy

> This API is used to create new SSP policy by formula or by upload method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp":{"post":{"description":"This API is used to create new SSP policy by formula or by upload method.\n","responses":{"200":{"description":"Create SSP Policy by Formula or Upload method.","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Name of the policy."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Provide compliance name to retrieve an accounting calendar pertaining to that compliance name"},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"},"format_type":{"type":"string","description":"Type of the payload. For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"integer","description":"This is Maximum allowed SSP percentage."},"data_identifiers":{"type":"array","description":"Fields used to identify SSP items (e.g., product_id)."},"entity_type":{"type":"string","description":"Type of record (policy). For e.g. Batch or policy"},"expression":{"type":"string","description":"This field is formula used to derive SSP value"},"floor_percentage":{"type":"integer","description":"This is Minimum allowed SSP percentage."},"hierarchy_no":{"type":"integer","description":"Order of evaluation in policy hierarchy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"method":{"type":"string","description":"How SSP values are provided (upload or Formula)."},"name":{"type":"string","description":"Name of SSP policy or SSP batch"},"transaction_above_range":{"type":"string","description":"Handling rule when value is above midpoint."},"transaction_below_range":{"type":"string","description":"Handling rule when value is below midpoint."},"transaction_mid_range":{"type":"string","description":"Handling rule when value is at midpoint."},"type":{"type":"string","description":"Type of the policy."},"when":{"type":"array","items":{"type":"object","properties":{"field_name":{"type":"string","description":"Name of the field"},"operator":{"type":"string","description":"A set of comparison conditions used to evaluate field values in a revenue rule policy, allowing users to filter or match data using equality, inequality, relational comparisons (>, <, >=, <=), list based checks (in, not in), text pattern matching (contains, not contains, starts with, ends with), and null/empty validations (null, not null)."},"value":{"type":"string","description":"SSP identifier - value of field name."}},"required":["field_name","operator","value"]},"description":"Conditions if any"}},"required":["active","can_delete","ceiling_percentage","data_identifiers","entity_type","expression","floor_percentage","hierarchy_no","is_user_defined","method","name","transaction_above_range","transaction_below_range","transaction_mid_range","type","when"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Post Ssp Policy","operationId":"post_ssp_policy_apis_policy_sets_v1_policy_ssp_post"}}}}
```

## Review Approve Ssp Policy

> This API is used to \*\*REVIEW\*\* or \*\*APPROVE\*\* the SSP batches created under SSP by upload or SSP calculator method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{action}/{compliance_id}/{batch_name}":{"patch":{"description":"This API is used to **REVIEW** or **APPROVE** the SSP batches created under SSP by upload or SSP calculator method.\n","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"},"description":"Two actions are supported here. **review** or **approve**\n"},{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"},{"name":"batch_name","in":"path","required":true,"schema":{"type":"string","title":"Batch Name"},"description":"Name of the SSP Policy Batch.\n"}],"responses":{"200":{"description":"Review and Approve SSP Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"A name of the SSP policy."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Review Approve Ssp Policy","operationId":"review_approve_ssp_policy_apis_policy_sets_v1_policy_ssp__action___compliance_id___batch_name__patch"}}}}
```


# SSP policy by formula method

## Get Ssp Policy

> This API will retrieves the list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp":{"get":{"description":"This API will retrieves the list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.\n","parameters":[{"name":"policy_name","in":"query","required":false,"schema":{"type":"string","title":"policy_name"},"description":"Name of the SSP Policy"},{"name":"batch_name","in":"query","required":false,"schema":{"type":"string","title":"batch_name"},"description":"Name of the SSP Batch Policy"}],"responses":{"200":{"description":"Get list of all SSP Policies, individual SSP Policy details and SSP Policy batch details.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the Policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"batches":{"type":"array","description":"The name of the SSP Policy batch details."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"null","description":"This is Maximum allowed SSP percentage."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"data_identifiers":{"type":"array","items":{"type":"string"},"description":"Fields used to identify SSP items (e.g., product_id)."},"entity_type":{"type":"string","description":"Type of record (policy). For e.g. Batch or ssp values "},"expression":{"type":"string","description":"This field is formula used to derive SSP value"},"floor_percentage":{"type":"null","description":"This is Minimum allowed SSP percentage."},"hierarchy_no":{"type":"integer","description":"Order of evaluation in policy hierarchy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"method":{"type":"string","description":"How SSP values are provided (upload, Formula or calculator)."},"name":{"type":"string","description":"Name of SSP policy or SSP batch"},"transaction_above_range":{"type":"string","description":"Handling rule when value is above midpoint."},"transaction_below_range":{"type":"string","description":"Handling rule when value is below midpoint."},"transaction_mid_range":{"type":"string","description":"Handling rule when value is at midpoint."},"type":{"type":"string","description":"Type of the policy"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"when":{"type":"array","description":"Conditions if any"},"batch_name":{"type":"string","description":"Name of the SSP Batch."},"compliance_percent":{"type":"null","description":"Compliance value"},"policy_name":{"type":"string","description":"Name of the SSP Policy."},"ssp_values":{"type":"array","items":{"type":"object","properties":{"above_mid_point":{"type":"integer","description":"Upper range SSP % value."},"below_mid_point":{"type":"integer","description":"Lower range SSP % value."},"currency_code":{"type":"string","description":"Currency of the SSP Values."},"effective_end_date":{"type":"string","description":"End date for SSP validity."},"effective_start_date":{"type":"string","description":"Start date for SSP validity."},"mid_point":{"type":"integer","description":"Middle SSP % value."},"product_id":{"type":"string","description":"Product identifier."},"ssp_value_id":{"type":"string","description":"A system assigned alpha-numeric number to ssp policy value record."},"value_type":{"type":"string","description":"Type of value. For e.g. Amount/Percent."}},"required":["above_mid_point","below_mid_point","currency_code","effective_end_date","effective_start_date","mid_point","product_id","ssp_value_id","value_type"]},"description":"ssp_values TODO"},"apply_ssppercent_on":{"type":"string","description":"Base price used for SSP % calculation."},"effective_end_date":{"type":"string","description":"Batch validity end date."},"effective_start_date":{"type":"string","description":"Batch validity start date."},"file_id":{"type":"null","description":"Uploaded file reference ID generated by the system."},"file_name":{"type":"null","description":"Name of the uploaded file."},"ssp_calculation_method":{"type":"null","description":"Formula used to calculate SSP."},"ssp_range_calc_type":{"type":"null","description":"SSP range calculation type."},"status":{"type":"string","description":"Current batch status. For e.g. file uploaded or reviewed or approved"},"timestamp":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."}},"required":["can_delete","created_at","created_by","entity_type","is_user_defined","name","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Type of the policy."},"status":{"type":"string","description":"Status of the policy."},"unique_key":{"type":"string","description":"A system generated unique id."},"version_id":{"type":"string","description":"Version ID."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Ssp Policy","operationId":"get_ssp_policy_apis_policy_sets_v1_policy_ssp_get"}}}}
```

## Post Ssp Policy

> This API is used to create new SSP policy by formula or by upload method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp":{"post":{"description":"This API is used to create new SSP policy by formula or by upload method.\n","responses":{"200":{"description":"Create SSP Policy by Formula or Upload method.","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Name of the policy."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Provide compliance name to retrieve an accounting calendar pertaining to that compliance name"},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"},"format_type":{"type":"string","description":"Type of the payload. For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"integer","description":"This is Maximum allowed SSP percentage."},"data_identifiers":{"type":"array","description":"Fields used to identify SSP items (e.g., product_id)."},"entity_type":{"type":"string","description":"Type of record (policy). For e.g. Batch or policy"},"expression":{"type":"string","description":"This field is formula used to derive SSP value"},"floor_percentage":{"type":"integer","description":"This is Minimum allowed SSP percentage."},"hierarchy_no":{"type":"integer","description":"Order of evaluation in policy hierarchy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"method":{"type":"string","description":"How SSP values are provided (upload or Formula)."},"name":{"type":"string","description":"Name of SSP policy or SSP batch"},"transaction_above_range":{"type":"string","description":"Handling rule when value is above midpoint."},"transaction_below_range":{"type":"string","description":"Handling rule when value is below midpoint."},"transaction_mid_range":{"type":"string","description":"Handling rule when value is at midpoint."},"type":{"type":"string","description":"Type of the policy."},"when":{"type":"array","items":{"type":"object","properties":{"field_name":{"type":"string","description":"Name of the field"},"operator":{"type":"string","description":"A set of comparison conditions used to evaluate field values in a revenue rule policy, allowing users to filter or match data using equality, inequality, relational comparisons (>, <, >=, <=), list based checks (in, not in), text pattern matching (contains, not contains, starts with, ends with), and null/empty validations (null, not null)."},"value":{"type":"string","description":"SSP identifier - value of field name."}},"required":["field_name","operator","value"]},"description":"Conditions if any"}},"required":["active","can_delete","ceiling_percentage","data_identifiers","entity_type","expression","floor_percentage","hierarchy_no","is_user_defined","method","name","transaction_above_range","transaction_below_range","transaction_mid_range","type","when"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Post Ssp Policy","operationId":"post_ssp_policy_apis_policy_sets_v1_policy_ssp_post"}}}}
```


# SSP policy by calculator method

## Ssp Calculate

> This API is used to initiate calculation for SSP batch of SSP calculator method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{compliance_id}/calculate":{"put":{"description":"This API is used to initiate calculation for SSP batch of SSP calculator method.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"}],"responses":{"200":{"description":"Calculate SSP","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["error","message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"policy_name":{"type":"string","description":"Name of SSP Calculator Policy."},"batch_name":{"type":"string","description":"Name of SSP Calculator Policy Batch."},"policy_spec":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"batches":{"type":"array","description":"Name of the SSP batches."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"null","description":"Upper SSP % limit for this batch."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"data_identifiers":{"type":"array","items":{"type":"string"},"description":"Fields used to identify SSP items (e.g., product_id)."},"entity_type":{"type":"string","description":"This field contains of SSP values or batches"},"expression":{"type":"string","description":"Formula expression used to calculate SSP value."},"floor_percentage":{"type":"null","description":"Minimum allowed SSP percentage."},"hierarchy_no":{"type":"integer","description":"Order of evaluation in policy hierarchy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"method":{"type":"string","description":"Method used to calculate SSP value sin calculator. For e.g absolute or median"},"name":{"type":"string","description":"Name of the SSP policy."},"transaction_above_range":{"type":"string","description":"Handling rule when value is above midpoint."},"transaction_below_range":{"type":"string","description":"Handling rule when value is below midpoint."},"transaction_mid_range":{"type":"string","description":"Handling rule when value is at midpoint."},"type":{"type":"string","description":"Type of the SSP Policy."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"when":{"type":"array","description":"Conditions if any."},"isEditable":{"type":"boolean","description":"A boolean field indicating whether the policy can be edited or not. If set to True, the user is allowed to edit the policy; if False, edit is not permitted."},"canDelete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."}},"required":["active","batches","canDelete","can_delete","ceiling_percentage","created_at","created_by","data_identifiers","entity_type","expression","floor_percentage","hierarchy_no","isEditable","is_user_defined","method","name","transaction_above_range","transaction_below_range","transaction_mid_range","type","updated_at","updated_by","when"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"batch_spec":{"type":"object","properties":{"apply_ssppercent_on":{"type":"string","description":"Field used for SSP % calculation. For e.g. Total List Price"},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"ceiling_percentage":{"type":"integer","description":"Upper SSP limit for this batch."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"effective_end_date":{"type":"string","description":"Batch validity end date."},"effective_start_date":{"type":"string","description":"Batch validity start date."},"entity_type":{"type":"string","description":"Type of the policy record."},"file_id":{"type":"null","description":"Uploaded file reference ID generated by the system."},"file_name":{"type":"null","description":"Name of the uploaded file."},"floor_percentage":{"type":"integer","description":"Lower SSP limit %."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"name":{"type":"string","description":"name of the user."},"policy_name":{"type":"string","description":"name of the SSP Policy."},"ssp_calculation_method":{"type":"string","description":"Name of the SSP Calculator method."},"ssp_range_calc_type":{"type":"string","description":"Type of the SSP range calculation."},"status":{"type":"string","description":"Status of the policy. for e.g. file uploaded or review or approve etc."},"timestamp":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"when":{"type":"array","items":{"type":"object","properties":{"field_name":{"type":"string","description":"name of the field on which SSP is to be applied. For e.g. Product ID"},"operator":{"type":"string","description":"A set of comparison conditions used to evaluate field values in a revenue rule policy, allowing users to filter or match data using equality, inequality, relational comparisons (>, <, >=, <=), list based checks (in, not in), text pattern matching (contains, not contains, starts with, ends with), and null/empty validations (null, not null)."},"value":{"type":"string","description":"Value on which SSP should get applied. For e.g. If Filed Name is Product ID then Value could be Hardware or Software"}},"required":["field_name","operator","value"]},"description":"Filed level details"}},"required":["apply_ssppercent_on","can_delete","ceiling_percentage","created_at","created_by","effective_end_date","effective_start_date","entity_type","file_id","file_name","floor_percentage","is_user_defined","name","policy_name","ssp_calculation_method","ssp_range_calc_type","status","timestamp","updated_at","updated_by","when"],"description":"Batch level details."}},"required":["batch_name","batch_spec","policy_name","policy_spec"]}}},"required":true},"tags":["Policy Sets"],"summary":"Ssp Calculate","operationId":"ssp_calculate_apis_policy_sets_v1_policy_ssp__compliance_id__calculate_put"}}}}
```

## Ssp Refresh

> This API is used to refresh and check status of the ssp values at batch level in SSP calculator method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{compliance_id}/ssp-values":{"get":{"description":"This API is used to refresh and check status of the ssp values at batch level in SSP calculator method.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"},{"name":"policy_name","in":"query","required":true,"schema":{"type":"string","title":"policy_name"},"description":"Name of the SSP Policy."},{"name":"batch_name","in":"query","required":true,"schema":{"type":"string","title":"batch_name"},"description":"Name of the SSP Policy Batch."}],"responses":{"200":{"description":"Refresh SSP","content":{"application/json":{"schema":{"type":"object","properties":{"batch_name":{"type":"string","description":"Name of the SSP Policy Batch"},"entity_type":{"type":"string","description":"Type of the record. For e.g ssp values"},"name":{"type":"string","description":"A unique combination of SSP Policy Name and batch name. "},"policy_name":{"type":"string","description":"name of the SSP Policy."},"ssp_values":{"type":"array","items":{"type":"object","properties":{"above_mid_point":{"type":"integer","description":"Upper range SSP % value."},"below_mid_point":{"type":"integer","description":"Lower range SSP % value."},"compliance_percent":{"type":"number","description":"Compliance value"},"effective_end_date":{"type":"string","description":"End date for SSP validity."},"effective_start_date":{"type":"string","description":"Start date for SSP validity."},"mid_point":{"type":"integer","description":"Middle SSP % value."},"product_name":{"type":"string","description":"Name of the Product on which SSP calculator is being calculated."},"ssp_value_id":{"type":"string","description":"SSP value ID generated by the system."},"transactions_count":{"type":"integer","description":"Total historical transaction available for criteria provided"},"value_type":{"type":"string","description":"Type of the value. Amount or percent"},"withinrange_count":{"type":"integer","description":"Count showing how many transactions are within SSP range."}},"required":["above_mid_point","below_mid_point","compliance_percent","effective_end_date","effective_start_date","mid_point","product_name","ssp_value_id","transactions_count","value_type","withinrange_count"]},"description":"Details of SSP values"}},"required":["batch_name","entity_type","name","policy_name","ssp_values"]}}}}},"tags":["Policy Sets"],"summary":"Ssp Refresh","operationId":"ssp_refresh_apis_policy_sets_v1_policy_ssp__compliance_id__ssp_values_get"}}}}
```

## Ssp Bell Curve

> This API is used to retrieve all bell curve details of SSP calculator value id.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{compliance_id}/bell-curve":{"get":{"description":"This API is used to retrieve all bell curve details of SSP calculator value id.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"},{"name":"policy_name","in":"query","required":true,"schema":{"type":"string","title":"policy_name"},"description":"Name of the SSP Policy."},{"name":"batch_name","in":"query","required":true,"schema":{"type":"string","title":"batch_name"},"description":"Name of the SSP Policy Batch."},{"name":"ssp_value_id","in":"query","required":true,"schema":{"type":"string","title":"ssp_value_id"},"description":"Unique SSP batch value ID assigned by system on completion of calculation."}],"responses":{"200":{"description":"Bell Curve SSP","content":{"application/json":{"schema":{"type":"object","properties":{"batch_name":{"type":"string","description":"Name of the SSP Policy Batch."},"bell_curve":{"type":"array","items":{"type":"object","properties":{"y-axis":{"type":"integer","description":"The vertical line on a graph"}},"required":["x-axis","y-axis"]},"description":"System generated bell curve on how SSP calculator values."},"bell_curve_label":{"type":"object","properties":{"y-axis":{"type":"string","description":"The vertical line on a graph"}},"required":["x-axis","y-axis"],"description":"Describe what values available on x axis and y axis"},"policy_name":{"type":"string","description":"Name of SSP Policy"},"ssp_value_id":{"type":"string","description":"Unique SSP batch value ID assigned by system on completion of calculation."}},"required":["batch_name","bell_curve","bell_curve_label","policy_name","ssp_value_id"]}}}}},"tags":["Policy Sets"],"summary":"Ssp Bell Curve","operationId":"ssp_bell_curve_apis_policy_sets_v1_policy_ssp__compliance_id__bell_curve_get"}}}}
```

## Ssp Exclude

> This API is used to upload CSV file of transactions that to be exclude from SSP calculator calculation.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{compliance_id}/exclude-transactions":{"put":{"description":"This API is used to upload CSV file of transactions that to be exclude from SSP calculator calculation.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"}],"responses":{"200":{"description":"Exclude SSP","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["error","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"CSV file to be uploaded with transactions which are to be excluded from SSP calculator calculation."},"ssp_value_id":{"type":"text","format":"string","description":"Unique SSP batch value ID assigned by system on completion of calculation."},"policy_name":{"type":"text","format":"string","description":"Name of the SSP Policy."},"batch_name":{"type":"text","format":"string","description":"Name of the SSP Policy Batch."}},"required":["file","ssp_value_id","policy_name","batch_name"]}},"application/json":{"schema":{}}},"required":true},"tags":["Policy Sets"],"summary":"Ssp Exclude","operationId":"ssp_exclude_apis_policy_sets_v1_policy_ssp__compliance_id__exclude_transactions_put"}}}}
```

## Ssp Download

> This API is used to download the CSV file uploaded to exclude the transactions to be part of SSP calculator calculation.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{compliance_id}/transactions":{"get":{"description":"This API is used to download the CSV file uploaded to exclude the transactions to be part of SSP calculator calculation.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"}],"responses":{"200":{"description":"Download SSP","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}}},"tags":["Policy Sets"],"summary":"Ssp Download","operationId":"ssp_download_apis_policy_sets_v1_policy_ssp__compliance_id__transactions_get"}}}}
```

## Review Approve Ssp Policy

> This API is used to \*\*REVIEW\*\* or \*\*APPROVE\*\* the SSP batches created under SSP by upload or SSP calculator method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/ssp/{action}/{compliance_id}/{batch_name}":{"patch":{"description":"This API is used to **REVIEW** or **APPROVE** the SSP batches created under SSP by upload or SSP calculator method.\n","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"},"description":"Two actions are supported here. **review** or **approve**\n"},{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID on creating or updating the policy\n"},{"name":"batch_name","in":"path","required":true,"schema":{"type":"string","title":"Batch Name"},"description":"Name of the SSP Policy Batch.\n"}],"responses":{"200":{"description":"Review and Approve SSP Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"A name of the SSP policy."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Review Approve Ssp Policy","operationId":"review_approve_ssp_policy_apis_policy_sets_v1_policy_ssp__action___compliance_id___batch_name__patch"}}}}
```


# Revenue Policies


# Identify Customer Contract

Establishes the logic and rules used to identify or derive a customer contract from incoming API data. This policy ensures consistent contract grouping

## Get Orders Group Policy

> Retrieves \*\*Orders Group\*\* policy created in the RightRev system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders-group":{"get":{"description":"Retrieves **Orders Group** policy created in the RightRev system.\n","responses":{"200":{"description":"Get Orders Group Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve orders group."},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the orders group policy can be deleted or not. If set to True, the user is allowed to delete the orders group policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"groupings":{"type":"array","items":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"Displays the list of field values selected by the user to set orders group policy."}}},"description":"A process where transaction lines are automatically grouped into revenue contracts (RCs) based on the defined orders group policy."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the orders group policy is defined by the user or not. If set to True, the user is allowed to define the orders group policy; if False, defining the orders group policy is not permitted."},"name":{"type":"string","description":"Displays the orders group policy name generated by the system."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy."}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Represents the unique name of the orders group."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}}}}}}}},"tags":["Policy Sets"],"summary":"Get Orders Group Policy","operationId":"get_orders_group_policy_apis_policy_sets_v1_policy_orders_group_get"}}}}
```

## Post Orders Group Policy

> Create a new \*\*Order Group\*\* policy in the RightRev system.\
> \- Users must select at least one identifier and maximum of five identifiers to create a order group policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders-group":{"post":{"description":"Create a new **Order Group** policy in the RightRev system.\n- Users must select at least one identifier and maximum of five identifiers to create a order group policy.\n","responses":{"200":{"description":"Set Orders Group Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique identifier generated by the system."}},"required":["error","message","unique_key"]},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"Provide compliance id to create order group policy pertaining to that compliance id."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the policy fetched by the system."},"groupings":{"type":"array","items":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"List of field values to be selected by the user to set order group policy."}},"required":["fields"]},"description":"A process where transaction lines are automatically grouped into revenue contracts (RCs) based on the defined order group policy."}},"required":["groupings","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"JSON format."},"compliance_name":{"type":"string","description":"Provide compliance name to create an order group policy pertaining to that compliance name."},"unique_key":{"type":"string","description":"Name of the order group policy."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Post Orders Group Policy","operationId":"post_orders_group_policy_apis_policy_sets_v1_policy_orders_group_post"}}}}
```

## Patch Orders Group Policy

> Update the \*\*Orders Group\*\* policy in the RightRev system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders-group/{compliance_id}":{"patch":{"description":"Update the **Orders Group** policy in the RightRev system.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to update orders group. This compliance id can be fetched from the response of the **Orders Group Policy - GET** API.\n"}],"responses":{"200":{"description":"Update Orders Group Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Represents the unique name of the orders group."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to update orders group."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the transaction grouping rule."},"groupings":{"type":"array","items":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string"},"description":"Name of the fields on which transactions are grouped."}},"required":["fields"]},"description":"Specification of grouping rule."}},"required":["groupings","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"Format of the payload. For e.g. JSON."},"compliance_name":{"type":"string","description":"Name of the Policy."},"unique_key":{"type":"string","description":"Name of the grouping policy."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Orders Group Policy","operationId":"patch_orders_group_policy_apis_policy_sets_v1_policy_orders_group__compliance_id__patch"}}}}
```


# Revenue Rules

Defines the conditions and methods used to determine how and when revenue should be recognized. These rules guide the transformation of API inputs into revenue events.

## Get Revenue Rules Policy

> To retrieve the Advanced (Rules Builder) and By Product Revenue Rules created in the system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/revenue-rules":{"get":{"description":"To retrieve the Advanced (Rules Builder) and By Product Revenue Rules created in the system.\n","responses":{"200":{"description":"Get Revenue Rules Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the Revenue Rules Policies"},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"distribution_date_method":{"type":"string","description":"It's method of distribution of prior period revenue. It could be CATCHUP, CONDENSED, SLIDING."},"distribution_method":{"type":"string","description":"It's method of revenue distribution. It could be POINTINTIME or PRORATE"},"hybrid_rules":{"type":"null","description":"Is it a Hybrid Revenue Rule? If Yes, need to provide these details -  distribution_date_method, distribution_method , formula, prorate_method, revenue account, revenue_trigger"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"name":{"type":"string","description":"Name of the Revenue Rule policy"},"pob_type":{"type":"string","description":"Is this performance obligation DISTINCT or NON-DISTINCT"},"prorate_method":{"type":"null","description":"Is it Days in Calendar Period or PRORATE. User need to configure this in Tenant level under functionality controls."},"revenue_trigger":{"type":"string","description":"The is revenue release trigger. Values can Booking, Billing, User Defined Events, Manual or Hybrid."},"rule_type":{"type":"string","description":"Is it Advance (Rules Builder) or By Product Rule"},"sequence_no":{"type":"integer","description":"A system assigned numeric value that represents the order in which a revenue rule policy was created, with higher numbers indicating more recently created policies."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format"},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"user_defined_event":{"type":"null","description":"Name of the Event policy assigned to Revenue Rule to release the revenue."},"when":{"type":"array","description":"This is the criteria on the basis of which Revenue Rule should get applied."}},"required":["active","can_delete","created_at","created_by","distribution_date_method","distribution_method","hybrid_rules","is_user_defined","name","pob_type","prorate_method","revenue_trigger","rule_type","sequence_no","updated_at","updated_by","user_defined_event","when"]},"description":"This is description of the revenue rule"}},"required":["rule"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format"},"last_modified_by":{"type":"string","description":"ID of the user last modified by"},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format"},"last_used":{"type":"null","description":"When the policy used. Value here should be Null"},"policy_type":{"type":"string","description":"Represents the type of policy"},"status":{"type":"string","description":"Represents the status of the policy"},"unique_key":{"type":"string","description":"Name of the Policy"},"version_id":{"type":"string","description":"Unique alpha-numeric number generated by the system"}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","last_used","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Revenue Rules Policy","operationId":"get_revenue_rules_policy_apis_policy_sets_v1_policy_revenue_rules_get"}}}}
```

## Patch Revenue Rules Policy

> To create new Revenue Rule or to update existing Revenue Rule.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/revenue-rules/{compliance_id}":{"patch":{"description":"To create new Revenue Rule or to update existing Revenue Rule.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID to edit the revenue rule policy\n"}],"responses":{"200":{"description":"Update Revenue Rules Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Name of the Revenue Rule policy created/updated."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to create or edit the event policy."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Revenue Rule to be created."},"pob_type":{"type":"string","description":"User has to provide whether performance obligation is DISTINCT or NON-DISTINCT"},"prorate_method":{"type":"null","description":"User has to provide whether it is Days in Calendar Period or PRORATE."},"sequence_no":{"type":"integer","description":"User has to assigned numeric value that represents the order in which a revenue rule policy is getting created."},"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"distribution_date_method":{"type":"string","description":"User has to provide a method of distribution of prior period revenue. It could be CATCHUP, CONDENSED, SLIDING."},"distribution_method":{"type":"string","description":"User has to provide a method of revenue distribution. It could be POINTINTIME or PRORATE"},"rule_type":{"type":"string","description":"User has to provide whether it is Advance (Rules Builder) or By Product Rule"},"user_defined_event":{"type":"null","description":"User has to provide a name of the Event policy assigned to Revenue Rule where revenue trigger is upon USER DEFINED EVENTS to release the revenue."},"revenue_trigger":{"type":"string","description":"User has to provide what is revenue release trigger. Values can Booking, Billing, User Defined Events, Manual or Hybrid"},"when":{"type":"array","items":{"type":"object","properties":{"field_name":{"type":"string","description":"Name of the field on which Revenue Rule should get assigned. For e.g. Product Name or Product ID"},"operator":{"type":"string","description":"A set of comparison conditions used to evaluate field values in a revenue rule policy, allowing users to filter or match data using equality, inequality, relational comparisons (>, <, >=, <=), list based checks (in, not in), text pattern matching (contains, not contains, starts with, ends with), and null/empty validations (null, not null)."},"value":{"type":"string","description":"Value on which Revenue Rule should get applied. For e.g. If Filed Name is Product ID then Value could be Hardware or Software"}},"required":["field_name","operator","value"]},"description":"This is the criteria on the basis of which Revenue Rule should get applied."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user has created the policy; if False, created by system and not by user."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted"}},"required":["active","can_delete","distribution_date_method","distribution_method","is_user_defined","name","pob_type","prorate_method","revenue_trigger","rule_type","sequence_no","user_defined_event","when"]},"description":"This is description of the revenue rule"}},"required":["rule"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"Format type of the request code used to collect data - For e.g. JSON "},"compliance_name":{"type":"string","description":"Name of the Revenue Rule Policy either By Product or Advance"},"unique_key":{"type":"string","description":"Name of the Revenue Rule Policy"}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Revenue Rules Policy","operationId":"patch_revenue_rules_policy_apis_policy_sets_v1_policy_revenue_rules__compliance_id__patch"}}}}
```

## Delete Revenue Rules Policy

> To delete the Revenue Rule policies from system. User can delete only those policies which are not consumed.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/revenue-rules/{compliance_id}/{object_unique_value}":{"delete":{"description":"To delete the Revenue Rule policies from system. User can delete only those policies which are not consumed.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide compliance id to delete the policy\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"Name of the Revenue Rule policy to be deleted.\n"}],"responses":{"200":{"description":"Delete Revenue Rules Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","description":"Displays the details of specific rules and standards processed by the system"},"compliance_id":{"type":"string","description":"Displays a system-generated compliance ID associated with revenue rule policy to be deleted"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Delete Revenue Rules Policy","operationId":"delete_revenue_rules_policy_apis_policy_sets_v1_policy_revenue_rules__compliance_id___object_unique_value__delete"}}}}
```


# User Defined Events

Allows configuration of custom transaction types or events beyond standard system-defined events. API-triggered events are interpreted based on these definitions.

## Get Events Definition Policy

> Retrieves Events policies created by the user and system for Revenue and Cost. Also retrieves the inactive event policies.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/events-definition":{"get":{"description":"Retrieves Events policies created by the user and system for Revenue and Cost. Also retrieves the inactive event policies.\n","responses":{"200":{"description":"Get events definition Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the Event Policy"},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the event policy can be deleted or not. If set to True, the user is allowed to delete the event policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"cumulative":{"type":"boolean","description":"If this is a cumulative event,revenue is released in a cumulative manner"},"event_category":{"type":"string","description":"Is it a Revenue Event or Cost Event?"},"event_name":{"type":"string","description":"Name of the Event Policy"},"event_type":{"type":"string","description":"Whether it's a Percentage, Amount, Formula or Quantity based event"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the event policy is defined by the user or not. If set to True, the user is allowed to define the event policy; if False, defining the event policy is not permitted."},"last_modified_on":{"type":"integer","description":"ID of the user last modified by"},"source_identifier":{"type":"array","items":{"type":"string"},"description":"It will be by-default unique identifier - Order Financial ID"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format"},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"event_formula":{"type":"string","description":"Formula values defined in the formula based event policy"},"follow_revenue":{"type":"boolean","description":"A boolean field indicating whether the event policy follow revenue release or not. If set to True, event policy will follow revenue; if False, event policy will not follow revenue"},"practical_expedient":{"type":"boolean","description":" This field will display value for Cost - Practical Expedient setup under Tenant Configuration. By default the value is 12 months. This field accepts only positive numbers greater than zero."}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format"},"last_modified_by":{"type":"string","description":"ID of the user last modified by"},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format"},"policy_type":{"type":"string","description":"Represents the type of policy"},"status":{"type":"string","description":"Represents the status of the policy"},"unique_key":{"type":"string","description":"Name of the Policy"},"version_id":{"type":"string","description":"Unique alpha-numeric number generated by the system"}}}}}}}},"tags":["Policy Sets"],"summary":"Get Events Definition Policy","operationId":"get_events_definition_policy_apis_policy_sets_v1_policy_events_definition_get"}}}}
```

## Update Events Definition Policy

> To create or edit the event policies in the system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/events-definition/{compliance_id}":{"patch":{"description":"To create or edit the event policies in the system.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID to edit the event policy.\n"}],"responses":{"200":{"description":"Update events definition Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Name of the Event policy created."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to create or edit the event policy."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the period can be deleted or not. If set to True, the user is allowed to delete the period; if False, deletion is not permitted."},"cumulative":{"type":"boolean","description":"A boolean field indicating whether the revenue event should be treated cumulatively or not. If set to True revenue event computes cumulatively;if false, it won't. "},"event_category":{"type":"string","description":"The event category will always be Revenue."},"event_formula":{"type":"string","description":"If the Event is computed on formula basis, user need to provide the valid formula."},"event_name":{"type":"string","description":"Name of the Revenue event"},"event_type":{"type":"string","description":"Event type can be Formula, Amount, Percentage or Quantity based"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user has created the policy; if False, created by system and not by user."},"source_identifier":{"type":"array","items":{"type":"string"},"description":"This will always be Order Financial ID - A unique identifier."}},"required":["active","can_delete","cumulative","event_category","event_formula","event_name","event_type","is_user_defined","source_identifier"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"Format type of the request code used to collect data - For e.g. JSON "},"compliance_name":{"type":"string","description":"Name of the Policy"},"unique_key":{"type":"string","description":"Name of the Event Policy."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Events Definition Policy","operationId":"update_events_definition_policy_apis_policy_sets_v1_policy_events_definition__compliance_id__patch"}}}}
```

## Delete Events Definition Policy

> To delete the event policies from system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/events-definition/{compliance_id}/{object_unique_value}":{"delete":{"description":"To delete the event policies from system.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide compliance id to delete event policy.\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"Name of the event policy to be deleted.\n"}],"responses":{"200":{"description":"Delete events definition Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","description":"Displays the details of specific rules and standards processed by the system"},"compliance_id":{"type":"string","description":"Displays a system-generated compliance ID associated with event policy to be deleted"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Delete Events Definition Policy","operationId":"delete_events_definition_policy_apis_policy_sets_v1_policy_events_definition__compliance_id___object_unique_value__delete"}}}}
```


# Holds

Define Holds which can be applied to revenue contracts to prevent revenue release or revenue recognition when data discrepancies occur. System holds are pre-defined and triggers automatically.

## Get Holds Policy

> Retrieves hold policies created by the user and the system to prevent revenue release / recognition for the revenue contract. Also retrieves the inactive holds.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/holds":{"get":{"description":"Retrieves hold policies created by the user and the system to prevent revenue release / recognition for the revenue contract. Also retrieves the inactive holds.\n","responses":{"200":{"description":"Get Holds Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"Provide compliance id to retrieve holds pertaining to that compliance id."},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the policy is active or not. If set to True, the policy is active; if False, the policy is not active."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the hold can be deleted or not. If set to True, the user is allowed to delete the hold; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"hold_type":{"type":"string","description":"Displays the type of hold."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the hold is defined by the user or not. If set to True, the user is allowed to define the hold; if False, defining the hold is not permitted."},"name":{"type":"string","description":"Displays the name of the hold."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user.This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy."},"when":{"type":"array","description":"A list of conditions that determine whether a specific action should be executed."}},"required":["active","can_delete","created_at","created_by","guid","hold_type","is_user_defined","name","updated_at","updated_by","when"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Unique identifier generated by the system."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Holds Policy","operationId":"get_holds_policy_apis_policy_sets_v1_policy_holds_get"}}}}
```

## Update Holds Policy

> Create a new hold policy in the system to temporarily stop revenue release / recognition.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/holds/{compliance_id}":{"patch":{"description":"Create a new hold policy in the system to temporarily stop revenue release / recognition.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to define hold pertaining to that compliance id.\n"}],"responses":{"200":{"description":"Create a New Hold Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique identifier generated by the system."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"Provide compliance id to delete an accounting calendar pertaining to that compliance id."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the policy."},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."},"format_type":{"type":"string","description":"Format of the payload. For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"name":{"type":"string","description":"Name of the hold policy."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"hold_type":{"type":"string","description":"Type of the hold. For e.g Transfer "},"active":{"type":"boolean","description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"when":{"type":"array","description":"A list of conditions that determine whether a specific action should be executed."}},"required":["active","can_delete","guid","hold_type","is_user_defined","name","when"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Holds Policy","operationId":"update_holds_policy_apis_policy_sets_v1_policy_holds__compliance_id__patch"}}}}
```

## Delete Holds Policy

> Delete the existing hold policies in the RightRev system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/holds/{compliance_id}/{object_unique_value}":{"delete":{"description":"Delete the existing hold policies in the RightRev system.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to delete hold pertaining to that compliance. id.\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"Unique object identifier generated by the system.\n"}],"responses":{"200":{"description":"Delete Holds Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"Provide compliance id to delete hold pertaining to that compliance id."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Delete Holds Policy","operationId":"delete_holds_policy_apis_policy_sets_v1_policy_holds__compliance_id___object_unique_value__delete"}}}}
```


# Contract Amendments

Specifies the rules for processing changes to a contract, including upgrades, downgrades, and modifications triggered by API inputs.

## Get Contract Amendment Policy

> To retrieves all the contract amendment policies setup in system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/contract-amendments":{"get":{"description":"To retrieves all the contract amendment policies setup in system.\n","responses":{"200":{"description":"Get contract amendment Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the contract amendment Policies"},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"amendment_reason_and_treatment":{"type":"array","items":{"type":"object","properties":{"accelerate_revenue":{"type":"boolean","description":"A boolean flag that, when set to True, accelerates both planned and unplanned revenue for the amendment line and its parent line into the current open period; when False, revenue follows the standard recognition schedule."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the event policy can be deleted or not. If set to True, the user is allowed to delete the event policy; if False, deletion is not permitted."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"reason":{"type":"string","description":"Name of the Amendment Reason Policy."},"treatment":{"type":"string","description":"Treatment of the amendment policy. Either Prospective or Retrospective."}},"required":["accelerate_revenue","can_delete","is_user_defined","reason","treatment"]},"description":"Name of amendment reason policy and it's treatment"},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"new_product_at_ssp":{"type":"string","description":"It's a configuration field where new product in revision period should Participate in allocation or not. Values to be configured are **in_Allocation** or **no_Allocation**."},"revenue_contract_initial_timeline":{"type":"string","description":"It's a configuration field to determine Revenue Contract Initial Timeline. Values to be configured are **rc_creation_period** or **rc_creation_quarter**."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format"},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"}},"required":["amendment_reason_and_treatment","can_delete","created_at","created_by","guid","is_user_defined","new_product_at_ssp","revenue_contract_initial_timeline","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format"},"last_modified_by":{"type":"string","description":"ID of the user last modified by"},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format"},"policy_type":{"type":"string","description":"Represents the type of policy"},"status":{"type":"string","description":"Represents the status of policy"},"unique_key":{"type":"string","description":"Globally unique identifier generated by the system."},"version_id":{"type":"string","description":"Unique alpha-numeric number generated by the system"}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Contract Amendment Policy","operationId":"get_contract_amendment_policy_apis_policy_sets_v1_policy_contract_amendments_get"}}}}
```

## Update Contract Amendment Policy

> \- To create, update and delete the contract amendment policies in the system.\
> \- To DELETE any amendment policy or policies user has to remove that specific policy details from the payload.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/contract-amendments/{compliance_id}":{"patch":{"description":"- To create, update and delete the contract amendment policies in the system.\n- To DELETE any amendment policy or policies user has to remove that specific policy details from the payload.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID to edit the policy.\n"}],"responses":{"200":{"description":"Create, Update or Delete contract amendment Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to create, update or delete the amendment rule."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the policy."},"unique_key":{"type":"string","description":"Globally unique identifier generated by the system."},"format_type":{"type":"string","description":"Format type of the request code used to collect data - For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"revenue_contract_initial_timeline":{"type":"string","description":"It's a configuration field to determine Revenue Contract Initial Timeline. User has to provide values to be configured are **rc_creation_period** or **rc_creation_quarter**"},"new_product_at_ssp":{"type":"string","description":"It's a configuration field where new product in revision period should Participate in allocation or not. User has to provide values to be configured are **in_Allocation** or **no_Allocation**."},"amendment_reason_and_treatment":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","description":"User has to provide name of the Amendment Reason Policy."},"treatment":{"type":"string","description":"User has to provide treatment of the amendment policy. Either Prospective or Retrospective."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the event policy can be deleted or not. If set to True, the user is allowed to delete the event policy; if False, deletion is not permitted."}},"required":["can_delete","is_user_defined","reason","treatment"]},"description":"Name of amendment reason policy and it's treatment"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the event policy can be deleted or not. If set to True, the user is allowed to delete the event policy; if False, deletion is not permitted."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."}},"required":["amendment_reason_and_treatment","can_delete","guid","is_user_defined","new_product_at_ssp","revenue_contract_initial_timeline"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Contract Amendment Policy","operationId":"update_contract_amendment_policy_apis_policy_sets_v1_policy_contract_amendments__compliance_id__patch"}}}}
```


# Bundle Configuration

Determines how bundled products or services are structured and processed. This policy guides allocation and treatment of bundle components when received via APIs.

## Get Bundles Policy

> \- To retrieve all the Bundle Policy details having Bundle Parent List, Bundle Component List and Bundle Component Product details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/bundle":{"get":{"description":"- To retrieve all the Bundle Policy details having Bundle Parent List, Bundle Component List and Bundle Component Product details.\n","parameters":[{"name":"page","in":"path","required":false,"schema":{"type":"string","title":"page"},"description":"This is optional field. Page represents page number of bundle policy list.\n"},{"name":"page_size","in":"path","required":false,"schema":{"type":"string","title":"page_size"},"description":"This is optional field. Page size represents how many records available on each page.\n"},{"name":"active","in":"path","required":false,"schema":{"type":"boolean","title":"active"},"description":"A boolean field indicating whether the policy is Active or not. If set to True, the policy is Active; if false, it's Inactive.\n"},{"name":"config_key","in":"path","required":false,"schema":{"type":"string","title":"config_key"},"description":"This is a unique identifier for bundle policy.This will retrieve details of all components\n"},{"name":"product_name","in":"path","required":false,"schema":{"type":"string","title":"product_name"},"description":"This is the name of child product of parent components. This will retrieve all the product details.\n"}],"responses":{"200":{"description":"Get bundles Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the Revenue Rules Policies"},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"bundle_config":{"type":"object","properties":{"carves_eligible":{"type":"Boolean","description":"A boolean field indicating whether the child product is carves eligible or not. If set to True, it's eligible for craves; if false, it's not."},"carves_liability_segment":{"type":"string","description":"Accounting segment for carves liability account."},"carves_revenue_segment":{"type":"string","description":"Accounting segment for carves revenue account."},"component_product_id":{"type":"string","description":"ID of the product"},"component_product_name":{"type":"string","description":"Name of the product."},"config_description":{"type":"string","description":"Description of the bundle config key"},"config_key":{"type":"string","description":"It's a unique identifier for bundle policy."},"contract_liability_segment":{"type":"string","description":"Accounting segment for contract liability account."},"contract_revenue_segment":{"type":"string","description":"Accounting segment for contract revenue account."},"default_option_for_all_fields":{"type":"string","description":" System will copy the values from parent line into child line for all attributes except a few key fields. Value need to provide ***Copy_from_Parent***."},"po_number":{"type":"string","description":"This is Purchase Order number."},"revenue_end_date":{"type":"string","description":"This is the revenue end date of child line"},"revenue_start_date":{"type":"string","description":"This is the revenue start date of contract child line"},"split_percentage":{"type":"string","description":"This is percentage of child line user want to split in from parent line value."},"ssp_date":{"type":"string","description":"This is the date from which user wants to apply SSP on child lines."}},"required":["carves_eligible","carves_liability_segment","carves_revenue_segment","component_product_id","component_product_name","config_description","config_key","contract_liability_segment","contract_revenue_segment","default_option_for_all_fields","po_number","revenue_end_date","revenue_start_date","split_percentage","ssp_date"],"description":"It's a unique identifier for bundle policy."},"config_key":{"type":"string","description":"It's a unique identifier for bundle policy."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"string","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"default_option_for_all_fields":{"type":"string","description":"System will copy the values from parent line into child line for all attributes except a few key fields. Value need to provide ***Copy_from_Parent***."},"file_name":{"type":"string","description":"Name of the CSV file."},"request_response_id":{"type":"string","description":"A system generated alpha-numeric number."},"split_percentage":{"type":"integer","description":"This is percentage of child line user want to split in from parent line value."},"unique_id":{"type":"string","description":"A system generated alpha-numeric number."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"updated_on":{"type":"string","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."}},"required":["bundle_config","config_key","created_by","created_on","default_option_for_all_fields","file_name","request_response_id","split_percentage","unique_id","updated_by","updated_on"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_id","compliance_name","compliance_spec"]}}}}},"tags":["Policy Sets"],"summary":"Get Bundles Policy","operationId":"get_bundles_policy_apis_policy_sets_v1_policy_bundle_get"}}}}
```

## Post Bundles Policy

> To upload new bundle policy or update the existing one.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/bundle":{"post":{"description":"To upload new bundle policy or update the existing one.\n","responses":{"200":{"description":"Set bundles Policy","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated unique alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"CSV file to be uploaded with Bundle Configuration details. Sample CSV Bundle File is attached below for reference."},"date_format":{"type":"text","format":"%m/%d/%Y","description":"Start Date and End Date must be in mm-dd-yyyy format."}},"required":["file","date_format"]}}},"required":true},"tags":["Policy Sets"],"summary":"Post Bundles Policy","operationId":"post_bundles_policy_apis_policy_sets_v1_policy_bundle_post"}}}}
```

## Download Bundles Policy Csv

> This API is used to download the uploaded CSV Bundle configuration file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/bundle/download/{file_id}":{"get":{"description":"This API is used to download the uploaded CSV Bundle configuration file.\n","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"A system generated file ID on uploading CSV file.\n"}],"responses":{"200":{"description":"Get bundles Policy CSV file.","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}}},"tags":["Policy Sets"],"summary":"Download Bundles Policy Csv","operationId":"download_bundles_policy_csv_apis_policy_sets_v1_policy_bundle_download__file_id__get"}}}}
```


# Company Profile


# Accounting Period/Calendar

The Accounting Calendar defines the pattern of the financial year, its start and end dates to perform certain accounting functions.

## Get Accounting Period Policy

> Retrieves the accounting calendar period details associated with a specific tenant.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/calendar":{"get":{"description":"Retrieves the accounting calendar period details associated with a specific tenant.\n","responses":{"200":{"description":"Get Accounting Calendar Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the accounting calendar."},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the period can be deleted or not. If set to True, the user is allowed to delete the period; if False, deletion is not permitted."},"code":{"type":"string","description":"Unique combination of legal entity, tenant name and period name generated by the system."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"end_date":{"type":"string","description":"End date of the period."},"fiscal_year_name":{"type":"string","description":"Name of the fiscal year."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the period is defined by the user or not. If set to True, the user is allowed to define the period; if False, defining the period is not permitted."},"legal_entity":{"type":"string","description":"Name of the legal entity."},"period_name":{"type":"string","description":"Name of the period."},"period_number":{"type":"integer","description":"Number of period within the fiscal year (normally 1-12)."},"quarter_number":{"type":"integer","description":"The quarter of the period within the fiscal year (1-4)."},"start_date":{"type":"string","description":"Start date of the period."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user.This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy."}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Unique combination of legal entity, tenant name and period name generated by the system."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}}}}}}}},"tags":["Policy Sets"],"summary":"Get Accounting Period Policy","operationId":"get_accounting_period_policy_apis_policy_sets_v1_policy_calendar_get"}}}}
```

## Update Accounting Period Policy

> Create a new \*\*Accounting Calendar\*\* in RightRev system by uploading calendar data via a CSV file.\
> \- Users must provide 12 months period for a fiscal year.\
> \- Start date must be less than the end date.\
> \- Both start and end dates must be provided.\
> \- Start and end date must be the 1st and last day of the month respectively.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/calendar/{code}":{"post":{"description":"Create a new **Accounting Calendar** in RightRev system by uploading calendar data via a CSV file.\n- Users must provide 12 months period for a fiscal year.\n- Start date must be less than the end date.\n- Both start and end dates must be provided.\n- Start and end date must be the 1st and last day of the month respectively.\n","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"},"description":"Provide code name as **upload**.\n"}],"responses":{"200":{"description":"Create a New Accounting Calendar Policy (CSV)","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique combination of legal entity,tenant name and period name."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to set an accounting calendar."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system.\n\n Refer a [Sample CSV File](https://docs.google.com/spreadsheets/d/1N_OXPagqvHPdiMGJpkqGw8kbLx6BZ4OfHpoI4zMTa5A/edit?gid=259517834#gid=259517834) for reference."},"date_format":{"type":"text","format":"%m/%d/%Y","description":"Start Date and End Date must be in mm-dd-yyyy format."},"unique_key":{"type":"text","format":"code","description":"A CSV file ***upload*** method."}},"required":["file","date_format","unique_key"]}},"application/json":{"schema":{}}},"required":true},"tags":["Policy Sets"],"summary":"Update Accounting Period Policy","operationId":"update_accounting_period_policy_apis_policy_sets_v1_policy_calendar__code__post"}}}}
```

## Post Accounting Period Policy

> Create a new \*\*Accounting Calendar\*\* in the RightRev system by providing calendar data in JSON format.\
> \- Users must provide 12 months period for a fiscal year.\
> \- Start date must be less than the end date.\
> \- Both start and end dates must be provided.\
> \- Start and end date must be the 1st and last day of the month respectively.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/calendar":{"post":{"description":"Create a new **Accounting Calendar** in the RightRev system by providing calendar data in JSON format.\n- Users must provide 12 months period for a fiscal year.\n- Start date must be less than the end date.\n- Both start and end dates must be provided.\n- Start and end date must be the 1st and last day of the month respectively.\n","responses":{"200":{"description":"Create a New Accounting Calendar Policy (JSON)","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique combination of legal entity and period name generated by the system."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to set an accounting calendar."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"unique_key":{"type":"string","description":"Unique combination of legal entity and period name.\n\n Example:\n\n - Legal Entity: Default Legal Entity\n - Period Name: Jan-21\n - Code: Default Legal Entity_Jan-21"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the period can be deleted or not. If set to True, the user is allowed to delete the period; if False, deletion is not permitted."},"code":{"type":"string","description":"A unique key with a combination of legal entity and period name."},"end_date":{"type":"string","description":"End date of the period."},"fiscal_year_name":{"type":"string","description":"Name of the fiscal year."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the period is defined by the user or not. If set to True, the user is allowed to define the period; if False, defining the period is not permitted."},"legal_entity":{"type":"string","description":"Name of the legal entity."},"period_name":{"type":"string","description":"Name of the period."},"period_number":{"type":"integer","description":"Number of period within the fiscal year (normally 1-12)."},"quarter_number":{"type":"integer","description":"The quarter of the period within the fiscal year (1-4)."},"start_date":{"type":"string","description":"Start date of the period."}},"required":["can_delete","code","end_date","fiscal_year_name","is_user_defined","legal_entity","period_name","period_number","quarter_number","start_date"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","unique_key"]}}},"Required":true},"tags":["Policy Sets"],"summary":"Post Accounting Period Policy","operationId":"post_accounting_period_policy_apis_policy_sets_v1_policy_calendar_post"}}}}
```

## Delete Accounting Period Policy

> Delete the existing \*\*Accounting Calendar\*\* in the RightRev system.\
> \- If user deletes one fiscal year, then all the future fiscal years will be deleted.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/calendar/{compliance_id}/{object_unique_value}":{"delete":{"description":"Delete the existing **Accounting Calendar** in the RightRev system.\n- If user deletes one fiscal year, then all the future fiscal years will be deleted.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to delete an accounting calendar. This compliance id can be fetched from the response of the **Accounting Calendar Policy - GET** API.\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"A Unique combination of legal entity, tenant name and period name.\n\nExample:\n  - Legal Entity: Default Legal Entity\n  - Tenant Name: tenant-name\n  - Period Name: Jan-21\n  - Object Unique Value: Default Legal Entity_tenant-name_Jan-21\n"}],"responses":{"200":{"description":"Delete Accounting Calendar Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"A Unique combination of legal entity, tenant name and period name."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to delete an accounting calendar."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"tags":["Policy Sets"],"summary":"Delete Accounting Period Policy","operationId":"delete_accounting_period_policy_apis_policy_sets_v1_policy_calendar__compliance_id___object_unique_value__delete"}}}}
```


# Legal Entity

Legal Entities facilitate segregation of accounting operations, financial statements and close process, and organizations can have multiple Legal entities in the system based on their business needs.

## Get Legal Entity Policy

> Retrieves all the legal entities associated with a specific tenant.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/legal-entity":{"get":{"description":"Retrieves all the legal entities associated with a specific tenant.\n","responses":{"200":{"description":"Get legal entity Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the legal entity."},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the legal entity is active or not. If set to True, the legal entity is active; if False, the legal entity is inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the legal entity can be deleted or not. If set to True, the user is allowed to delete the legal entity; if False, deletion is not permitted."},"code":{"type":"string","description":"Displays the name of the legal entity."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"description":{"type":"string","description":"Description of the legal entity."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the legal entity is defined by the user or not. If set to True, the user is allowed to define the legal entity; if False, defining the legal entity is not permitted."},"name":{"type":"string","description":"Displays the name of the legal entity."},"transaction":{"type":"boolean","description":"A boolean field indicating transaction value is there or not "},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user.This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy"}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Represents the name of the legal entity."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}}}}}}}},"tags":["Policy Sets"],"summary":"Get Legal Entity Policy","operationId":"get_legal_entity_policy_apis_policy_sets_v1_policy_legal_entity_get"}}}}
```

## Patch Legal Entity Policy

> Add a new \*\*Legal Entity\*\*.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/legal-entity/{compliance_id}":{"patch":{"description":"Add a new **Legal Entity**.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to add a new legal entity. This compliance id can be fetched from the response of the **Legal Entity Policy - GET** API.\n"}],"responses":{"200":{"description":"Add New legal entity Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Displays the name of the legal entity."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to add a new legal entity."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the Policy."},"unique_key":{"type":"string","description":"Represents the name of the legal entity."},"format_type":{"type":"string","description":"It's a format of the data. For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Displays the name of Legal Entity."},"description":{"type":"string","description":"Description of the legal entity"},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"name":{"type":"string","description":"Name of the Legal Entity"},"active":{"type":"boolean","description":"A boolean field indicating whether the legal entity is active or not. If set to True, the legal entity is active; if False, the legal entity is inactive."},"transaction":{"type":"boolean","description":"A boolean field indicating transaction value is there or not"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."}},"required":["active","can_delete","code","description","guid","is_user_defined","name","transaction"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Legal Entity Policy","operationId":"patch_legal_entity_policy_apis_policy_sets_v1_policy_legal_entity__compliance_id__patch"}}}}
```

## Patch Legal Entity Policy

> Update the \*\*Legal Entity\*\* policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/legal-entity/{compliance_id}":{"put":{"description":"Update the **Legal Entity** policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to update a legal entity. This compliance id can be fetched from the response of the **Legal Entity Policy - GET** API.\n"}],"responses":{"200":{"description":"Update legal entity Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Displays the name of the legal entity."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to update a legal entity."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"format_type":{"type":"string","description":"Specifies the format (JSON) in which the data or file is processed."},"compliance_name":{"type":"string","description":"Name of the policy."},"unique_key":{"type":"string","description":"Unique key is code which is the name of the legal entity."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Name of the legal entity."},"active":{"type":"boolean","description":"A boolean field indicating whether the legal entity is active or not. If set to True, the legal entity is active; if False, the legal entity is inactive."},"name":{"type":"string","description":"Name of the legal entity"},"description":{"type":"string","description":"Description of the legal entity."},"transaction":{"type":"boolean","description":"A boolean field indication this is transaction field or not."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the legal entity is updated by the user or not. If set to True, the user is allowed to update the legal entity; if False, updating the legal entity is not permitted."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the legal entity can be updated or not. If set to True, the user is allowed to update the legal entity; if False, update is not permitted."}},"required":["active","can_delete","code","description","is_user_defined","name","transaction"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Legal Entity Policy","operationId":"patch_legal_entity_policy_apis_policy_sets_v1_policy_legal_entity__compliance_id__put"}}}}
```


# Currencies

Currencies are maintained with their code, name, precision and threshold values to support multi-currency transactions and ensures accurate financial calculations across revenue applications.

## Get Currency Policy

> Retrieves the currency details associated with a specific RightRev tenant.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/currency":{"get":{"description":"Retrieves the currency details associated with a specific RightRev tenant.\n","responses":{"200":{"description":"Get Currency Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the currencies."},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the currency is active or not. If set to True, the currency is active; if False, the currency is inactive."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the currency can be deleted or not. If set to True, the user is allowed to delete the currency; if False, deletion is not permitted."},"code":{"type":"string","description":"A unique currency code."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"currency_name":{"type":"string","description":"Name of the currency."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the currency is defined or not by the system. User is not permitted to define the currency."},"precision":{"type":"integer","description":"A numeric value which is used while distributing revenue. The precision can be different for each currency. This field refers to the number of digits used after the decimal point in a currency. Example: 0-9. Precision for USD is 2."},"threshold":{"type":"number","description":"System uses this value for rounding off differences in the internal calculations. This field accepts only positive decimal values. Example: 1.0, 2.3, etc. Threshold value for USD is 0.5."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy."}}},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy."},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"Represents the type of policy."},"status":{"type":"string","description":"Represents the status of the policy."},"unique_key":{"type":"string","description":"Unique currency code generated by the system."},"version_id":{"type":"string","description":"Represents the latest version of the policy."}}}}}}}},"tags":["Policy Sets"],"summary":"Get Currency Policy","operationId":"get_currency_policy_apis_policy_sets_v1_policy_currency_get"}}}}
```

## Patch Currency Policy

> Update multiple currency precision and threshold for currencies.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/currency/{compliance_id}":{"patch":{"description":"Update multiple currency precision and threshold for currencies.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"User has to provide a compliance id to update currency precision / threshold or both. This compliance id can be fetched from the response of the **Currency Policy - GET** API.\n"}],"responses":{"200":{"description":"Update Currency Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Displays unique currency code."}}},"description":"A list of compliance-related entries, each providing detailed information about the outcome of a specific compliance check. This includes messages, associated errors, and a system-generated unique identifier for tracking."},"compliance_id":{"type":"string","description":"A system-generated compliance ID to update currencies."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the policy."},"unique_key":{"type":"string","description":"Unique currency code."},"format_type":{"type":"string","description":"format of the payload. For e.g. JSON"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Unique currency code generated by the system."},"currency_name":{"type":"string","description":"Name of the currency."},"precision":{"type":"number","description":"A numeric value which is used while distributing revenue. The precision can be different for each currency. This field refers to the number of digits used after the decimal point in a currency. Example: 0-9. Precision for USD is 2."},"threshold":{"type":"number","description":"System uses this value for rounding off differences in the internal calculations. This field accepts only positive decimal values. Example: 1.0, 2.3, etc. Threshold value for USD is 0.5."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the currency is defined or not by the system. User is not permitted to define the currency."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the currency can be deleted or not. If set to True, the user is allowed to delete the currency; if False, deletion is not permitted."},"active":{"type":"boolean","description":"A boolean field indicating whether the currency is active or not. If set to True, the currency is active; if False, the currency is inactive."}},"required":["active","can_delete","code","currency_name","is_user_defined","precision","threshold"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Patch Currency Policy","operationId":"patch_currency_policy_apis_policy_sets_v1_policy_currency__compliance_id__patch"}}}}
```


# Exchange Rates

Specifies how exchange rates are managed, stored, and applied across multi-currency transactions through API.

## Post Exchange Rate Policy

> This API is used to create new or update the existing exchange rate policies.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/exchange-rates":{"post":{"description":"This API is used to create new or update the existing exchange rate policies.\n","responses":{"200":{"description":"Set exchange rate Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_name":{"type":"string","description":"Name of the policy. - Exchange Rates"},"unique_key":{"type":"string","description":"Its. GUID. Globally unique identifier generated by the system."},"format_type":{"type":"string","description":"It's JSON format of data."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"conversion_rate":{"type":"number","description":"Rate used for conversion from one currency to another."},"end_date":{"type":"string","description":"End date of policy."},"from_currency":{"type":"string","description":"The currency you are converting from. Example. USD "},"rate_type":{"type":"string","description":"It should be Daily."},"start_date":{"type":"string","description":"Start Date of the policy."},"to_currency":{"type":"string","description":"The currency you are converting Into. Example. INR"},"guid":{"type":"string","description":"Globally unique identifier generated by the system."}},"required":["conversion_rate","end_date","from_currency","guid","rate_type","start_date","to_currency"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Post Exchange Rate Policy","operationId":"post_exchange_rate_policy_apis_policy_sets_v1_policy_exchange_rates_post"}}}}
```


# Transactions Ingestion

Once all the policies are defined in RightRev, Transaction data must be Ingested into RightRev. Orders, Invoices, Events and bulk upload transactions can be ingested using the API provided.

Once the transactions are ingested they will be verified and validated against the fields defined in the respective Ingestion Definition. The validated transactions will form Revenue Contracts as per the defined policies.

* [Order Ingestion Configuration](/rightrev-rest-api/transactions-ingestion/order-ingestion-configuration)
* [Invoice Ingestion Configuration](/rightrev-rest-api/transactions-ingestion/invoice-ingestion-configuration)
* [Transaction Ingestion](/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads)
* [Bulk Upload](/rightrev-rest-api/transactions-ingestion/bulk-upload)
* [User Defined Object (UDO)](/rightrev-rest-api/transactions-ingestion/user-defined-objects-udo)


# Order Ingestion Configuration

Defines how order-related field data is received, updated, and processed during ingestion through APIs.

## Get Orders Policy

> This API is used to retrieve all the Order Ingestion Configuration Policy details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders":{"get":{"description":"This API is used to retrieve all the Order Ingestion Configuration Policy details.\n","responses":{"200":{"description":"Get Order Ingestion Configuration Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the Order Ingestion Configuration Policy details."},"compliance_name":{"type":"string","description":"Name of the Policy"},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"field_desc":{"type":"string","description":"Description of the field."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"label_caption":{"type":"string","description":"Cation of the field"},"label_default":{"type":"string","description":"name of the field"},"mandatory":{"type":"boolean","description":"Is this field mandatory or not."},"maps_to":{"type":"string","description":"Mapped to which field in system."},"name":{"type":"string","description":"Name of the field."},"searchable":{"type":"string","description":"Is this field searchable or not"},"type":{"type":"string","description":"Data Type of the field"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"usedin_policies":{"type":"boolean","description":"A boolean field indicating whether this field is consumed in policies or not."}},"required":["can_delete","created_at","created_by","field_desc","guid","is_user_defined","label_caption","label_default","mandatory","maps_to","name","searchable","type","updated_at","updated_by","usedin_policies"]},"description":"All available fields in order ingestion policy. "},"description":{"type":"string","description":"Ingestion Template Data"},"name":{"type":"string","description":"Ingestion_Data"}},"required":["columns","description","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"last_used":{"type":"integer","description":"Timestamp of the policy last used on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"It should be orders"},"status":{"type":"string","description":"Status of policy."},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."},"version_id":{"type":"null","description":"Represents the latest version of the policy."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","last_used","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Orders Policy","operationId":"get_orders_policy_apis_policy_sets_v1_policy_orders_get"}}}}
```

## Update Orders Policy

> This API is used to create new fields or update existing fields in the Order Ingestion Configuration Policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders/{compliance_id}":{"patch":{"description":"This API is used to create new fields or update existing fields in the Order Ingestion Configuration Policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to retrieve an order ingestion policy details pertaining to that compliance id. Example :abc_123\n"}],"responses":{"200":{"description":"Create New or Update orders Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the field user want to create or update."},"type":{"type":"string","description":"Data type of the field. For e.g. String, Boolean etc."},"maps_to":{"type":"string","description":"If user want to map this field to seeded field then name of the field, else keep it blank."},"label_caption":{"type":"string","description":"label caption of the field."},"label_default":{"type":"string","description":"Label of the field"},"field_desc":{"type":"string","description":"Description the field"},"searchable":{"type":"boolean","description":"A boolean field indicating this field is searchable or not."},"usedin_policies":{"type":"null","description":"If this field is used in policies or not."},"mandatory":{"type":"boolean","description":"A boolean field indicating this field is mandatory or not."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."}},"required":["can_delete","field_desc","guid","is_user_defined","label_caption","label_default","mandatory","maps_to","name","searchable","type","usedin_policies"]},"description":"Ingestion Template Data"},"name":{"type":"string","description":"Ingestion_Data"},"description":{"type":"string","description":"Ingestion Template Data"}},"required":["columns","description","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"Format of the data. For e.g. JSON"},"compliance_name":{"type":"string","description":"Name of the Policy. Policy Orders"},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Orders Policy","operationId":"update_orders_policy_apis_policy_sets_v1_policy_orders__compliance_id__patch"}}}}
```

## Delete Orders Policy

> This API is used to delete the fields in the Order Ingestion Configuration Policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/orders/{compliance_id}/{object_unique_value}":{"delete":{"description":"This API is used to delete the fields in the Order Ingestion Configuration Policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to delete an order ingestion policy details pertaining to that compliance id. Example :abc_123\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"It's GUID. Globally unique identifier generated by the system\n"}],"responses":{"200":{"description":"Delete orders Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":" A system-generated compliance ID on deleting the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Delete Orders Policy","operationId":"delete_orders_policy_apis_policy_sets_v1_policy_orders__compliance_id___object_unique_value__delete"}}}}
```


# Invoice Ingestion Configuration

Defines how invoice-related field data is received, updated, and processed during ingestion through APIs.

## Get Invoices Policy

> This API is used to retrieve all the Invoice Ingestion Configuration Policy details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/invoices":{"get":{"description":"This API is used to retrieve all the Invoice Ingestion Configuration Policy details.\n","responses":{"200":{"description":"Get Order Ingestion Configuration Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the Invoice Ingestion Configuration Policy details."},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"field_desc":{"type":["null","string"],"description":"Description of the field."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"label_caption":{"type":"string","description":"Caption of the field."},"label_default":{"type":"string","description":"Name of the field."},"mandatory":{"type":"boolean","description":"Is this field mandatory or not."},"maps_to":{"type":"string","description":"Mapped to which field in system."},"name":{"type":"string","description":"Name of the field."},"searchable":{"type":"string","description":"Is this field searchable or not"},"type":{"type":"string","description":"Data Type of the field"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"usedin_policies":{"type":"boolean","description":"A boolean field indicating whether this field is consumed in policies or not."}},"required":["can_delete","created_at","created_by","field_desc","guid","is_user_defined","label_caption","label_default","mandatory","maps_to","name","searchable","type","updated_at","updated_by","usedin_policies"]},"description":"All available fields in invoice ingestion policy."},"description":{"type":"string","description":"Ingestion Template Data"},"name":{"type":"string","description":"Ingestion_Data"}},"required":["columns","description","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"last_used":{"type":"integer","description":"Timestamp of the policy last used on. This is a unix Epoch timestamp format."},"policy_type":{"type":"string","description":"It should be invoices"},"status":{"type":"string","description":"Status of policy."},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."},"version_id":{"type":"null","description":"Represents the latest version of the policy."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","last_used","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Invoices Policy","operationId":"get_invoices_policy_apis_policy_sets_v1_policy_invoices_get"}}}}
```

## Update Invoices Policy

> This API is used to create new fields or update existing fields in the Invoice Ingestion Configuration Policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/invoices/{compliance_id}":{"patch":{"description":"This API is used to create new fields or update existing fields in the Invoice Ingestion Configuration Policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to retrieve an order ingestion policy details pertaining to that compliance id. Example :abc_123\n"}],"responses":{"200":{"description":"Update invoices Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"array","items":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the field user want to create or update."},"type":{"type":"string","description":"Data type of the field. For e.g. String, Boolean etc."},"maps_to":{"type":"string","description":"If user want to map this field to seeded field then name of the field, else keep it blank."},"label_caption":{"type":"string","description":"label caption of the field."},"label_default":{"type":"string","description":"Label of the field"},"field_desc":{"type":"string","description":"Description the field"},"searchable":{"type":"boolean","description":"A boolean field indicating this field is searchable or not."},"usedin_policies":{"type":"null","description":"If this field is used in policies or not."},"mandatory":{"type":"boolean","description":"A boolean field indicating this field is mandatory or not."},"can_delete":{"type":"boolean","description":"A boolean field indicating whether the policy can be deleted or not. If set to True, the user is allowed to delete the policy; if False, deletion is not permitted."},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"guid":{"type":"string","description":"Globally unique identifier generated by the system."}},"required":["can_delete","field_desc","guid","is_user_defined","label_caption","label_default","mandatory","maps_to","name","searchable","type","usedin_policies"]},"description":"Ingestion Template Data"},"name":{"type":"string","description":"Ingestion_Data"},"description":{"type":"string","description":"Ingestion Template Data"}},"required":["columns","description","name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"format_type":{"type":"string","description":"Format of the data. For e.g. JSON"},"compliance_name":{"type":"string","description":"Name of the Policy. Policy Orders"},"unique_key":{"type":"string","description":"It's GUID. Globally unique identifier generated by the system."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Invoices Policy","operationId":"update_invoices_policy_apis_policy_sets_v1_policy_invoices__compliance_id__patch"}}}}
```

## Delete Invoices Policy

> This API is used to delete the fields in the Invoice Ingestion Configuration Policy.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/invoices/{compliance_id}/{object_unique_value}":{"delete":{"description":"This API is used to delete the fields in the Invoice Ingestion Configuration Policy.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"Provide compliance id to delete an invoice ingestion policy details pertaining to that compliance id. Example :abc_123\n"},{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"It's GUID. Globally unique identifier generated by the system\n"}],"responses":{"200":{"description":"Delete invoices policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":" A system-generated compliance ID on deleting the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"tags":["Policy Sets"],"summary":"Delete Invoices Policy","operationId":"delete_invoices_policy_apis_policy_sets_v1_policy_invoices__compliance_id___object_unique_value__delete"}}}}
```


# Transaction Ingestion (Order, Invoices, Events & Bulk Uploads)

The Transaction upload feature is powered by a single API endpoint. This endpoint supports multiple actions, each controlled through specific parameters/objects. Depending on the selected action, the API will return the corresponding dataset.

This design allows you to interact with various transaction upload via CSV file or JSON using one consistent endpoint while simply adjusting the request parameters/objects.

<table><thead><tr><th width="58.0909423828125">#</th><th>Functionality/ Fetaure</th><th width="392.9090576171875">Description</th></tr></thead><tbody><tr><td>1</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/retrieve-file-data-csv-file">Retrieve file data - CSV file</a></td><td>This API is to get the uploaded orders/invoices/events/ All Bulk Uploads file data</td></tr><tr><td>2</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/retrieve-file-data-json-file">Retrieve file data - JSON file</a></td><td>This API is to get the uploaded orders/invoices/events file data in JSON format</td></tr><tr><td>3</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/retrieve-file-data-api-calls">Retrieve file data - API Calls</a></td><td>This API is to get the uploaded orders/invoices/events file data via API Calls</td></tr><tr><td>4</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/retrieve-uploaded-csv-file">Retrieve uploaded CSV File</a></td><td>This API is to download the uploaded orders/invoices/events data into CSV file</td></tr><tr><td>5</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/orders-invoices-events-transaction-ingestion-via-csv-file">Orders/Invoices/Events Transaction Ingestion via CSV file</a></td><td>This API is to upload and collect Orders/Invoices/Events data in CSV file format</td></tr><tr><td>6</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/order-ingestion-via-json-file">Order Ingestion via JSON file</a></td><td>This API is to upload and collect Orders data in JSON file format</td></tr><tr><td>7</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/invoice-ingestion-via-json-file">Invoice Ingestion via JSON file</a></td><td>This API is to upload and collect Invoices data in JSON file format</td></tr><tr><td>8</td><td><a href="/rightrev-rest-api/transactions-ingestion/transaction-ingestion-order-invoices-events-and-bulk-uploads/events-ingestion-via-json-file">Events Ingestion via JSON file</a></td><td>This API is to upload and collect Events data in JSON file format</td></tr></tbody></table>


# Retrieve file data - CSV file

This API is to retrieve the manually uploaded orders/invoices/events/ All Bulk Uploads CSV file data

Method - GET

API End Point

```
/apis/oingest/v1/csv-upload
```

Path Parameters&#x20;

<table><thead><tr><th width="141">Key</th><th width="800">Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. policy_types<br>4. client_type</td><td>1. 1<br>2. 10<br>3. orders, invoices, bulkregroup , bulkrclinesregroup, bulkreallocate, glsegmentupdate, rcbulkholds<br>4. UI</td></tr></tbody></table>

**Sample API End Point ( Orders,Invoices )**&#x20;

```
/apis/oingest/v1/csv-upload?page=1&page_size=10&policy_types=orders,invoices&client_type=UI
```

* Above sample endpoint will fetch 10 records of **Orders & Invoice** **CSV file details** uploaded in RightRev system from page number 1.

**Sample API End Point ( events )**

```
/apis/oingest/v1/csv-upload
```

* Above sample endpoint without any query parameters will fetch all records of **events** **CSV file details** uploaded in RightRev system.

**Sample API End Point ( bulkreallocate )**

```
/apis/oingest/v1/csv-upload?page=1&page_size=10&policy_types=bulkreallocate&client_type=UI
```

* Above sample endpoint will fetch all records of **BULK RE-ALLOCATE**  **CSV file details** uploaded in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FPdhwig4l7hPSmbAMiZrf%2Fimage.png?alt=media&amp;token=9c0b1bf8-a0e7-4da8-b375-afccf18df685" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
        ""applicable_compliance"": null,
        ""context"": ""orders-Data-Ingestion"",
        ""file_date_format"": ""MM/DD/YYYY"",
        ""file_format"": ""csv"",
        ""file_id"": ""5eb78041-5dbf-4993-923a-5f7fdeef39c0"",
        ""file_size"": 3,
        ""impacted_rc_count"": null,
        ""impacted_rc_list"": null,
        ""policy_type"": ""orders"",
        ""processed_duration"": 645,
        ""processed_end_time"": ""1765257175"",
        ""processed_start_time"": ""1765256530"",
        ""status"": ""Completed"",
        ""system_notes"": null,
        ""target_archival_date"": null,
        ""total_rows_failed"": 0,
        ""total_rows_on_hold"": 0,
        ""total_rows_processed"": 2,
        ""total_rows_received"": 2,
        ""upload_time"": 1765256517,
        ""uploaded_by"": ""krishnadas.j@rightrev.com"",
        ""uploaded_file_name"": ""ORDER_Event_Qty.csv"",
        ""user_notes"": null
    }"
```


# Retrieve file data - JSON file

This API is to retrieve the file data of orders/invoices/events/ All Bulk Uploads in JSON format

<mark style="color:yellow;">Check Response - It's not showing JSON only. CSV also covered</mark>

Method - GET

API End Point

```
/apis/oingest/v1/json-upload
```

Path Parameters&#x20;

<table><thead><tr><th width="141">Key</th><th width="800">Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. policy_types<br>4. client_type</td><td>1. 1<br>2. 10<br>3. orders, invoices<br>4. UI</td></tr></tbody></table>

**Sample API End Point ( Orders, Invoices )**&#x20;

```
/apis/oingest/v1/json-upload?page=1&page_size=10&policy_types=orders,invoices&client_type=UI
```

* Above sample endpoint will fetch file details of 10 records of **Orders & Invoice** uploaded in **JSON** format from page number 1.

**Sample API End Point ( events )**

```
/apis/oingest/v1/json-upload
```

* Above sample endpoint without any query parameters will fetch all records of **events** **JSON file details** uploaded in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F2BP3PqZvJNdGO46WizF5%2Fimage.png?alt=media&amp;token=39f310af-6606-410c-a55a-fca923031a8e" alt=""><figcaption></figcaption></figure></div>

Response

```
    {
        "applicable_compliance": null,
        "context": "orders-Data-Ingestion",
        "file_date_format": "MM/DD/YYYY",
        "file_format": "csv",
        "file_id": "c3793ae9-2224-44cf-b822-1dbfebfb9625",
        "file_size": 1,
        "impacted_rc_count": null,
        "impacted_rc_list": null,
        "policy_type": "orders",
        "processed_duration": 165,
        "processed_end_time": "1766299618",
        "processed_start_time": "1766299453",
        "status": "Completed",
        "system_notes": null,
        "target_archival_date": null,
        "total_rows_failed": 1,
        "total_rows_on_hold": 0,
        "total_rows_processed": null,
        "total_rows_received": 1,
        "upload_time": 1766299440,
        "uploaded_by": "svc-pi-snow-kri@rightrev.com",
        "uploaded_file_name": "1a347017-2025-46b6-87b9-e69305bf053f",
        "user_notes": null
    },
```


# Retrieve file data - API calls

This API is to retrieve the file data of orders/invoices/events/ All Bulk Uploads via API.

Method - GET

API End Point

```
/apis/oingest/v1/csv-upload
```

Path Parameters&#x20;

<table><thead><tr><th width="141">Key</th><th width="800">Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. policy_types<br>4. client_type</td><td>1. 1<br>2. 10<br>3. orders, invoices<br>4. API</td></tr></tbody></table>

**Sample API End Point ( Orders, Invoices )**&#x20;

```
/apis/oingest/v1/csv-upload?page=1&page_size=10&policy_types=orders,invoices&client_type=API
```

* Above sample endpoint will fetch file details of 10 records of **Orders & Invoice** uploaded via **API**  from page number 1.

**Sample API End Point ( events )**

```
/apis/oingest/v1/csv-upload
```

* Above sample endpoint without any query parameters will fetch all records of **events file details** uploaded in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F1kbdLBQC6AMGbnvil7PK%2Fimage.png?alt=media&amp;token=a48573aa-ea4c-49e3-9d6a-05990c607bb9" alt=""><figcaption></figcaption></figure></div>

Response

```
    {
        "applicable_compliance": null,
        "context": "orders-Data-Ingestion",
        "file_date_format": "YYYY-MM-DD",
        "file_format": "json",
        "file_id": "f88c5755-c55c-497c-a75c-41cf31e747e2",
        "file_size": 2,
        "impacted_rc_count": null,
        "impacted_rc_list": null,
        "policy_type": "orders",
        "processed_duration": 773,
        "processed_end_time": "1773293366",
        "processed_start_time": "1773292593",
        "status": "Completed",
        "system_notes": null,
        "target_archival_date": null,
        "total_rows_failed": 0,
        "total_rows_on_hold": 0,
        "total_rows_processed": 1,
        "total_rows_received": 1,
        "upload_time": 1773292584,
        "uploaded_by": "svc-pi-snow-kri@rightrev.com",
        "uploaded_file_name": "f88c5755-c55c-497c-a75c-41cf31e747e2.json",
        "user_notes": null
    }
```


# Retrieve uploaded CSV file

This API is to retrieve the CSV file of uploaded orders/invoices/events/ All Bulk Uploads

Method - GET

API End Point

```
/apis/oingest/v1/csv-upload
```

Path Parameters&#x20;

<table><thead><tr><th width="141">Key</th><th width="800">Values</th></tr></thead><tbody><tr><td>1. file_id</td><td>1. Provide file id - Unique alpha-numeric number assigned to uploaded CSV file by the system.</td></tr></tbody></table>

**Sample API End Point ( file id )**&#x20;

```
/apis/oingest/v1/csv-upload/25cc0094-b76d-4963-afa9-96d3ff2d95c0
```

* Above sample endpoint will fetch CSV file of transactions uploaded in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FgjoUlSL2TDkewcf9HNK3%2Fimage.png?alt=media&amp;token=eff7470d-1af7-4aa4-bbb3-145a0cad1263" alt=""><figcaption></figcaption></figure></div>


# Orders/Invoices/Events Transaction Ingestion via CSV file

This API is to upload and collect Orders, Invoices & Events data in CSV file format

Method - POST

API End Point

```
/apis/oingest/v1/csv-upload
```

Query Parameters&#x20;

<table><thead><tr><th width="160.11114501953125">Key</th><th width="582.22216796875">Values</th></tr></thead><tbody><tr><td>1. file<br>2. date_format<br>3. file_policy_type<br>4. upload_type</td><td>1. CSV file to be uploaded<br>2. %m/%d/%y<br>3. orders, invoices, events<br>4. MANUAL or API </td></tr></tbody></table>

Description of the query parameters

<table><thead><tr><th width="155">Fields</th><th width="740">Description</th></tr></thead><tbody><tr><td>file</td><td>CSV file to be uploaded </td></tr><tr><td>date_format</td><td>Date format in the CSV file. For e.g. %m%d%y</td></tr><tr><td>file_policy_type</td><td>Supported values in Policy type are -  orders, invoices or events</td></tr><tr><td>upload _type</td><td>Indicates the source of the upload, such as <strong>MANUAL</strong> for user-initiated uploads or <strong>API</strong> for uploads triggered through an API call. This is an optional field. This field defaults to <strong>MANUAL</strong>. Specify <strong>API</strong> to identify the upload as an API-triggered upload.</td></tr></tbody></table>

**Sample API End Point ( Orders )**&#x20;

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FwpJcQsJnohZqNJelc4Qa%2Fimage.png?alt=media&amp;token=9d866c04-bae8-4e8f-8c1b-72f627f151f5" alt=""><figcaption></figcaption></figure></div>

**Response**

```
"{
    ""file_id"": ""5443ecb1-980c-4044-aacc-a412c984a814"",
    ""message"": ""File successfully uploaded""
}"

```


# Order Ingestion via JSON file

This API is to upload and collect Orders data in JSON file format

Method - POST

API End Point

```
/apis/oingest/v1/json-upload
```

**Sample API End Point ( Orders )**&#x20;

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F8zhsT1PgQiu0Y71cDpYg%2Fimage.png?alt=media&amp;token=60c62353-ba09-491b-b0b2-ec5dd0fab1bd" alt=""><figcaption></figcaption></figure></div>

**Payload**

```
"  {
    ""source_system"": ""NetSuite"",
    ""transaction_type"": ""Orders"",
    ""order_number"": ""order_n_01"",
    ""order_financial_id"": ""ofid_01"",
    ""order_date"": ""2021-01-01"",
    ""customer_name"": ""abc ltd"",
    ""customer_id"": ""abc ltd_1"",
    ""product_name"": ""software"",
    ""order_quantity"": 5,
    ""po_number"": """",
    ""unit_list_price"": ""6000"",
    ""unit_sell_price"": ""5000"",
    ""total_list_price"": 30000,
    ""total_sell_price"": 25000,
    ""discount_percent"": """",
    ""discount_amount"": """",
    ""revenue_start_date"": ""2021-01-01"",
    ""revenue_end_date"": ""2021-12-31"",
    ""transaction_currency"": ""USD"",
    ""functional_currency"": ""USD"",
    ""global_currency"": ""USD"",
    ""functional_exchange_rate"": 1,
    ""global_exchange_rate"": 1,
    ""amendment_reason"": ""New"",
    ""parent_order_reference"": """",
    ""ssp_date"": """",
    ""carves_eligible"": ""TRUE"",
    ""contract_liability_segment"": ""QC002-S20-CL"",
    ""contract_revenue_segment"": ""QC002-S20-REV"",
    ""carves_liability_segment"": ""QC002-S20-CV-CL"",
    ""carves_revenue_segment"": ""QC002-S20-CV-REV"",
    ""legal_entity"": ""LE_02"",
    ""usage_bookings"": ""FALSE"",
    ""billing_revenue_accrual"": ""FALSE"",
    ""product_id"": ""software_01"",
    ""qc_custom_string"": ""ord-015-rc1"",
    ""qc_custom_boolean"": """",
    ""qc_custom_date"": """",
    ""qc_custom_decimal"": """",
    ""qc_custom_integer"": """",
    ""contract_asset_segment"": """",
    ""bundle_config_key"": """",
    ""deferred_cost_account"": """"
  }"	

```

**Response**

```
{
    "file_id": "9d0924c1-45c7-4488-bec5-d71495f4be93",
    "message": "File successfully uploaded"
}
```

**Description of the fields**

<table><thead><tr><th width="230">Fields</th><th width="461">Description</th><th width="163">Example</th><th width="105">Required</th></tr></thead><tbody><tr><td>source_system</td><td>The system or application from which the order originated.</td><td>NetSuite</td><td>TRUE</td></tr><tr><td>transaction_type</td><td>The type/category of the transaction – Orders.</td><td>Orders</td><td>TRUE</td></tr><tr><td>order_number</td><td>Identifier for the order.</td><td>Order_N_01</td><td>TRUE</td></tr><tr><td>order_financial_id</td><td>Unique Financial identifier of the order.</td><td>OFID_01</td><td>TRUE</td></tr><tr><td>order_date</td><td>The date when the order was created.</td><td>01/01/2021</td><td>TRUE</td></tr><tr><td>customer_name</td><td>Name of the customer.</td><td>ABC Ltd</td><td>TRUE</td></tr><tr><td>customer_id</td><td>Unique customer identifier.</td><td>ABC Ltd _ 1</td><td>TRUE</td></tr><tr><td>product_name</td><td>Name of the product purchased.</td><td>Software</td><td>TRUE</td></tr><tr><td>order_quantity</td><td>Quantity of product ordered.</td><td>1</td><td>TRUE</td></tr><tr><td>po_number</td><td>Purchase order number.</td><td>PO_001</td><td>FALSE</td></tr><tr><td>unit_list_price</td><td>List price per unit of the product.</td><td>6000</td><td>FALSE</td></tr><tr><td>unit_sell_price</td><td>Selling price per unit after discounts.</td><td>5000</td><td>FALSE</td></tr><tr><td>total_list_price</td><td>Total list price for the order.</td><td>30000</td><td>TRUE</td></tr><tr><td>total_sell_price</td><td>Total selling price for the order.</td><td>25000</td><td>TRUE</td></tr><tr><td>discount_percent</td><td>Discount percentage applied to the order.</td><td>10</td><td>FALSE</td></tr><tr><td>discount_amount</td><td>Total discount amount.</td><td>3000</td><td>FALSE</td></tr><tr><td>revenue_start_date</td><td>Date when revenue recognition begins.</td><td>01/01/2021</td><td>TRUE</td></tr><tr><td>revenue_end_date</td><td>Date when revenue recognition ends.</td><td>12/31/2021</td><td>TRUE</td></tr><tr><td>transaction_currency</td><td>Transaction currency in which the order was recorded.</td><td>USD</td><td>TRUE</td></tr><tr><td>functional_currency</td><td>Reporting currency of the company.</td><td>USD</td><td>TRUE</td></tr><tr><td>global_currency</td><td>Standardized currency used for global reporting.</td><td>USD</td><td>TRUE</td></tr><tr><td>functional_exchange_rate</td><td>Exchange rate from transaction to functional currency.</td><td>1</td><td>TRUE</td></tr><tr><td>global_exchange_rate</td><td>Exchange rate from transaction to global currency.</td><td>1</td><td>TRUE</td></tr><tr><td>amendment_reason</td><td>Reason for order amendment (if any). For 1st time order collection it will always be NEW<br>In Case of amendment, reason can be provided what is configured in contract amendments policy.</td><td>New<br></td><td>FALSE</td></tr><tr><td>parent_order_reference</td><td>Reference to the parent order in case of amendments. Order Financial ID of parent order line.</td><td>Provide Parent Order Financial ID</td><td>FALSE</td></tr><tr><td>ssp_date</td><td>Date used for SSP determination.</td><td>(01/01/2021</td><td>FALSE</td></tr><tr><td>carves_eligible</td><td>Indicates if carve apply to this order.</td><td>TRUE</td><td>FALSE</td></tr><tr><td>contract_liability_segment</td><td>GL segment for contract liability.</td><td>QC002-S20-CL</td><td>FALSE</td></tr><tr><td>contract_revenue_segment</td><td>GL segment for contract revenue.</td><td>QC002-S20-REV</td><td>FALSE</td></tr><tr><td>carves_liability_segment</td><td>GL segment for carve liability.</td><td>QC002-S20-CV-CL</td><td>FALSE</td></tr><tr><td>carves_revenue_segment</td><td>GL segment for carve revenue.</td><td>QC002-S20-CV-REV</td><td>FALSE</td></tr><tr><td>legal_entity</td><td>Legal entity associated with the order.</td><td>LE_02</td><td>TRUE</td></tr><tr><td>usage_bookings</td><td>Indicates if the order is usage‑based.</td><td>FALSE</td><td>FALSE</td></tr><tr><td>billing_revenue_accrual</td><td>Indicates if billing accrual applies.</td><td>FALSE</td><td>FALSE</td></tr><tr><td>product_id</td><td>Product identifier.</td><td>software_01</td><td>TRUE</td></tr><tr><td>Custom_Field-String</td><td>Custom string field. ( This custom fields provided for reference. user can add custom fields according to business need )</td><td>Custom_Data</td><td>FALSE</td></tr></tbody></table>


# Invoice Ingestion via JSON file

This API is to upload and collect Invoice data in JSON file format

Method - POST

API End Point

```
/apis/oingest/v1/invoices
```

**Sample API End Point ( Invoices )**&#x20;

<figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2Ffw9Y68h9Bdmh6shrSJlZ%2Fimage.png?alt=media&amp;token=8a57c6f3-bff6-4c3f-8649-9d381f84040c" alt=""><figcaption></figcaption></figure>

**Payload**

```
"[
  {
    ""source_system"": ""Salesforce"",
    ""transaction_type"": ""Invoice"",
    ""bill_number"": ""BN_001"",
    ""bill_date"": ""2021-01-01"",
    ""bill_financial_id"": ""BFID_001"",
    ""bill_qty"": 5,
    ""bill_amount"": 30000,
    ""revenue_start_date"": ""01/01/2021"",
    ""revenue_end_date"": ""12/31/2021"",
    ""transaction_currency"": ""USD"",
    ""functional_currency"": ""USD"",
    ""global_currency"": ""USD"",
    ""functional_exchange_rate"": 1,
    ""global_exchange_rate"": 1,
    ""reference_financial_id"": ""OFID-001""
  },"	

```

**Response**

```
{
    "file_id": "9d0924c1-45c7-4488-bec5-d71495f4be93",
    "message": "File successfully uploaded"
}
```

**Description of the fields**

<table><thead><tr><th width="184">Fields</th><th width="484">Description</th><th width="128">Example</th><th width="122">Required</th></tr></thead><tbody><tr><td>source_system</td><td>The system or application from which the invoice transaction originated.</td><td>Salesforce</td><td>TRUE</td></tr><tr><td>transaction_type</td><td>The category or nature of the transaction - Invoice</td><td>Invoice</td><td>TRUE</td></tr><tr><td>bill_number</td><td>The invoice or bill identifier assigned by the source system</td><td>BN_001</td><td>TRUE</td></tr><tr><td>bill_date</td><td> The date on which the invoice was issued.</td><td>01/01/2021</td><td>TRUE</td></tr><tr><td>bill_financial_id</td><td> The unique identifier assigned to the invoice.</td><td>BFID_001</td><td>TRUE</td></tr><tr><td>bill_qty</td><td>The quantity of goods or services invoiced.</td><td>5</td><td>TRUE</td></tr><tr><td>bill_amount</td><td>The total monetary amount billed on the invoice.</td><td>30000</td><td>TRUE</td></tr><tr><td>revenue_start_date</td><td>The date when revenue recognition begins for the invoice.</td><td>01/01/2021</td><td>TRUE</td></tr><tr><td>revenue_end_date</td><td>The date when revenue recognition ends for the invoice.</td><td>12/31/2021</td><td>TRUE</td></tr><tr><td>transaction_currency</td><td>The currency in which the transaction was originally recorded.</td><td>USD</td><td>TRUE</td></tr><tr><td>functional_currency</td><td>The reporting currency of the company or business unit.</td><td>USD</td><td>TRUE</td></tr><tr><td>global_currency</td><td> The standardized currency used for consolidated global reporting.</td><td>USD</td><td>TRUE</td></tr><tr><td>functional_exchange_rate</td><td>The exchange rate used to convert transaction currency to functional currency.</td><td>1</td><td>TRUE</td></tr><tr><td>global_exchange_rate</td><td>The exchange rate used to convert transaction currency to global currency.</td><td>1</td><td>TRUE</td></tr><tr><td>reference_financial_id</td><td>A linked Order Financial ID of the Invoice</td><td>ODIF_001</td><td>TRUE</td></tr></tbody></table>


# Events Ingestion via JSON file

This API is to upload and collect Events data in JSON file format

Method - POST

API End Point

```
/apis/oingest/v1/events
```

**Sample API End Point ( Events )**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FBvjnZJqZTv5boT7joMJt%2Fimage.png?alt=media&amp;token=83a72079-53c9-4aac-af59-56ae5dd71a30" alt=""><figcaption></figcaption></figure></div>

**Payload**

```
"  {
    ""event_name"": ""Event_Percent"",
    ""action"": ""release"",
    ""percentage"": 25,
    ""amount"": """",
    ""quantity"": """",
    ""formula_value"": """",
    ""remaining_balance"": """",
    ""cost_functional_exchange_rate"": """",
    ""cost_reporting_exchange_rate"": """",
    ""transaction_identifier1"": """",
    ""transaction_identifier2"": """",
    ""transaction_identifier3"": """",
    ""transaction_identifier4"": """",
    ""transaction_identifier5"": """",
    ""order_financial_id"": ""ofid_001"",
    ""created_on"": """",
    ""start_date"": """",
    ""end_date"": """",
    ""gl_account"": """",
    ""user_comments"": ""release 25% revenue""
  }"	

```

**Response**

```
{
    "file_id": "9d0924c1-45c7-4488-bec5-d71495f4be93",
    "message": "File successfully uploaded"
}
```

**Description of the fields**

<table><thead><tr><th width="203">Fields</th><th width="516">Description</th><th width="176">Example</th><th width="137">Required</th></tr></thead><tbody><tr><td>event_name</td><td>Name of the revenue event being triggered.</td><td>Event_Percent</td><td>TRUE</td></tr><tr><td>action</td><td>Action performed by the event -  release or defer.</td><td>release</td><td>TRUE</td></tr><tr><td>percentage</td><td>Percentage used for release or calculation for the event.</td><td>25</td><td>FALSE</td></tr><tr><td>amount</td><td>Fixed monetary amount associated with the event.</td><td>10000</td><td>FALSE</td></tr><tr><td>quantity</td><td>Quantity used for event-based calculations.</td><td>50</td><td>FALSE</td></tr><tr><td>formula_value</td><td>Value derived from formula-based events.</td><td>total_list_price*0.25</td><td>FALSE</td></tr><tr><td>remaining_balance</td><td>Boolean Field - Remaining amount/quantity after applying previous events. True will release remaining amount/quantity revenue.</td><td>True</td><td>FALSE</td></tr><tr><td>cost_functional_exchange_rate</td><td>Exchange rate used for converting cost to functional currency.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>cost_reporting_exchange_rate</td><td>Exchange rate used for converting cost to reporting/global currency.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>transaction_identifier1</td><td>Additional transaction identifier used for event.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>transaction_identifier2</td><td>Additional transaction identifier used for event.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>transaction_identifier3</td><td>Additional transaction identifier used for event.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>transaction_identifier4</td><td>Additional transaction identifier used for event.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>transaction_identifier5</td><td>Additional transaction identifier used for event.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>order_financial_id</td><td>Order Financial ID associated with this event.</td><td>ofid_001</td><td>TRUE</td></tr><tr><td>created_on</td><td>Date when the event record was created.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>start_date</td><td>Event start date. this will override dates on the order line</td><td>(blank)</td><td>FALSE</td></tr><tr><td>end_date</td><td>Event end date. this will override dates on the order line</td><td>(blank)</td><td>FALSE</td></tr><tr><td>gl_account</td><td>GL account assocciated by this event if any.</td><td>(blank)</td><td>FALSE</td></tr><tr><td>user_comments</td><td>Any comments added by the user for the event.</td><td>release 25% revenue</td><td>FALSE</td></tr></tbody></table>


# Bulk Upload


# Bulk RC Regroup

## Bulk Regroup

> This API used to perform bulk RC Regroup action via a CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/bulkrc_regroup/v1/":{"post":{"description":"This API used to perform bulk RC Regroup action via a CSV file.\n","responses":{"200":{"description":"Bulk RC Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a sample CSV file attached below."},"user_comments":{"type":"text","format":"string","description":"User need to add comments while uploading csv file."}},"required":["file","user_comments"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Bulk Regroup","operationId":"bulk_regroup_apis_bulkrc_regroup_v1__post"}}}}
```


# Bulk RC Lines Regroup

## Bulk Rc Lines Regroup Download

> This API is used to download the uploaded CSV file for bulk rc lines regroup.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/bulkrc_lines_regroup/v1/{file_id}":{"get":{"description":"This API is used to download the uploaded CSV file for bulk rc lines regroup.\n","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"Provide file ID to download the uploaded CSV file.\n"}],"responses":{"200":{"description":"Get Bulk RC Lines Regroup uploaded CSV file.","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}}},"tags":["ReGroup ReAllocate"],"summary":"Bulk Rc Lines Regroup Download","operationId":"bulk_rc_lines_regroup_download_apis_bulkrc_lines_regroup_v1__file_id__get"}}}}
```

## Bulk Rc Lines Regroup

> This API used to perform bulk RC lines regroup action via a CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/bulkrc_lines_regroup/v1/":{"post":{"description":"This API used to perform bulk RC lines regroup action via a CSV file.\n","responses":{"200":{"description":"Bulk RC Lines Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a sample CSV file attached below."},"user_comments":{"type":"text","format":"string","description":"Comments added by the user at the time of performing this action."}},"required":["file","user_comments"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Bulk Rc Lines Regroup","operationId":"bulk_rc_lines_regroup_apis_bulkrc_lines_regroup_v1__post"}}}}
```


# Bulk Re-allocate

## Bulk Reallocate

> This API used to perform bulk reallocate action via a CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/ssp/v1/carves/bulk-re-allocate":{"post":{"description":"This API used to perform bulk reallocate action via a CSV file.\n","responses":{"200":{"description":"Bulk Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a sample CSV file attached below."},"user_comments":{"type":"text","format":"string","description":"Comments added by the user at the time of performing this action."}},"required":["file","user_comments"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Bulk Reallocate","operationId":"bulk_reallocate_apis_ssp_v1_carves_bulk_re_allocate_post"}}}}
```


# Bulk GL Account Segment Update

## Bulk Action

> This API used to perform bulk GL account segment update or bulk journal transfer hold action via a CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/bulkupdate/v1/{action}":{"post":{"description":"This API used to perform bulk GL account segment update or bulk journal transfer hold action via a CSV file.\n","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"},"description":"This field support these gl_account or rc_bulk_hold actions.\n"}],"responses":{"200":{"description":"Bulk Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a sample CSV file attached below."},"user_comments":{"type":"text","format":"string","description":"Comments added by the user at the time of performing this action."}},"required":["file","user_comments"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Bulk Action","operationId":"bulk_action_apis_bulkupdate_v1__action__post"}}}}
```


# Bulk Journal Transfer Hold

## Bulk Action

> This API used to perform bulk GL account segment update or bulk journal transfer hold action via a CSV file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/bulkupdate/v1/{action}":{"post":{"description":"This API used to perform bulk GL account segment update or bulk journal transfer hold action via a CSV file.\n","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"},"description":"This field support these gl_account or rc_bulk_hold actions.\n"}],"responses":{"200":{"description":"Bulk Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a sample CSV file attached below."},"user_comments":{"type":"text","format":"string","description":"Comments added by the user at the time of performing this action."}},"required":["file","user_comments"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Bulk Action","operationId":"bulk_action_apis_bulkupdate_v1__action__post"}}}}
```


# User Defined Objects (UDO)

## Udo Get

> This API retrieves list of all user defined objects created in the system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/":{"get":{"description":"This API retrieves list of all user defined objects created in the system.\n","responses":{"200":{"description":"Get User Defined Object","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"object_description":{"type":"string","description":"Description of the object created."},"object_freeze":{"type":"boolean","description":"A boolean field indicating object is freezed or not."},"object_name":{"type":"string","description":"Name of the Object. It starts with Tenant ID."},"total_fields":{"type":"integer","description":"Total number of fields available in the obejct table."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"}},"required":["created_at","created_by","guid","object_description","object_freeze","object_name","total_fields","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on"]}}}}}},"tags":["User Defined Objects"],"summary":"Udo Get","operationId":"udo_get_apis_userdefinedobjects_v1__get"}}}}
```

## Udo Post

> This API used to create new user defined objects in the system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/":{"post":{"description":"This API used to create new user defined objects in the system.\n","responses":{"200":{"description":"Create User Defined Object","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"object_name":{"type":"string","description":"Name of the obejct to be created. It should start with Tenant ID."},"description":{"type":"string","description":"Description of the object."}},"required":["description","object_name"]}}},"required":true},"tags":["User Defined Objects"],"summary":"Udo Post","operationId":"udo_post_apis_userdefinedobjects_v1__post"}}}}
```

## Udo Object Get

> This API is used to retrieve all the field level details created in the object.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}":{"get":{"description":"This API is used to retrieve all the field level details created in the object.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the object.\n"},{"name":"freeze","in":"query","required":true,"schema":{"type":"boolean","title":"Freeze"},"description":"A boolean field indicating object is freezed or not.\n"}],"responses":{"200":{"description":"Get User Defined Object","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"object_description":{"type":"string","description":"Description of the Object."},"object_freeze":{"type":"boolean","description":"A boolean field indicating object is freezed or not."},"object_name":{"type":"string","description":"Name of the Object."},"object_structure":{"type":"array","items":{"type":"object","properties":{"data_type":{"type":"string","description":"Data type of the field. For e.g. String or Boolean or Decimal etc."},"description":{"type":"string","description":"Description of the field."},"field_name":{"type":"string","description":"Name of the field."}},"required":["data_type","description","field_name"]},"description":"Structual details of the object specifying total fields and updation details."},"total_fields":{"type":"integer","description":"Total fields created in the object."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"}},"required":["created_at","created_by","guid","object_description","object_freeze","object_name","object_structure","total_fields","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on"]}}}}}},"tags":["User Defined Objects"],"summary":"Udo Object Get","operationId":"udo_object_get_apis_userdefinedobjects_v1__object_name__get"}}}}
```

## Udo Freeze

> This API is used to freeze the object.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/freeze":{"post":{"description":"This API is used to freeze the object.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide object name.\n"}],"responses":{"200":{"description":"Freeze User Defined Object","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"object_name":{"type":"string","description":"Name of the Object."}},"required":["message","object_name"]}}}}},"requestBody":{"description":"Request Body to be declared as empty json","content":{"application/json":{"schema":{}}},"required":true},"tags":["User Defined Objects"],"summary":"Udo Freeze","operationId":"udo_freeze_apis_userdefinedobjects_v1__object_name__freeze_post"}}}}
```

## Udo Fields Create

> This API is used to ceate new fileds in objects.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/create_fields":{"post":{"description":"This API is used to ceate new fileds in objects.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Name of the Object.\n"}],"responses":{"200":{"description":"Create User Defined Object Fields","content":{"application/json":{"schema":{"type":"string"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"field_name":{"type":"string","description":"Provide field name to be added."},"data_type":{"type":"string","description":"Data Type of the fields. For e.g. String Or Boolean Or Decimal etc."},"description":{"type":"string","description":"Description of the field."}},"required":["data_type","description","field_name"]}}},"required":true},"tags":["User Defined Objects"],"summary":"Udo Fields Create","operationId":"udo_fields_create_apis_userdefinedobjects_v1__object_name__create_fields_post"}}}}
```

## Udo Fields Delete

> This API is used to delete the fields created in obejct.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/field/{field_name}":{"delete":{"description":"This API is used to delete the fields created in obejct.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the Object.\n"},{"name":"field_name","in":"path","required":true,"schema":{"type":"string","title":"Field Name"},"description":"Provide Name of the field to be deleted.\n"}],"responses":{"200":{"description":"Delete User Defined Object Fields","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["User Defined Objects"],"summary":"Udo Fields Delete","operationId":"udo_fields_delete_apis_userdefinedobjects_v1__object_name__field__field_name__delete"}}}}
```

## Udo File Delete

> This API is to delete the CSV file uploaded in user defined objects.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/file/{file_id}":{"delete":{"description":"This API is to delete the CSV file uploaded in user defined objects.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the object.\n"},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"Provide file id. User can retrive file ID from GET call.\n"}],"responses":{"200":{"description":"Delete User Defined Object File","content":{"application/json":{"schema":{"type":"string"}}}}},"tags":["User Defined Objects"],"summary":"Udo File Delete","operationId":"udo_file_delete_apis_userdefinedobjects_v1__object_name__file__file_id__delete"}}}}
```

## Udo File Get

> This API is used to download the uploaded CSV file in user defined object.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/file/{file_id}":{"get":{"description":"This API is used to download the uploaded CSV file in user defined object.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the object.\n"},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"Provide file id. User can retrive file ID from GET call.\n"}],"responses":{"200":{"description":"Get User Defined Object File","content":{"application/json":{"schema":{}}}}},"tags":["User Defined Objects"],"summary":"Udo File Get","operationId":"udo_file_get_apis_userdefinedobjects_v1__object_name__file__file_id__get"}}}}
```

## Udo File Upload

> This API is used to upload CSV file in user defined object.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/file/upload":{"post":{"description":"This API is used to upload CSV file in user defined object.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the object.\n"}],"responses":{"200":{"description":"Upload User Defined Object File","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"date_format":{"type":"text","format":"%m/%d/%Y","description":"Date Format"},"file":{"type":"file","format":"binary","description":"Attach CSV file to be uploaded."}},"required":["date_format","file"]}}},"required":true},"tags":["User Defined Objects"],"summary":"Udo File Upload","operationId":"udo_file_upload_apis_userdefinedobjects_v1__object_name__file_upload_post"}}}}
```

## Udo File Template

> This API is used to download the CSV Template file created for specific user defined objects.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/template":{"get":{"description":"This API is used to download the CSV Template file created for specific user defined objects.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the object.\n"}],"responses":{"200":{"description":"Get User Defined Object File Template","content":{"application/json":{"schema":{}}}}},"tags":["User Defined Objects"],"summary":"Udo File Template","operationId":"udo_file_template_apis_userdefinedobjects_v1__object_name__template_get"}}}}
```

## Udo Export

> This API is used to export CSV file uploaded with all the details of user defined objects.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/userdefinedobjects/v1/{object_name}/export":{"get":{"description":"This API is used to export CSV file uploaded with all the details of user defined objects.\n","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string","title":"Object Name"},"description":"Provide name of the obejct.\n"}],"responses":{"200":{"description":"Export User Defined Object","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"file_index":{"type":"string","description":"A system generated alpha-numeric number."},"file_name":{"type":"string","description":"Name of the CSV file exported. "},"guid":{"type":"string","description":"Globally unique identifier generated by the system."},"object_description":{"type":"string","description":"Description of the object."},"object_name":{"type":"string","description":"Name of the object."},"process_status":{"type":"string","description":"Status of the export process. Success or Failed."},"source_data_json":{"type":"object","properties":{"FILED_01":{"type":"string","description":"Name of the fields."},"FILED_02":{"type":"string","description":"Name of the fields"}},"required":["FILED_01","FILED_02"],"description":" Format of of the source data. For e.g. JSON"},"total_fields":{"type":"integer","description":"Total fields available in object."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"}},"required":["created_at","created_by","file_id","file_index","file_name","guid","object_description","object_name","process_status","source_data_json","total_fields","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"last_modified_by":{"type":"string","description":"ID of the user last modified by."},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on"]}}}}}},"tags":["User Defined Objects"],"summary":"Udo Export","operationId":"udo_export_apis_userdefinedobjects_v1__object_name__export_get"}}}}
```


# Approvals

## Get Pending Approval

> This API is to retrieve the list of all manually uploaded CSV files for Orders, Invoices, Events and All Bulk Uploads with status as Pending Approval.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/oingest-approval/v1/pending":{"get":{"responses":{"200":{"description":"Get Pending Approvals","content":{"application/json":{"schema":{"type":"object","properties":{"approval_enabled":{"type":"boolean","description":"This field indicates *Enable* *Approval* *for* *Manual* *Uploads* flag at tenant level is enabled or not."},"approval_roles":{"type":"array","items":{"type":"string"},"description":"This will display the name of the role eligible for Approvals"},"records":{"type":"array","items":{"type":"object","properties":{"approval_comments":{"type":"null","description":"Comments added by the user to approve or reject. This is mandatory field."},"approval_id":{"type":"string","description":"System generated unique alpha-numeric number."},"approved_by":{"type":"null","description":"Id of the user approved by."},"approved_on":{"type":"null","description":"Timestamp of the file approved by the user. This is a unix Epoch timestamp format."},"approver_role":{"type":"null","description":"Role of the approver."},"context":{"type":"string","description":"This is the context of transactions. Orders, Invoices, Events or Bulk uploads. For e.g. if it's Bulk GL Segment Update it will show - gl_segment_update-Data-Ingestion"},"file_date_format":{"type":"string","description":"Date format of the uploaded file for. For e.g. MM/DD/YYYY "},"file_format":{"type":"string","description":"Type of the file. It should be CSV."},"file_id":{"type":"string","description":"A system generated unique alpha-numeric number "},"file_name":{"type":"string","description":"name of the file uploaded for approval."},"ingested_transaction_type":{"type":"string","description":"This is the type of transactions. Orders, Invoices, Events or Bulk uploads."},"is_own_upload":{"type":"boolean","description":"Boolean field indicating is the file uploaded by same user  "},"status":{"type":"string","description":"Status of the file. For. e.g. Pending Approval or Approved or Rejected."},"total_rows_received":{"type":"integer","description":"No of records available in CSV file to be approved"},"upload_time":{"type":"integer","description":"Timestamp of the file uploaded by the user. This is a unix Epoch timestamp format."},"upload_type":{"type":"string","description":"This is the type of transactions. Manual, Events or Bulk"},"uploaded_by":{"type":"string","description":"Id of the user uploaded by."},"uploaded_file_name":{"type":"string","description":"Name of the CSV file uploaded for approval"}},"required":["approval_comments","approval_id","approved_by","approved_on","approver_role","context","file_date_format","file_format","file_id","file_name","ingested_transaction_type","is_own_upload","status","total_rows_received","upload_time","upload_type","uploaded_by","uploaded_file_name"]},"description":"No of total records with status as Pending Approval"},"total_records":{"type":"integer","description":"Count of total records with status as Pending Approval"}},"required":["approval_enabled","approval_roles","records","total_records"]}}}}},"description":"This API is to retrieve the list of all manually uploaded CSV files for Orders, Invoices, Events and All Bulk Uploads with status as Pending Approval.\n","tags":["Transactions"],"summary":"Get Pending Approval","operationId":"get_pending_approval_apis_oingest_approval_v1_pending_get"}}}}
```

## Post Approval Action

> \- This API is to \*Approve\* or \*Reject\* the list of all manually uploaded CSV files for Orders, Invoices, Events and All Bulk Uploads with status as Pending Approval.\
> \- The user who uploads a file cannot approve the same file.\
> \- The user who uploads a file can Reject his own file before it is approved.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/oingest-approval/v1/action":{"post":{"responses":{"200":{"description":"Approval Action","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"System generated message on Approval or reject."},"processed_count":{"type":"integer","description":"No of records approved or rejected."},"status":{"type":"string","description":"Status shows actions is successful or not. "}},"required":["message","processed_count","status"]}}}}},"description":"- This API is to *Approve* or *Reject* the list of all manually uploaded CSV files for Orders, Invoices, Events and All Bulk Uploads with status as Pending Approval.\n- The user who uploads a file cannot approve the same file.\n- The user who uploads a file can Reject his own file before it is approved.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","description":"name of the action. Is it *Approve* or *Reject*. "},"comments":{"type":"string","description":"Comments added by the user to approve or reject. This is mandatory field."},"approval_ids":{"type":"array","items":{"type":"string"},"description":"User need to provide approval ID. User can get it from GET call. This is System generated unique alpha-numeric number."}},"required":["action","approval_ids","comments"]}}},"required":true},"tags":["Transactions"],"summary":"Post Approval Action","operationId":"post_approval_action_apis_oingest_approval_v1_action_post"}}}}
```


# Revenue Desk 360

In Revenue Desk 360, users can have a simplified 360-degree view of the revenue contract, where users can search for revenue contracts, details related to it and their transactions.

* [Revenue Contract Search](/rightrev-rest-api/revenue-desk-360/revenue-contract-search)
* [Revenue Contract Details](/rightrev-rest-api/revenue-desk-360/revenue-contract-details)
* [Revenue Contract - More Actions](/rightrev-rest-api/revenue-desk-360/revenue-contract-more-actions)


# Revenue Contract Search

## Get Rc Search

> To retrieve the Revenue Contract details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/rc-search/v1/search":{"get":{"description":"To retrieve the Revenue Contract details.\n","parameters":[{"name":"searchTerm","in":"path","required":true,"schema":{"type":"string","title":"searchTerm"},"description":"Using this parameter user can fetch Revenue Contract ID details. Values can be used to search are Revenue Contract ID , Order Number, Invoice Number or Customer Name.\n"},{"name":"q","in":"path","required":true,"schema":{"type":"string","title":"q"},"description":"This Parameter is used to fetch recently created, recently viewed, on hold, most valued contracts, modified contracts or manually created Revenue Contract details.\n"},{"name":"view_cnt","in":"path","required":false,"schema":{"type":"string","title":"view_cnt"},"description":"This parameter will fetch recently created 50 Revenue contract details.\n"}],"responses":{"200":{"description":"RC Search","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","description":"This count is no of Revenue Contracts fetched by using the APIs."},"data_items":{"type":"array","items":{"type":"object","properties":{"allocation_type":{"type":"string","description":"This will show the Allocation status of Revenue Contract. For e.g Prospective, Retrospective, Prospective - Within SSP Range"},"amendment_version":{"type":"integer","description":"Version number represents how many times the Revenue Contract is modified or amended."},"billed":{"type":"integer","description":"The total amount billed in Revenue Contract"},"ca_cl_position":{"type":"string","description":"It will show the status or position of Revenue Contract. For e.g Contract Asset Position or Contract Liability position."},"created_date":{"type":"string","description":"Date and Timestamp of the Revenue Contract created by the user. Timestamp is in a unix Epoch format."},"created_period":{"type":"string","description":"Period name and year of the period in which Revenue Contract is created."},"customer":{"type":"string","description":"Name of the customer."},"isonhold":{"type":"null","description":"Hold status of Revenue Contract"},"modified_date":{"type":"string","description":"Date and Timestamp of the Revenue Contract modified by the user. Timestamp is in a unix Epoch format."},"modified_period":{"type":"null","description":"Period name and year of the period in which Revenue Contract is modified."},"name":{"type":"string","description":"Revenue Contract Number. For e.g. RC-225"},"recognized":{"type":"integer","description":"Amount recognized out of total contract value till current period."},"scheduled":{"type":"integer","description":"Future scheduled amount out of total contract value."},"stage":{"type":"string","description":"Status of Revenue contract. For e.g. If Revenue Contract still having unplanned revenue then contract is at Recognize Revenue stage."},"transactional_currency_code":{"type":"string","description":"Transactional currency code of the Revenue Contract."},"value":{"type":"integer","description":"Total contract value of the Revenue Contract."},"version":{"type":"integer","description":"Version of the Revenue Contract."}},"required":["allocation_type","amendment_version","billed","ca_cl_position","created_date","created_period","customer","isonhold","modified_date","modified_period","name","recognized","scheduled","stage","transactional_currency_code","value","version"]},"description":"Details of the Revenue Contract. "},"message":{"type":"string","description":"Message of the search. For e.g. RC Search Successfully returned"}},"required":["count","data_items","message"]}}}}},"tags":["RC Search"],"summary":"Get Rc Search","operationId":"get_rc_search_apis_rc_search_v1_search_get"}}}}
```


# Revenue Contract Details

RC Desk workbench API will provide all revenue contract level details.

The RC Workbench Details feature is powered by a single API endpoint. This endpoint supports multiple actions, each controlled through specific parameters/objects. Depending on the selected tab or action within the RC Workbench, the API will return the corresponding dataset.

This design allows you to interact with various parts of the RC Workbench using one consistent endpoint while simply adjusting the request parameters/objects.

API Endpoint

```
/apis/recorder/v1/revenue_contract/{object}
```

<table><thead><tr><th width="45">#</th><th width="335">Functionality/ Fetaure</th><th width="489">Description</th></tr></thead><tbody><tr><td>1</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-lines">Retrieve Revenue Contract Lines</a></td><td>This API is to retrieve all the revenue contract order lines.</td></tr><tr><td>2</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-metrics-details">Retrieve Revenue Contract Metrics Details</a></td><td>This API returns summarized metrics at the Revenue Contract level</td></tr><tr><td>3</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-billings-details">Retrieve Revenue Contract Billings Details</a></td><td>This API provides the billing transactions linked to the Order Financial ID in Revenue Contract</td></tr><tr><td>4</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-revenue-schedules-details">Retrieve Revenue Contract Revenue Schedules Details</a></td><td>This API returns the revenue schedule lines for each order financial ID</td></tr><tr><td>5</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-ssp-details">Retrieve Revenue Contract SSP Details</a></td><td>This API retrieves the Standalone Selling Price (SSP) allocation details for order financial ID</td></tr><tr><td>6</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-details/retrieve-revenue-contract-cost-schedules-details">Retrieve Revenue Contract Cost Schedules Details</a></td><td>This API provides cost schedule details for order financial ID</td></tr><tr><td>7</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-more-actions/re-group/retrieve-revenue-contract-lines-eligible-for-regroup">Retrieve Revenue Contract Lines Eligible for Regroup</a></td><td>This API provides revenue transaction lines associated with the Revenue Contract eligible to regroup to another or new revenue contract</td></tr><tr><td>8</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-more-actions/manual-release-defer/retrieve-revenue-contract-lines-eligible-for-manual-release">Retrieve Revenue Contract Lines Eligible for Manual Release</a></td><td>This API provides revenue transaction lines associated with the Revenue Contract eligible to manually release</td></tr><tr><td>9</td><td><a href="/rightrev-rest-api/revenue-desk-360/revenue-contract-more-actions/manual-release-defer/retrieve-revenue-contract-lines-eligible-for-manual-defer">Retrieve Revenue Contract Lines Eligible for Manual Defer</a></td><td>This API provides revenue transaction lines associated with the Revenue Contract eligible to manually  defer</td></tr></tbody></table>


# Retrieve Revenue Contract Lines

This API is to retrieve all the revenue contract order lines.

Method - GET

API End Point

```
/apis/recorder/v1/revenue_contract/<RC_ID>?object=rc_lines&page_number=1&page_size=10
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object</td><td>1. 1<br>2. 10<br>3. rc_lines</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-442?object=rc_lines&page_number=1&page_size=10
```

* Above sample endpoint will fetch 10 records of **Order lines from Revenue Contract No 442** in RightRev system from page number 1.

Screenshot for reference

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2Fjgpob7kgZ6kCD8L7cHeF%2Fimage.png?alt=media&amp;token=0f5a6ee6-715e-4096-b2c0-c746eca9c520" alt=""><figcaption></figcaption></figure></div>

Response

```
"    ""rc_lines"": [
        {
            ""SO_OFID_00AB2"": {
                ""allocated_amount"": 6424.52,
                ""allocation_method"": ""Retrospective"",
                ""allocation_method_from_policy"": ""Prospective"",
                ""balance_for_allocation"": 7499,
                ""billing_average_corp_exchange_rate"": null,
                ""billing_average_exchange_rate"": null,
                ""cancel_full_obligation"": false,
                ""carves_amount"": -1074.48,
                ""carves_eligible"": true,
                ""carves_liability_segment"": ""1100"",
                ""carves_revenue_segment"": ""2200"",
                ""comments"": null,
                ""contract_asset_segment"": null,
                ""contract_liability_segment"": ""1111"",
                ""contract_revenue_segment"": ""2222"",
                ""cost_amount"": null,
                ""cost_planned_transactional"": null,
                ""cost_recognized_transactional"": null,
                ""cost_unplanned_transactional"": null,
                ""created_by"": ""krishnadas.j@rightrev.com"",
                ""created_on"": ""2025-01-03 08:33:09.577"",
                ""created_period"": ""Jan-2021"",
                ""cumulative_carves_amount"": -1074.48,
                ""cumulative_net_revenue"": 6424.52,
                ""deferred_balance"": 3238.66,
                ""deferred_cost_account"": null,
                ""derived_above_midpoint_price"": 7064.4,
                ""derived_below_midpoint_price"": 6391.6,
                ""derived_midpoint_price"": 6728,
                ""distribution_method"": ""Daily"",
                ""file_id"": ""d29eb599-d1f7-4b5e-b1f9-6b4fe182fcbf"",
                ""formula_expression"": ""total_list_price_transactional * 0.80"",
                ""fx_adjustments"": 0,
                ""order_line_cancelled"": false,
                ""posted_revenue_percent"": 50,
                ""prior_period_revenue_method"": ""Catch-up in current period"",
                ""prior_recognized_period"": null,
                ""prior_unrecognized_period"": null,
                ""prorate_method"": null,
                ""recognized_cost_account"": null,
                ""regrouped_contract_version"": null,
                ""regrouped_date"": null,
                ""regrouped_period"": null,
                ""relative_percent"": 0.756003595736484,
                ""remaining_contractual_revenue_percent"": null,
                ""revenue_event_name"": null,
                ""revenue_planned"": 3238.66,
                ""revenue_recognized"": 3185.86,
                ""revenue_rule_name"": ""Software"",
                ""revenue_trigger"": ""Billing"",
                ""revenue_unplanned"": 0,
                ""revenue_unposted"": 3780.31,
                ""source_order_fields"": {
                    ""amendment_reason"": ""New"",
                    ""billing_revenue_accrual"": false,
                    ""carves_eligible"": true,
                    ""carves_liability_segment"": ""1100"",
                    ""carves_revenue_segment"": ""2200"",
                    ""contract_liability_segment"": ""1111"",
                    ""contract_revenue_segment"": ""2222"",
                    ""customer_code"": ""A1"",
                    ""customer_id"": """",
                    ""customer_name"": ""KJ"",
                    ""discount_amount"": """",
                    ""discount_percent"": """",
                    ""functional_currency"": ""USD"",
                    ""functional_exchange_rate"": ""1"",
                    ""global_currency"": ""USD"",
                    ""global_exchange_rate"": ""1"",
                    ""legal_entity"": ""LE_01"",
                    ""order_date"": ""01/01/2021"",
                    ""order_financial_id"": ""SO_OFID_00AB2"",
                    ""order_number"": ""SO_ON_00AB1"",
                    ""order_quantity"": ""1"",
                    ""parent_order_reference"": """",
                    ""po_number"": ""SSP-Formula"",
                    ""product_id"": """",
                    ""product_name"": ""Software"",
                    ""revenue_end_date"": ""12/31/2021"",
                    ""revenue_start_date"": ""01/01/2021"",
                    ""source_system"": ""Oracle"",
                    ""ssp_date"": """",
                    ""total_list_price"": ""8410"",
                    ""total_sell_price"": ""7499"",
                    ""transaction_currency"": ""USD"",
                    ""transaction_type"": ""Order"",
                    ""unit_list_price"": """",
                    ""unit_sell_price"": """",
                    ""usage_bookings"": false
                },
                ""source_revenue_contract"": null,
                ""ssp_balance"": 7064.4,
                ""ssp_carves_revenue_recognized_till_prior_period"": null,
                ""ssp_contractual_revenue_recognized_till_prior_period"": null,
                ""ssp_percent"": null,
                ""ssp_perday_above_midpoint"": null,
                ""ssp_perday_below_midpoint"": null,
                ""ssp_perday_midpoint"": null,
                ""ssp_policy_name"": ""SSP Formula"",
                ""ssp_remaining_carves_revenue"": null,
                ""ssp_remaining_contractual_revenue"": null,
                ""ssp_remaining_contractual_revenue_percent"": null,
                ""ssp_type"": ""ssp"",
                ""ssp_within_range"": false,
                ""total_billed_amount"": 7499,
                ""total_billed_amount_functional"": 7499,
                ""total_list_price_functional"": 8410,
                ""total_list_price_transactional"": 8410,
                ""total_release_percent"": 100,
                ""total_sell_price_functional"": 7499,
                ""total_sell_price_transactional"": 7499,
                ""total_ssp_price"": 7064.4,
                ""transaction_price"": null,
                ""trigger_no_allocation"": false,
                ""updated_by"": ""krishnadas.j@rightrev.com"",
                ""updated_on"": ""2025-01-03 08:33:09.577"",
                ""usage_bookings_amount"": null
            }
        }"
```

**Description of the fields**

<table><thead><tr><th width="313">Field Name</th><th width="533">Description</th><th width="213">Example</th></tr></thead><tbody><tr><td>allocated_amount</td><td>Revenue amount allocated to this line.</td><td>1200</td></tr><tr><td>allocation_method</td><td>Which Allocation method applied. Prospective or Retrospective</td><td>Retrospective</td></tr><tr><td>allocation_method_from_policy</td><td>Allocation method defined by SSP policy.</td><td>Prospective</td></tr><tr><td>balance_for_allocation</td><td>Remaining amount available for allocation.</td><td>499</td></tr><tr><td>billing_average_corp_exchange_rate</td><td>Corporate average FX rate on billing.</td><td>1</td></tr><tr><td>billing_average_exchange_rate</td><td>Average FX rate applied on billing.</td><td>0.85</td></tr><tr><td>cancel_full_obligation</td><td>Indicates if whole obligation is cancelled.</td><td>FALSE</td></tr><tr><td>carves_amount</td><td>Carve‑In/ (out) adjustment amount.</td><td>155.5</td></tr><tr><td>carves_eligible</td><td>Whether this line eligible for carves allocation or not</td><td>TRUE</td></tr><tr><td>carves_liability_segment</td><td>GL segment for carves liability.</td><td>4355-250-1122</td></tr><tr><td>carves_revenue_segment</td><td>GL segment for carves revenue.</td><td>4355-250-1133</td></tr><tr><td>comments</td><td>User comments on RC Line.</td><td>comment - test</td></tr><tr><td>contract_asset_segment</td><td>GL segment for contract asset.</td><td>4555-250-9988</td></tr><tr><td>contract_liability_segment</td><td>GL segment for contract liability.</td><td>4055-250-6677</td></tr><tr><td>contract_revenue_segment</td><td>GL segment for contract revenue.</td><td>4055-250-7700</td></tr><tr><td>cost_amount</td><td>Total cost associated with line.</td><td>250</td></tr><tr><td>cost_planned_transactional</td><td>Planned cost in transactional currency.</td><td>250</td></tr><tr><td>cost_recognized_transactional</td><td>Cost recognized to date.</td><td>50</td></tr><tr><td>cost_unplanned_transactional</td><td>Unplanned cost to date.</td><td>200</td></tr><tr><td>created_by</td><td>User ID who created RC line.</td><td>username@rightrev.com</td></tr><tr><td>created_on</td><td>Timestamp of the policy created by the user. This is a unix Epoch timestamp format.</td><td>2025‑01‑03 08:33:09.577</td></tr><tr><td>created_period</td><td>Accounting period of creation.</td><td>Jan‑2021</td></tr><tr><td>cumulative_carves_amount</td><td>Total cumulative carves amount</td><td>155.5</td></tr><tr><td>cumulative_net_revenue</td><td>Total net revenue recognized.</td><td>1355.5</td></tr><tr><td>deferred_balance</td><td>Deferred revenue balance.</td><td>837</td></tr><tr><td>deferred_cost_account</td><td>GL account for deferred cost.</td><td>3055-250-1199</td></tr><tr><td>derived_above_midpoint_price</td><td>SSP price above midpoint.</td><td>1500</td></tr><tr><td>derived_below_midpoint_price</td><td>SSP price below midpoint.</td><td>1000</td></tr><tr><td>derived_midpoint_price</td><td>Midpoint SSP price.</td><td>1200</td></tr><tr><td>distribution_method</td><td>Revenue distribution method.</td><td>Daily</td></tr><tr><td>file_id</td><td>ID of import file.</td><td>d29eb599-d1f7-4b5e-b1f9-6b4fe182fcbf</td></tr><tr><td>formula_expression</td><td>Formula used for SSP or allocation.</td><td>total_list_price_transactional * 0.80</td></tr><tr><td>fx_adjustments</td><td>FX adjustment amount.</td><td>0</td></tr><tr><td>order_line_cancelled</td><td>Indicates if order line was cancelled.</td><td>FALSE</td></tr><tr><td>posted_revenue_percent</td><td>% of revenue posted.</td><td>33.34</td></tr><tr><td>prior_period_revenue_method</td><td>Method for prior period adjustments.</td><td>Catch‑up in current period</td></tr><tr><td>prior_recognized_period</td><td>Last recognized period.</td><td>null</td></tr><tr><td>prior_unrecognized_period</td><td>Last unrecognized period.</td><td>null</td></tr><tr><td>prorate_method</td><td>Method of proration used.</td><td>consider partial months as full months</td></tr><tr><td>recognized_cost_account</td><td>GL account for recognized cost.</td><td>3055-250-7733</td></tr><tr><td>regrouped_contract_version</td><td>Version after regrouping.</td><td>2</td></tr><tr><td>regrouped_date</td><td>Date when regrouping happened.</td><td>2025-15-02</td></tr><tr><td>regrouped_period</td><td>Period of regrouping.</td><td>Feb-25</td></tr><tr><td>relative_percent</td><td>Percent relative to total SSP.</td><td>0.756003596</td></tr><tr><td>remaining_contractual_revenue_percent</td><td>Remaining revenue %.</td><td>0.9166666</td></tr><tr><td>revenue_event_name</td><td>Revenue event applied.</td><td>null</td></tr><tr><td>revenue_planned</td><td>Planned revenue amount.</td><td>1355.5</td></tr><tr><td>revenue_recognized</td><td>Revenue recognized so far.</td><td>418.5</td></tr><tr><td>revenue_rule_name</td><td>Revenue rule applied.</td><td>Software</td></tr><tr><td>revenue_trigger</td><td>Trigger for revenue recognition.</td><td>Billing</td></tr><tr><td>revenue_unplanned</td><td>Unplanned revenue recognized.</td><td>0</td></tr><tr><td>revenue_unposted</td><td>Calculated but unposted revenue.</td><td>837</td></tr><tr><td>source_order_fields</td><td>Order details used to create RC line.</td><td>(JSON object)</td></tr><tr><td>source_revenue_contract</td><td>Source RC used in regrouping.</td><td>null</td></tr><tr><td>ssp_balance</td><td>SSP allocated to the line.</td><td>1000</td></tr><tr><td>ssp_carves_revenue_recognized_till_prior_period</td><td>Carve SSP recognized till prior.</td><td>null</td></tr><tr><td>ssp_contractual_revenue_recognized_till_prior_period</td><td>Contractual SSP recognized till prior.</td><td>null</td></tr><tr><td>ssp_percent</td><td>SSP allocation percent.</td><td>null</td></tr><tr><td>ssp_perday_above_midpoint</td><td>Per day SSP above midpoint.</td><td>null</td></tr><tr><td>ssp_perday_below_midpoint</td><td>Per day SSP below midpoint.</td><td>null</td></tr><tr><td>ssp_perday_midpoint</td><td>Per day midpoint SSP.</td><td>null</td></tr><tr><td>ssp_policy_name</td><td>SSP policy applied.</td><td>SSP Formula</td></tr><tr><td>ssp_remaining_carves_revenue</td><td>Remaining carve SSP.</td><td>null</td></tr><tr><td>ssp_remaining_contractual_revenue</td><td>Remaining contractual SSP.</td><td>null</td></tr><tr><td>ssp_remaining_contractual_revenue_percent</td><td>Remaining SSP %.</td><td>null</td></tr><tr><td>ssp_type</td><td>SSP classification type.</td><td>ssp</td></tr><tr><td>ssp_within_range</td><td>Whether SSP is within policy range.</td><td>FALSE</td></tr><tr><td>total_billed_amount</td><td>Billed amount in transactional currency.</td><td>418.5</td></tr><tr><td>total_billed_amount_functional</td><td>Billed amount in functional currency.</td><td>418.5</td></tr><tr><td>total_list_price_functional</td><td>List price in functional currency.</td><td>1200</td></tr><tr><td>total_list_price_transactional</td><td>List price in transactional currency.</td><td>1200</td></tr><tr><td>total_release_percent</td><td>Total release % from events.</td><td>33.34</td></tr><tr><td>total_sell_price_functional</td><td>Sell price in functional currency.</td><td>1200</td></tr><tr><td>total_sell_price_transactional</td><td>Sell price in transactional currency.</td><td>1200</td></tr><tr><td>total_ssp_price</td><td>Total SSP price.</td><td>1000</td></tr><tr><td>transaction_price</td><td>Final transaction price.</td><td>null</td></tr><tr><td>trigger_no_allocation</td><td>Whether allocation is bypassed.</td><td>FALSE</td></tr><tr><td>updated_by</td><td>User who last updated line.</td><td>username@rightrev.com</td></tr><tr><td>updated_on</td><td>Timestamp of the policy updated by the user. This is a unix Epoch timestamp format.</td><td>2025‑01‑03 08:33:09.577</td></tr><tr><td>usage_bookings_amount</td><td>Usage‑based booking amount.</td><td>null</td></tr></tbody></table>


# Retrieve Revenue Contract Metrics Details

This API is to retrieve all the revenue contract metrics data.

Method - GET

API End Point

```
apis/recorder/v1/revenue_contract/<RC id>?object=rc_metrics
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object</td><td>1. 1<br>2. 10<br>3. rc_metrics</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-442?object=rc_metrics&page_number=1&page_size=10
```

* Above sample endpoint will fetch **Revenue Contract Metrics of RC-442** in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FXxZsYFMDhn9xzbAlts8I%2Fimage.png?alt=media&amp;token=8729cbe9-6ed3-4691-a8ba-7fb7d0d86ca3" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""RC-423"": [
        {
            ""allocation_treatment"": ""Prospective"",
            ""billed_amount"": 0,
            ""ca_cl_balance"": 1227.08,
            ""ca_cl_position"": ""contract_asset"",
            ""carves_currency_code"": ""USD"",
            ""carves_currency_type"": ""transaction_currency"",
            ""carves_in"": 299.73,
            ""carves_out"": -299.73,
            ""contract_created_period"": ""Feb-21"",
            ""contract_modified_period"": ""Mar-21"",
            ""current_qtr_revenue"": 1880.15,
            ""customer_name"": ""KJ"",
            ""fx_adjustments"": 0,
            ""fx_adjustments_func_currency"": ""USD"",
            ""grouping_value"": {
                ""legal_entity"": ""LE_19"",
                ""order_number"": ""ON_SNOW-1554_AA_1"",
                ""tenant_id"": ""pi-snow-kri"",
                ""transaction_currency"": ""USD""
            },
            ""holds_status"": null,
            ""legal_entity"": ""LE_19"",
            ""manually_created_rc"": false,
            ""next_qtr_revenue"": 419.85,
            ""prior_qtr_revenue"": 0,
            ""revenue_contract_id"": ""RC-423"",
            ""revenue_contract_version"": 2,
            ""revenue_planned"": 1072.92,
            ""revenue_recognized"": 1227.08,
            ""revenue_unplanned"": 0,
            ""ssp_min_func_exchange_rate"": 1,
            ""ssp_min_rep_exchange_rate"": 1,
            ""status"": ""Recognize Revenue"",
            ""total_contract_value"": 2300
        }
    ],
    ""total_records"": 1
}"
```

**Description of the fields**

<table><thead><tr><th width="197">Field Name</th><th width="440">Description</th><th width="219">Example</th></tr></thead><tbody><tr><td>allocation_treatment</td><td>Method used for revenue allocation for the RC.</td><td>Prospective</td></tr><tr><td>billed_amount</td><td>Total billed amount for the RC.</td><td>0</td></tr><tr><td>ca_cl_balance</td><td>Balance in contract asset or contract liability.</td><td>1227.08</td></tr><tr><td>ca_cl_position</td><td>Indicates if balance is a contract asset or liability.</td><td>contract_asset</td></tr><tr><td>carves_currency_code</td><td>Currency code used for carves calculations.</td><td>USD</td></tr><tr><td>carves_currency_type</td><td>Currency type for carve calculations (transaction/functional).</td><td>transaction_currency</td></tr><tr><td>carves_in</td><td>Revenue amount added due to carve‑in.</td><td>299.73</td></tr><tr><td>carves_out</td><td>Revenue deducted due to carve‑out.</td><td>-299.73</td></tr><tr><td>contract_created_period</td><td>Accounting period when the RC was created.</td><td>Feb‑21</td></tr><tr><td>contract_modified_period</td><td>Accounting period when the RC was last modified.</td><td>Mar‑21</td></tr><tr><td>current_qtr_revenue</td><td>Revenue recognized in the current quarter.</td><td>1880.15</td></tr><tr><td>customer_name</td><td>Name of the customer for this RC.</td><td>KJ</td></tr><tr><td>fx_adjustments</td><td>FX adjustment amount on revenue.</td><td>0</td></tr><tr><td>fx_adjustments_func_currency</td><td>Functional currency used for FX adjustments.</td><td>USD</td></tr><tr><td>grouping_value</td><td>RC grouping identifiers (composite values).<br>Legal Entity<br>Order Number<br>Tenant Id<br>Transaction Currency</td><td>{legal_entity: LE_19, …}</td></tr><tr><td>holds_status</td><td>Status of revenue holds.</td><td>null</td></tr><tr><td>legal_entity</td><td>Legal entity associated with the RC.</td><td>LE_19</td></tr><tr><td>manually_created_rc</td><td>Whether RC was created manually.</td><td>FALSE</td></tr><tr><td>next_qtr_revenue</td><td>Revenue expected in next quarter.</td><td>419.85</td></tr><tr><td>prior_qtr_revenue</td><td>Revenue recognized in previous quarter.</td><td>0</td></tr><tr><td>revenue_contract_id</td><td>Unique identifier of the RC.</td><td>RC‑423</td></tr><tr><td>revenue_contract_version</td><td>Version number of the RC.</td><td>2</td></tr><tr><td>revenue_planned</td><td>Planned revenue for the RC.</td><td>1072.92</td></tr><tr><td>revenue_recognized</td><td>Total revenue recognized till now.</td><td>1227.08</td></tr><tr><td>revenue_unplanned</td><td>Unplanned revenue amount.</td><td>0</td></tr><tr><td>ssp_min_func_exchange_rate</td><td>Minimum functional FX rate used for SSP.</td><td>1</td></tr><tr><td>ssp_min_rep_exchange_rate</td><td>Minimum reporting FX rate used for SSP.</td><td>1</td></tr><tr><td>status</td><td>Current processing status of RC.</td><td>Recognize Revenue</td></tr><tr><td>total_contract_value</td><td>Total value of the contract.</td><td>2300</td></tr><tr><td>total_records</td><td>Total number of RC entries returned.</td><td>1</td></tr></tbody></table>


# Retrieve Revenue Contract Billings Details

This API is to retrieve the billings data of order financial IDs from Revenue Contract .

Method - GET

API End Point

```
/apis/recorder/v1/revenue_contract/<RC ID><ofid=>&object=rc_billings&page_number=1&page_size=10
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object<br>4. ofid</td><td>1. 1<br>2. 10<br>3. rc_billings<br>4. Order Financial ID For e.g. OFID-001</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-391?ofid=OFID_SNOW-1522_AC_1&object=rc_billings&page_number=1&page_size=10
```

* Above sample endpoint will fetch **Billings Data of Order Financial ID -** OFID\_SNOW-1522\_AC\_1  **of RC-391** from the RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F2ZepqR1LlaqyhGOiB94B%2Fimage.png?alt=media&amp;token=4b2449e8-0466-4b51-86ca-d075cf0fda55" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""rc_billings"": {
        ""billings_data"": [
            {
                ""BFID_SNOW-1522_AC_1"": {
                    ""adjust_revenue"": null,
                    ""bill_amount_corporate"": 520.57,
                    ""bill_amount_functional"": 520.57,
                    ""bill_smaps_unique_id"": ""9ef3573d-c303-4695-8c4c-7cff5c0f62db|0"",
                    ""created_period"": ""Jan-21"",
                    ""source_invoice_fields"": {
                        ""RR_Overage_Invoice_Line__c"": """",
                        ""bill_amount"": ""520.5723"",
                        ""bill_date"": ""01/01/2021"",
                        ""bill_financial_id"": ""BFID_SNOW-1522_AC_1"",
                        ""bill_number"": ""BN_SNOW-1522_AC_1"",
                        ""bill_qty"": ""1"",
                        ""functional_currency"": ""USD"",
                        ""functional_exchange_rate"": ""1"",
                        ""global_currency"": ""USD"",
                        ""global_exchange_rate"": ""1"",
                        ""reference_financial_id"": ""OFID_SNOW-1522_AC_1"",
                        ""revenue_end_date"": ""03/31/2021"",
                        ""revenue_start_date"": ""01/01/2021"",
                        ""source_system"": ""Oracle"",
                        ""transaction_currency"": ""USD"",
                        ""transaction_type"": ""INVOICE""
                    }
                }
            }
        ],
        ""order_financial_id"": ""OFID_SNOW-1522_AC_1""
    },
    ""total_records"": 1
}"
```

**Description of the fields**

<table><thead><tr><th width="241">Field Name</th><th width="425">Description</th><th width="241">Example</th></tr></thead><tbody><tr><td>billings_data</td><td>List of billing records associated with the RC.</td><td></td></tr><tr><td>Bill Financial ID</td><td>Unique identifier for the invoice/billing line.</td><td>BFID_SNOW-1522_AC_1</td></tr><tr><td>adjust_revenue</td><td>Amount of revenue adjusted for this billing line.</td><td>null</td></tr><tr><td>bill_amount_corporate</td><td>Billed amount in corporate/reporting currency.</td><td>520.57</td></tr><tr><td>bill_amount_functional</td><td>Billed amount in functional currency.</td><td>520.57</td></tr><tr><td>bill_smaps_unique_id</td><td>Internal SMAPS reference ID for billing linkage.</td><td>9ef3573d-c303-4695-8c4c-7cff5c0f62db|0</td></tr><tr><td>created_period</td><td>Period in which this billing transaction was created.</td><td>46043</td></tr><tr><td>RR_Overage_Invoice_Line__c</td><td>Invoice overage flag/identifier.</td><td></td></tr><tr><td>bill_amount</td><td>Original bill amount from invoice.</td><td>520.5723</td></tr><tr><td>bill_date</td><td>Invoice bill date.</td><td>44197</td></tr><tr><td>bill_financial_id</td><td>Unique identifier for the invoice/billing line.</td><td>BFID_SNOW-1522_AC_1</td></tr><tr><td>bill_number</td><td>Invoice number from source system.</td><td>BN_SNOW-1522_AC_1</td></tr><tr><td>bill_qty</td><td>Quantity billed.</td><td>1</td></tr><tr><td>functional_currency</td><td>Functional currency used for reporting.</td><td>USD</td></tr><tr><td>functional_exchange_rate</td><td>FX rate to convert to functional currency.</td><td>1</td></tr><tr><td>global_currency</td><td>Global/consolidated reporting currency.</td><td>USD</td></tr><tr><td>global_exchange_rate</td><td>FX rate used for global currency.</td><td>1</td></tr><tr><td>reference_financial_id</td><td>Linked Order Financial ID.</td><td>OFID_SNOW-1522_AC_1</td></tr><tr><td>revenue_end_date</td><td>Revenue recognition end date for the invoice.</td><td>44286</td></tr><tr><td>revenue_start_date</td><td>Revenue recognition start date for invoice.</td><td>44197</td></tr><tr><td>source_system</td><td>Source ERP/CRM system name.</td><td>Oracle</td></tr><tr><td>transaction_currency</td><td>Currency in which invoice was originally billed.</td><td>USD</td></tr><tr><td>transaction_type</td><td>Type of transaction – Invoice.</td><td>INVOICE</td></tr><tr><td>order_financial_id</td><td>Order Financial ID to which these billings belong.</td><td>OFID_SNOW-1522_AC_1</td></tr><tr><td>total_records</td><td>Total number of billing entries returned.</td><td>1</td></tr></tbody></table>


# Retrieve Revenue Contract Revenue Schedules Details

This API is to retrieve the revenue schedules data of order financial IDs from Revenue Contract.

Method - GET

API End Point

```
/apis/recorder/v1/revenue_contract/<RC ID><ofid=>&object=rc_dists&page_number=1&page_size=10
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object<br>4. ofid</td><td>1. 1<br>2. 10<br>3. rc_dist<br>4. Order Financial ID For e.g. OFID-001</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-391?ofid=OFID_SNOW-1522_AC_1&object=rc_dist&page_number=1&page_size=10
```

* Above sample endpoint will fetch **Revenue Schedules Data of Order Financial ID -** OFID\_SNOW-1522\_AC\_1  **of RC-391** in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FDfeZ8Fc7566QmWVNKrl0%2Fimage.png?alt=media&amp;token=b115218a-5ac0-461a-ad29-112ef496be88" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""order_financial_id"": ""OFID_SNOW-1522_AC_1"",
    ""rc_dist"": [
        {
            ""act_data"": {
                ""c57e971b-e8ee-4835-99f1-091c9dd9a8d2"": {
                    ""action"": ""Initial Entry"",
                    ""allocation_method"": null,
                    ""amount_functional"": 520.57,
                    ""amount_reporting"": 520.57,
                    ""amount_transactional"": 520.57,
                    ""carves_liability_segment"": ""1111"",
                    ""carves_revenue_segment"": ""2222"",
                    ""comments"": ""INVOICE INGESTION"",
                    ""contractual_liability_segment"": ""1111"",
                    ""contractual_revenue_segment"": ""2222"",
                    ""corporate_currency"": ""USD"",
                    ""corporate_exchange_rate"": 1,
                    ""file_id"": ""9ef3573d-c303-4695-8c4c-7cff5c0f62db"",
                    ""formula_value"": null,
                    ""functional_currency"": ""USD"",
                    ""functional_exchange_rate"": 1,
                    ""percentage"": 0.999995581785662,
                    ""quantity"": null,
                    ""revenue_contract_version"": 1,
                    ""revenue_end_date"": ""2021-03-31"",
                    ""revenue_start_date"": ""2021-01-01"",
                    ""reversal"": false,
                    ""schedule_type"": ""Revenue"",
                    ""transaction_currency"": ""USD"",
                    ""trigger_type"": ""Booking"",
                    ""triggered_period"": ""Jan-21""
                }
            },
            ""dist_data"": [
                {
                    ""c3c3f0f8-e312-4d35-840c-63b84ec60f42"": {
                        ""account_type"": ""Contractual Liability - Billings"",
                        ""drcr_indicator"": ""CREDIT"",
                        ""functional_amount"": 520.57,
                        ""journal_run_id"": null,
                        ""period"": ""Jan-21"",
                        ""period_number"": 1,
                        ""recognized_period"": null,
                        ""transactional_amount"": 520.57
                    }
                }
            ]
        },
        {
            ""act_data"": {
                ""06d65975-b160-4ef0-896c-b725a8375c7a"": {
                    ""action"": ""Release"",
                    ""allocation_method"": null,
                    ""amount_functional"": 520.57,
                    ""amount_reporting"": 520.57,
                    ""amount_transactional"": 520.57,
                    ""carves_liability_segment"": ""1111"",
                    ""carves_revenue_segment"": ""2222"",
                    ""comments"": ""BOOKING RELEASE"",
                    ""contractual_liability_segment"": ""1111"",
                    ""contractual_revenue_segment"": ""2222"",
                    ""corporate_currency"": ""USD"",
                    ""corporate_exchange_rate"": 1,
                    ""file_id"": ""7ae34fd1-13ba-4091-906c-eb5208f70e83"",
                    ""formula_value"": null,
                    ""functional_currency"": ""USD"",
                    ""functional_exchange_rate"": 1,
                    ""percentage"": 100,
                    ""quantity"": null,
                    ""revenue_contract_version"": 1,
                    ""revenue_end_date"": ""2021-03-31"",
                    ""revenue_start_date"": ""2021-01-01"",
                    ""reversal"": false,
                    ""schedule_type"": ""Revenue"",
                    ""transaction_currency"": ""USD"",
                    ""trigger_type"": ""Booking"",
                    ""triggered_period"": ""Jan-21""
                }
            },
            ""dist_data"": [
                {
                    ""4d72107e-355f-48ef-b7ba-77cad6f04323"": {
                        ""account_type"": ""Contractual Revenue"",
                        ""drcr_indicator"": ""CREDIT"",
                        ""functional_amount"": 520.57,
                        ""journal_run_id"": 114,
                        ""period"": ""Jan-21"",
                        ""period_number"": 1,
                        ""recognized_period"": ""Jan-21"",
                        ""transactional_amount"": 520.57
                    }
                }
            ]
        }
    ],
    ""total_records"": 2
}"
```

**Description of the fields**

<table><thead><tr><th width="273">Field Name</th><th width="509">Description</th><th width="235">Example</th></tr></thead><tbody><tr><td>order_financial_id</td><td>Order Financial ID to which the RC distribution entries belong.</td><td>OFID_SNOW‑1522_AC_1</td></tr><tr><td>act_data</td><td>Activity-level details for revenue distribution action.</td><td></td></tr><tr><td>action</td><td>Type of revenue activity (e.g., Initial Entry, Release).</td><td>Initial Entry</td></tr><tr><td>allocation_method</td><td>Allocation method applied to this activity.</td><td>null</td></tr><tr><td>amount_functional</td><td>Amount in functional currency.</td><td>520.57</td></tr><tr><td>amount_reporting</td><td>Amount in reporting/corporate currency.</td><td>46176</td></tr><tr><td>amount_transactional</td><td>Amount in transactional currency.</td><td>520.57</td></tr><tr><td>carves_liability_segment</td><td>GL segment for carves liability postings.</td><td>1111</td></tr><tr><td>carves_revenue_segment</td><td>GL segment for carves revenue postings.</td><td>2222</td></tr><tr><td>comments</td><td>User-entered comments explaining the activity.</td><td>INVOICE INGESTION</td></tr><tr><td>contractual_liability_segment</td><td>GL segment for contractual liability.</td><td>1111</td></tr><tr><td>contractual_revenue_segment</td><td>GL segment for contractual revenue.</td><td>2222</td></tr><tr><td>corporate_currency</td><td>Corporate/reporting currency code.</td><td>USD</td></tr><tr><td>corporate_exchange_rate</td><td>Exchange rate used to convert to corporate currency.</td><td>1</td></tr><tr><td>file_id</td><td>Source file identifier that created this event.</td><td>9ef3573d-c303-4695-8c4c-7cff5c0f62db</td></tr><tr><td>formula_value</td><td>Value derived from SSP/Carve formula (if applicable).</td><td>null</td></tr><tr><td>functional_currency</td><td>Functional reporting currency.</td><td>USD</td></tr><tr><td>functional_exchange_rate</td><td>FX rate to convert to functional currency.</td><td>1</td></tr><tr><td>percentage</td><td>Event or distribution percentage applied.</td><td>2</td></tr><tr><td>quantity</td><td>Quantity used in distribution activity.</td><td>null</td></tr><tr><td>revenue_contract_version</td><td>Version of the RC when this activity occurred.</td><td>1</td></tr><tr><td>revenue_start_date</td><td>Revenue recognition start date.</td><td>2021‑01‑01</td></tr><tr><td>revenue_end_date</td><td>Revenue recognition end date.</td><td>2021‑03‑31</td></tr><tr><td>reversal</td><td>Indicates if this entry is a reversal.</td><td>FALSE</td></tr><tr><td>schedule_type</td><td>Type of schedule impacted (Revenue / Cost).</td><td>Revenue</td></tr><tr><td>transaction_currency</td><td>Transaction currency of the original document.</td><td>USD</td></tr><tr><td>trigger_type</td><td>Triggering event (e.g., Booking, Billing).</td><td>Booking</td></tr><tr><td>triggered_period</td><td>Accounting period when event was triggered.</td><td>Jan‑21</td></tr><tr><td>dist_data</td><td>Journal distribution entries derived from activity.</td><td></td></tr><tr><td>account_type</td><td>Account type affected (e.g., Contractual Liability).</td><td>Contractual Liability - Billings</td></tr><tr><td>drcr_indicator</td><td>Indicates debit or credit entry.</td><td>CREDIT</td></tr><tr><td>functional_amount</td><td>Journal amount in functional currency.</td><td>520.57</td></tr><tr><td>journal_run_id</td><td>ID of journal run that posted this entry.</td><td>114</td></tr><tr><td>period</td><td>Accounting period for the journal line.</td><td>Jan‑21</td></tr><tr><td>period_number</td><td>Numerical period index.</td><td>1</td></tr><tr><td>recognized_period</td><td>Period in which revenue was recognized.</td><td>Jan‑21</td></tr><tr><td>transactional_amount</td><td>Journal amount in transactional currency.</td><td>520.57</td></tr><tr><td>total_records</td><td>Total number of RC distribution records returned.</td><td>2</td></tr></tbody></table>


# Retrieve Revenue Contract SSP Details

This API is to retrieve the Standalone Selling Price (SSP) details of order financial IDs from Revenue Contract.

Method - GET

API End Point

```
/apis/recorder/v1/revenue_contract/<RC ID><ofid=>&object=rc_ssps
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. object<br>2. ofid</td><td>1.  rc_ssp<br>2. Order Financial ID For e.g. OFID-001</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
apis/recorder/v1/revenue_contract/RC-423?ofid=OFID_SNOW-1554_AA_1&object=rc_ssp
```

* Above sample endpoint will fetch **Standalone Selling Price (SSP) Details of Order Financial ID -** OFID\_SNOW-1554\_AA\_1  **of RC-423** in RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FnSuttMJUSbdbLwGMOoPh%2Fimage.png?alt=media&amp;token=2ba756dd-5085-4263-a1c4-a4e0af589cb6" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""rc_ssp"": [
        {
            ""OFID_SNOW-1554_AA_1"": {
                ""above_mid_point"": 110,
                ""below_midpoint"": 70,
                ""derived_above_midpoint_price"": 1100,
                ""derived_below_midpoint_price"": 700,
                ""derived_midpoint_price"": 900,
                ""effective_end_date"": ""2024-12-31"",
                ""effective_start_date"": ""2021-01-01"",
                ""mid_point"": 90,
                ""order_financial_id"": ""OFID_SNOW-1554_AA_1"",
                ""ssp_batch_name"": ""SSP_16Jan"",
                ""ssp_ceiling_percentage"": 110,
                ""ssp_date"": ""2021-02-01"",
                ""ssp_expression"": null,
                ""ssp_floor_percentage"": 70,
                ""ssp_hierarchy"": ""2"",
                ""ssp_method"": ""Upload"",
                ""ssp_percent"": 90,
                ""ssp_policy_name"": ""SSP_16Jan"",
                ""ssp_transaction_range_identifier"": ""mid_point"",
                ""ssp_value_id"": ""1aeece10-6974-47de-a02c-6a8ecd9c6db3"",
                ""ssp_within_range"": true,
                ""term"": null,
                ""total_list_price"": 1000,
                ""total_sell_price"": 900,
                ""total_ssp_price"": 900,
                ""transaction_price"": 900,
                ""value_type"": ""Percent""
            }
        }
    ],
    ""total_records"": 1
}"
```

**Description of the fields**

<table><thead><tr><th width="270">Field Name</th><th width="482">Description</th><th width="388">Example</th></tr></thead><tbody><tr><td>rc_ssp</td><td>List of SSP records for the Revenue Contract.</td><td></td></tr><tr><td>Order Financial ID</td><td>Order Financial ID for which SSP values are calculated.</td><td>OFID_SNOW-1554_AA_1</td></tr><tr><td>above_mid_point</td><td>Upper percentage range for SSP.</td><td>110</td></tr><tr><td>below_midpoint</td><td>Lower percentage range for SSP.</td><td>70</td></tr><tr><td>derived_above_midpoint_price</td><td>Derived SSP price using above-midpoint %.</td><td>1100</td></tr><tr><td>derived_below_midpoint_price</td><td>Derived SSP price using below-midpoint %.</td><td>700</td></tr><tr><td>derived_midpoint_price</td><td>Derived midpoint SSP price.</td><td>46191</td></tr><tr><td>effective_end_date</td><td>End date of SSP validity.</td><td>2024‑12‑31</td></tr><tr><td>effective_start_date</td><td>Start date of SSP validity.</td><td>2021‑01‑01</td></tr><tr><td>mid_point</td><td>Midpoint percentage range for SSP.</td><td>90</td></tr><tr><td>order_financial_id</td><td>Order Financial ID tied to SSP line.</td><td>OFID_SNOW-1554_AA_1</td></tr><tr><td>ssp_batch_name</td><td>Name of the SSP batch used.</td><td>SSP_16Jan</td></tr><tr><td>ssp_ceiling_percentage</td><td>Max % allowed for SSP range.</td><td>110</td></tr><tr><td>ssp_date</td><td>Date used for selecting SSP record.</td><td>2021‑02‑01</td></tr><tr><td>ssp_expression</td><td>Formula used for SSP (if formula-based).</td><td>null</td></tr><tr><td>ssp_floor_percentage</td><td>Minimum % allowed for SSP range.</td><td>70</td></tr><tr><td>ssp_hierarchy</td><td>SSP hierarchy level used when determining SSP.</td><td>2</td></tr><tr><td>ssp_method</td><td>Source/method used for SSP (Upload / Formula / Override).</td><td>Upload</td></tr><tr><td>ssp_percent</td><td>Final SSP % selected for pricing.</td><td>90</td></tr><tr><td>ssp_policy_name</td><td>SSP policy applied to the line.</td><td>SSP_16Jan</td></tr><tr><td>ssp_transaction_range_identifier</td><td>Indicates which SSP position is used (mid_point / above / below).</td><td>mid_point</td></tr><tr><td>ssp_value_id</td><td>Unique identifier for the SSP value entry.</td><td>1aeece10‑6974‑47de‑a02c‑6a8ecd9c6db3</td></tr><tr><td>ssp_within_range</td><td>Whether value is within SSP policy range.</td><td>TRUE</td></tr><tr><td>term</td><td>Term or duration used for SSP.</td><td>null</td></tr><tr><td>total_list_price</td><td>Total list price for the line.</td><td>1000</td></tr><tr><td>total_sell_price</td><td>Total selling price for the line.</td><td>900</td></tr><tr><td>total_ssp_price</td><td>SSP price assigned to the line.</td><td>900</td></tr><tr><td>transaction_price</td><td>Final transaction price used for revenue allocation.</td><td>900</td></tr><tr><td>value_type</td><td>Pricing type used (Amount / Percent / Range).</td><td>Percent</td></tr><tr><td>total_records</td><td>Total number of SSP records returned.</td><td>1</td></tr></tbody></table>


# Retrieve Revenue Contract Cost Schedules Details

This API is to retrieve the revenue schedules data of order financial IDs from Revenue Contract.

Method - GET

API End Point

```
/apis/recorder/v1/revenue_contract/<RC ID><ofid=>&object=rc_dist_cost&page_number=1&page_size=10
```

Path Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object<br>4. ofid</td><td>1. 1<br>2. 10<br>3. rc_dist_cost<br>4. Order Financial ID For e.g. OFID-001</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-156?ofid=SO_OFID_00All_Cost_AB_1&object=rc_dist_cost&page_number=1&page_size=10
```

* Above sample endpoint will fetch **Cost Schedules Data of Order Financial ID -** SO\_OFID\_00All\_Cost\_AB\_1  **of RC-156 from** RightRev system.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2Fw4l9WaZAN3D2xErPijvz%2Fimage.png?alt=media&amp;token=bd529a21-eea7-4613-8674-45a078dac182" alt=""><figcaption></figcaption></figure></div>

Response

```
{
    "order_financial_id": "SO_OFID_00All_Cost_AB_1",
    "rc_dist": [
        {
            "act_data": {
                "61dc95ee-4421-41ed-8cb9-3bccd4c4f642": {
                    "action": "RELEASE",
                    "allocation_method": null,
                    "amount_functional": 15000,
                    "amount_reporting": 15000,
                    "amount_transactional": 15000,
                    "carves_liability_segment": "1111",
                    "carves_revenue_segment": "2222",
                    "comments": "BOOKING RELEASE",
                    "contractual_liability_segment": "1111",
                    "contractual_revenue_segment": "2222",
                    "corporate_currency": "USD",
                    "corporate_exchange_rate": 1,
                    "deferred_cost_account": null,
                    "file_id": "ed521af9-77cb-4157-9e29-ec9708547241",
                    "formula_value": null,
                    "functional_currency": "USD",
                    "functional_exchange_rate": 1,
                    "percentage": 100,
                    "recognized_cost_account": null,
                    "revenue_contract_version": 1,
                    "revenue_end_date": "2021-06-30",
                    "revenue_start_date": "2021-01-01",
                    "reversal": false,
                    "schedule_type": "Revenue",
                    "transaction_currency": "USD",
                    "trigger_type": "Booking",
                    "triggered_period": "Jan-2021"
                }
            },
            "dist_data": [
                {
                    "069f16ef-4826-4b5c-ba00-1f26a31fa1af": {
                        "account_type": "Contractual Revenue",
                        "drcr_indicator": "CREDIT",
                        "functional_amount": 15000,
                        "journal_run_id": 72,
                        "period": "Jan-2021",
                        "period_number": 1,
                        "recognized_period": "Jan-2021",
                        "transactional_amount": 15000
                    }
                }
            ]
        }
    ],
    "total_records": 1
}
```

**Description of the fields**

<table><thead><tr><th width="273">Field Name</th><th width="518">Description</th><th width="415">Example</th></tr></thead><tbody><tr><td>order_financial_id</td><td>Order Financial ID associated with this RC distribution.</td><td>SO_OFID_00All_Cost_AB_1</td></tr><tr><td>rc_dist</td><td>List of revenue/cost distribution entries for the order.</td><td></td></tr><tr><td>act_data</td><td>Activity-level details for the distribution event.</td><td></td></tr><tr><td>action</td><td>Type of distribution action (e.g., RELEASE, INITIAL ENTRY).</td><td>RELEASE</td></tr><tr><td>allocation_method</td><td>Allocation method used for this distribution.</td><td>null</td></tr><tr><td>amount_functional</td><td>Amount in functional/reporting currency.</td><td>15000</td></tr><tr><td>amount_reporting</td><td>Amount in reporting/corporate currency.</td><td>46046</td></tr><tr><td>amount_transactional</td><td>Amount in transactional currency.</td><td>15000</td></tr><tr><td>carves_liability_segment</td><td>GL segment for carves liability.</td><td>1111</td></tr><tr><td>carves_revenue_segment</td><td>GL segment for carves revenue.</td><td>2222</td></tr><tr><td>comments</td><td>User comments describing the activity.</td><td>BOOKING RELEASE</td></tr><tr><td>contractual_liability_segment</td><td>GL segment for contractual liability.</td><td>1111</td></tr><tr><td>contractual_revenue_segment</td><td>GL segment for contractual revenue.</td><td>2222</td></tr><tr><td>corporate_currency</td><td>Corporate/reporting currency code.</td><td>USD</td></tr><tr><td>corporate_exchange_rate</td><td>Exchange rate used to convert to corporate currency.</td><td>1</td></tr><tr><td>deferred_cost_account</td><td>GL account for deferred cost posting.</td><td>null</td></tr><tr><td>file_id</td><td>Source file ID from which the activity originated.</td><td>ed521af9‑77cb‑4157‑9e29‑ec9708547241</td></tr><tr><td>formula_value</td><td>Value derived from SSP/Carve formula.</td><td>null</td></tr><tr><td>functional_currency</td><td>Functional reporting currency.</td><td>USD</td></tr><tr><td>functional_exchange_rate</td><td>FX rate to convert to functional currency.</td><td>2</td></tr><tr><td>percentage</td><td>Percentage used for revenue/cost release.</td><td>100</td></tr><tr><td>recognized_cost_account</td><td>GL account for recognized cost posting.</td><td>null</td></tr><tr><td>revenue_contract_version</td><td>Version of revenue contract during this entry.</td><td>1</td></tr><tr><td>revenue_end_date</td><td>End date of revenue recognition.</td><td>2021‑06‑30</td></tr><tr><td>revenue_start_date</td><td>Start date of revenue recognition.</td><td>2021‑01‑01</td></tr><tr><td>reversal</td><td>Flag indicating if the entry is a reversal.</td><td>FALSE</td></tr><tr><td>schedule_type</td><td>Type of schedule impacted (Revenue / Cost).</td><td>Revenue</td></tr><tr><td>transaction_currency</td><td>Original transaction currency.</td><td>USD</td></tr><tr><td>trigger_type</td><td>Event that triggered distribution (Booking / Billing).</td><td>Booking</td></tr><tr><td>triggered_period</td><td>Accounting period when activity was triggered.</td><td>Jan‑2021</td></tr><tr><td>dist_data</td><td>Journal distribution lines generated from the activity.</td><td></td></tr><tr><td>account_type</td><td>Type of account impacted by the journal entry.</td><td>Contractual Revenue</td></tr><tr><td>drcr_indicator</td><td>Debit or credit indicator.</td><td>CREDIT</td></tr><tr><td>functional_amount</td><td>Journal amount in functional currency.</td><td>15000</td></tr><tr><td>journal_run_id</td><td>Identifier of journal run posting the entry.</td><td>72</td></tr><tr><td>period</td><td>Accounting period of the journal entry.</td><td>Jan‑2021</td></tr><tr><td>period_number</td><td>Numeric index of the accounting period.</td><td>1</td></tr><tr><td>recognized_period</td><td>Period in which revenue/cost was recognized.</td><td>Jan‑2021</td></tr><tr><td>transactional_amount</td><td>Journal amount in transactional currency.</td><td>15000</td></tr><tr><td>total_records</td><td>Total RC distribution entries returned.</td><td>1</td></tr></tbody></table>


# Revenue Contract - More Actions


# Journal Transfer Hold - RC Level

## Holds Get

> This API is used to retrieve the Journal Transfer Hold on Revenue Contracts.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/holds/v1/{rc_id}":{"get":{"description":"This API is used to retrieve the Journal Transfer Hold on Revenue Contracts.\n","parameters":[{"name":"rc_id","in":"path","required":true,"schema":{"type":"string","title":"Rc Id"},"description":"This is Revenue Contract Number. For e.g. RC-225\n"},{"name":"state","in":"path","required":true,"schema":{"type":"string","title":"state"},"description":"State is status of hold. Supported values are **active** or **released**.\n"}],"responses":{"200":{"description":"Get Holds","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","description":"This will display if any additional information is available. "},"holds_list":{"type":"array","items":{"type":"object","properties":{"applied_by":{"type":"string","description":"User ID of the person who applied the hold."},"applied_comments":{"type":"string","description":"Any comments added by user at the time of applying the hold."},"applied_on":{"type":"string","description":"Date & Timestamp of the hold policy applied on. Timestamp is a unix Epoch timestamp format."},"applied_period":{"type":"string","description":"Period Name for which user has applied the hold on revenue contract."},"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"guid":{"type":"string","description":"A system generated alpha-numeric number"},"hold_name":{"type":"string","description":"Name of the Hold Policy applied on Revenue Contract."},"hold_type":{"type":"string","description":"Type of the hold policy."},"rc_version_when_applied":{"type":"string","description":"Version number of Revenue Contract at the time of applying hold"},"rc_version_when_released":{"type":"string","description":"Version number of Revenue Contract at the time of releasing hold"},"released_by":{"type":"string","description":"User ID of the person who released the hold."},"released_comments":{"type":"string","description":"Any comments added by user at the time of releasing the hold."},"released_file_id":{"type":"string","description":"A system generated alpha-numeric number."},"released_on":{"type":"string","description":"Date & Timestamp of the hold policy released on. Timestamp is a unix Epoch timestamp format."},"released_period":{"type":"string","description":"Period Name for which user has released the hold on revenue contract."},"state":{"type":"string","description":"State is status of hold. It could be applied or released."}},"required":["applied_by","applied_comments","applied_on","applied_period","file_id","guid","hold_name","hold_type","rc_version_when_applied","rc_version_when_released","released_by","released_comments","released_file_id","released_on","released_period","state"]},"description":"This will provide list of all holds applied or released on Revenue Contract."},"request_id":{"type":"null","description":"This is system generated alpha-numeric number."}},"required":["additional_info","holds_list","request_id"]}}}}},"tags":["Holds"],"summary":"Holds Get","operationId":"holds_get_apis_holds_v1__rc_id__get"}}}}
```

## Holds Sfdc

> This API is used to Apply or Release hold on Revenue contracts.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/holds/v1/":{"post":{"description":"This API is used to Apply or Release hold on Revenue contracts.\n","responses":{"200":{"description":"Holds Sfdc","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","description":"This will display the action response. Either success or failure"},"applied_period":{"type":"string","description":"This is name of period in which hold is applied or released."},"status":{"type":"string","description":"This will show the status of action. Either Success or Failure."}},"required":["action","applied_period","status"]},"description":"This will display all the response information of action performed."},"request_id":{"type":"string","description":"A system generated alpha-numeric number."}},"required":["additional_info","request_id"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"holds_spec":{"type":"array","items":{"type":"object","properties":{"hold_type":{"type":"string","description":"This is type of Hold to be applied or released on Revenue Contract"},"comments":{"type":"string","description":"User can add comments to while applying or releasing the hold."},"hold_activity":{"type":"string","description":"This filed supports only two action. **Apply** or **Release**"},"revenue_contract_id":{"type":"string","description":"User need to provide Revenue Contract ID. For e.g. RC-225"},"hold_name":{"type":"string","description":"This is the name of hold policy user want to apply on Revenue Contract."}},"required":["comments","hold_activity","hold_name","hold_type","revenue_contract_id"]},"description":"This are the details associated with Hold Policy."}},"required":["holds_spec"]}}},"required":true},"tags":["Holds"],"summary":"Holds Sfdc","operationId":"holds_sfdc_apis_holds_v1__post"}}}}
```


# Journal Transfer Hold & Event Release Hold - Line Level

Pending Events Hold - GET /apis/line-holds/v1/pending-events\
Not able to find in OPENAPI - Check with Thiyagu

## Line Holds Get

> This API is used to retrieve the Journal Transfer Hold and Event Release hold on transaction lines.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/line-holds/v1/{document_type}/{revenue_contract_id}":{"get":{"description":"This API is used to retrieve the Journal Transfer Hold and Event Release hold on transaction lines.\n","parameters":[{"name":"document_type","in":"path","required":true,"schema":{"type":"string","title":"Document Type"},"description":"To fetch Journal Transfer Hold & Event Release Hold details. Supported value in document type is **journal** and for events holds it is **event**.\n"},{"name":"revenue_contract_id","in":"path","required":true,"schema":{"type":"string","title":"Revenue Contract Id"},"description":"This is Revenue Contract Number. For e.g. RC-225\n"}],"responses":{"200":{"description":"Get Line or Event Holds","content":{"application/json":{"schema":{"type":"object","properties":{"applied":{"type":"array","items":{"type":"string"},"description":"This will display a message as **applied** and in brackets it will display Order Financial IDs from the Revenue Contract on which Event Or Line hold is applied otherwise it will show null."}},"required":["applied"]}}}}},"tags":["Holds"],"summary":"Line Holds Get","operationId":"line_holds_get_apis_line_holds_v1__document_type___revenue_contract_id__get"}}}}
```

## Line Holds

> This API is used to Apply or Release the Journal Transfer Hold and Event Release hold on transaction lines.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/line-holds/v1/{document_type}/{revenue_contract_id}":{"post":{"description":"This API is used to Apply or Release the Journal Transfer Hold and Event Release hold on transaction lines.\n","parameters":[{"name":"document_type","in":"path","required":true,"schema":{"type":"string","title":"Document Type"},"description":"To Apply or Release Journal Transfer Hold or Event Release Hold. Supported value in document type is **journal** and for events holds it is **event**.\n"},{"name":"revenue_contract_id","in":"path","required":true,"schema":{"type":"string","title":"Revenue Contract Id"},"description":"This is Revenue Contract Number. For e.g. RC-225\n"}],"responses":{"200":{"description":"Line Holds","content":{"application/json":{"schema":{"type":"object","properties":{"holds_list":{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"guid":{"type":"string","description":"Order Financial ID."},"state":{"type":"string","description":"It will show me as **success**"}},"required":["file_id","guid","state"]},"description":"It is a list of order financial IDs on which hold is applied or released."}},"required":["holds_list"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"apply":{"type":"array","items":{"type":"string"},"description":"In this field user need to mention Order Financial IDs on transaction lines on which want to apply Journal Transfer Hold or Event Release Hold. Users can Apply or Release hold in same Payload on different Order financial IDs but not on same."},"release":{"type":"array","items":{"type":"string"},"description":"In this field user need to mention Order Financial IDs on transaction lines on which want to release Journal Transfer Hold or Event Release Hold. Users can Apply or Release hold in same Payload on different Order financial IDs but not on same."},"comments":{"type":"string","description":"User can put comment relevant to action they are performing."}},"required":["apply","comments","release"]}}},"required":true},"tags":["Holds"],"summary":"Line Holds","operationId":"line_holds_apis_line_holds_v1__document_type___revenue_contract_id__post"}}}}
```


# Re-Group


# Retrieve Revenue Contract Lines Eligible for Regroup

This API is to retrieve all the revenue contract order lines eligible for regroup to new or existing revenue contract.

Method - GET

API End Point

```
apis/recorder/v1/revenue_contract/<RC id>?object=rc_regroup&page_number=1&page_size=10
```

Query Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object</td><td>1. 1<br>2. 10<br>3. rc_regroup</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-442?object=rc_regroup&page_number=1&page_size=10
```

* Above sample endpoint will fetch 10 records of **Order lines from Revenue Contract No 442** eligible for regroup to another or new revenue contract in RightRev system from page number 1.

Screenshot for reference

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2F8ZRgO3dwVyDlalaRX5hI%2Fimage.png?alt=media&amp;token=05d37af0-4e29-4411-b9a0-f111969ca972" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""rc_regroup"": [
        {
            ""Perf-ORD-01-01"": {
                ""carves_amount"": 0,
                ""carves_eligible"": false,
                ""created_period"": ""Jan-2023"",
                ""cumulative_carves_amount"": 0,
                ""distribution_method"": ""Prorate"",
                ""functional_currency"": ""USD"",
                ""order_date"": ""2023-01-01"",
                ""order_financial_id"": ""Perf-ORD-01-01"",
                ""order_number"": ""Perf-ORD-01"",
                ""product_name"": ""Booking_Prorate"",
                ""revenue_end_date"": ""2023-12-31"",
                ""revenue_planned"": 39000,
                ""revenue_recognized"": 0,
                ""revenue_start_date"": ""2023-01-01"",
                ""revenue_trigger"": ""Booking"",
                ""revenue_unplanned"": 0,
                ""ssp_percent"": null,
                ""total_billed_amount"": 39000,
                ""total_list_price_functional"": 50000,
                ""total_list_price_transactional"": 50000,
                ""total_sell_price_functional"": 39000,
                ""total_sell_price_transactional"": 39000,
                ""transaction_currency"": ""USD""
            }
        },
        {
            ""Perf-ORD-01-02"": {
                ""carves_amount"": 0,
                ""carves_eligible"": false,
                ""created_period"": ""Jan-2023"",
                ""cumulative_carves_amount"": 0,
                ""distribution_method"": ""Prorate"",
                ""functional_currency"": ""USD"",
                ""order_date"": ""2023-01-01"",
                ""order_financial_id"": ""Perf-ORD-01-02"",
                ""order_number"": ""Perf-ORD-01"",
                ""product_name"": ""Billing_Prorate"",
                ""revenue_end_date"": ""2023-12-31"",
                ""revenue_planned"": 51200,
                ""revenue_recognized"": 0,
                ""revenue_start_date"": ""2023-01-01"",
                ""revenue_trigger"": ""Billing"",
                ""revenue_unplanned"": 0,
                ""ssp_percent"": null,
                ""total_billed_amount"": 51200,
                ""total_list_price_functional"": 63500,
                ""total_list_price_transactional"": 63500,
                ""total_sell_price_functional"": 51200,
                ""total_sell_price_transactional"": 51200,
                ""transaction_currency"": ""USD""
            }
        },
        {
            ""Perf-ORD-01-03"": {
                ""carves_amount"": 0,
                ""carves_eligible"": false,
                ""created_period"": ""Jan-2023"",
                ""cumulative_carves_amount"": 0,
                ""distribution_method"": ""Prorate"",
                ""functional_currency"": ""USD"",
                ""order_date"": ""2023-01-01"",
                ""order_financial_id"": ""Perf-ORD-01-03"",
                ""order_number"": ""Perf-ORD-01"",
                ""product_name"": ""Event_Prorate"",
                ""revenue_end_date"": ""2023-12-31"",
                ""revenue_planned"": 31200,
                ""revenue_recognized"": 0,
                ""revenue_start_date"": ""2023-01-01"",
                ""revenue_trigger"": ""User Defined Events"",
                ""revenue_unplanned"": 0,
                ""ssp_percent"": null,
                ""total_billed_amount"": 31200,
                ""total_list_price_functional"": 48200,
                ""total_list_price_transactional"": 48200,
                ""total_sell_price_functional"": 31200,
                ""total_sell_price_transactional"": 31200,
                ""transaction_currency"": ""USD""
            }
        }
    ],
    ""total_records"": 3
}"

```

**Description of the fields**

<table><thead><tr><th width="220">Field Name</th><th width="384">Description</th><th width="191">Example</th></tr></thead><tbody><tr><td>carves_amount</td><td>Carve‑out adjustment amount.</td><td>0</td></tr><tr><td>carves_eligible</td><td>Whether this line eligible for carves allocation or not</td><td>FALSE</td></tr><tr><td>created_period</td><td>Accounting period of creation.</td><td>Jan‑2023</td></tr><tr><td>cumulative_carves_amount</td><td>Total cumulative carves amount</td><td>0</td></tr><tr><td>distribution_method</td><td>Revenue distribution method.</td><td>Prorate</td></tr><tr><td>functional_currency</td><td>Functional currency of the transaction line</td><td>USD</td></tr><tr><td>order_date</td><td>Date of the order</td><td>2023‑01‑01</td></tr><tr><td>order_financial_id</td><td>Unique order financial ID</td><td>Perf‑ORD‑01‑01</td></tr><tr><td>order_number</td><td>Order number</td><td>Perf‑ORD‑01</td></tr><tr><td>product_name</td><td>BName of the product</td><td>Booking_Prorate</td></tr><tr><td>revenue_end_date</td><td>End date of the contract period</td><td>2023‑12‑31</td></tr><tr><td>revenue_planned</td><td>Planned revenue amount.</td><td>39000</td></tr><tr><td>revenue_recognized</td><td>Revenue recognized so far.</td><td>0</td></tr><tr><td>revenue_start_date</td><td>Start date of the contract period</td><td>2023‑01‑01</td></tr><tr><td>revenue_trigger</td><td>Trigger for revenue recognition.</td><td>Booking</td></tr><tr><td>revenue_unplanned</td><td>Unplanned revenue recognized.</td><td>0</td></tr><tr><td>ssp_percent</td><td>SSP allocation percent.</td><td>null</td></tr><tr><td>total_billed_amount</td><td>Billed amount in transactional currency.</td><td>39000</td></tr><tr><td>total_list_price_functional</td><td>List price in functional currency.</td><td>50000</td></tr><tr><td>total_list_price_transactional</td><td>List price in transactional currency.</td><td>50000</td></tr><tr><td>total_sell_price_functional</td><td>Sell price in functional currency.</td><td>39000</td></tr><tr><td>total_sell_price_transactional</td><td>Sell price in transactional currency.</td><td>39000</td></tr><tr><td>transaction_currency</td><td>Transactional currency of the transaction line</td><td>USD</td></tr></tbody></table>


# Perform Re-Group Action

## Regroup

> This API is used to regroup order transaction lines into another existing Revenue Contract or into a new Revenue Contract.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/stamper/v1/rc_regroup/{source_rc_id}":{"post":{"description":"This API is used to regroup order transaction lines into another existing Revenue Contract or into a new Revenue Contract.\n","parameters":[{"name":"source_rc_id","in":"path","required":true,"schema":{"type":"string","title":"Source Rc Id"},"description":"The Source Revenue Contract ID from which user is regrouping the order transaction lines.\n"}],"responses":{"200":{"description":"Regroup","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Message generated after successfully completed regroup action."},"request_id":{"type":"string","description":"A system generated alpha-numeric number."}},"required":["message","request_id"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"source_rc_order_fids":{"type":"array","items":{"type":"string"},"description":"The unique Order Financial IDs of order transaction lines of source Revenue Contract ID user want to regroup."},"comments":{"type":"string","description":"Any relevant comments can be added by user at the time of performing regroup action."},"target_rc":{"type":"string","description":"This is optional field. This can be used when user want to regroup order transaction lines into existing Revenue Contract. If user want to move lines to new contract this field cam be skipped from payload."}},"required":["comments","source_rc_order_fids"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Regroup","operationId":"regroup_apis_stamper_v1_rc_regroup__source_rc_id__post"}}}}
```


# Re-Allocate

## Reallocate

> This API is used to re-allocate Revenue contract into prospective or retrospective allocation method.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/ssp/v1/carves/re-allocate":{"post":{"description":"This API is used to re-allocate Revenue contract into prospective or retrospective allocation method.\n","responses":{"200":{"description":"Reallocation","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"Response Message from the system after performing re-allocation."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rc_id":{"type":"array","items":{"type":"string"},"description":"User need to provide the Revenue Contract ID on which wants to perform Re-Allocation. For e.g. RC-225."},"allocation_method":{"type":"string","description":"User need to provide treatment. This field supports two values. **prospective** **retrospective**."},"comments":{"type":"string","description":"User can provide any relevant comments."}},"required":["allocation_method","comments","rc_id"]}}},"required":true},"tags":["ReGroup ReAllocate"],"summary":"Reallocate","operationId":"reallocate_apis_ssp_v1_carves_re_allocate_post"}}}}
```


# Manual Release/Defer


# Retrieve Revenue Contract Lines Eligible for Manual Release

This API is to retrieve all the revenue contract order lines eligible for manual release of revenue.

Method - GET

API End Point

```
apis/recorder/v1/revenue_contract/<RC id>?object=rc_release&page_number=1&page_size=10
```

Query Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object</td><td>1. 1<br>2. 10<br>3. rc_release</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-442?object=rc_release&page_number=1&page_size=10
```

* Above sample endpoint will fetch 10 records of **Order lines from Revenue Contract No 442** eligible for manual release in RightRev system from page number 1.

Screenshot for reference

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FrC7mgjlwSZQ1VHnvxTkC%2Fimage.png?alt=media&amp;token=e201c049-2726-4f6f-8ff5-cc086b3d6dd2" alt=""><figcaption></figcaption></figure></div>

Response

```
"{
    ""rc_release"": [
        {
            ""Perf-ORD-02-02"": {
                ""carves_amount"": 0,
                ""carves_eligible"": false,
                ""created_period"": ""Jan-2023"",
                ""cumulative_carves_amount"": 0,
                ""distribution_method"": ""Prorate"",
                ""functional_currency"": ""USD"",
                ""order_date"": ""2023-01-01"",
                ""order_financial_id"": ""Perf-ORD-02-02"",
                ""order_number"": ""Perf-ORD-02"",
                ""product_name"": ""Billing_Prorate"",
                ""revenue_end_date"": ""2023-12-31"",
                ""revenue_planned"": 0,
                ""revenue_recognized"": 0,
                ""revenue_start_date"": ""2023-01-01"",
                ""revenue_trigger"": ""Billing"",
                ""revenue_unplanned"": 51200,
                ""ssp_percent"": null,
                ""total_billed_amount"": 0,
                ""total_list_price_functional"": 63500,
                ""total_list_price_transactional"": 63500,
                ""total_sell_price_functional"": 51200,
                ""total_sell_price_transactional"": 51200,
                ""transaction_currency"": ""USD""
            }
        },
        {
            ""Perf-ORD-02-03"": {
                ""carves_amount"": 0,
                ""carves_eligible"": false,
                ""created_period"": ""Jan-2023"",
                ""cumulative_carves_amount"": 0,
                ""distribution_method"": ""Prorate"",
                ""functional_currency"": ""USD"",
                ""order_date"": ""2023-01-01"",
                ""order_financial_id"": ""Perf-ORD-02-03"",
                ""order_number"": ""Perf-ORD-02"",
                ""product_name"": ""Event_Prorate"",
                ""revenue_end_date"": ""2023-12-31"",
                ""revenue_planned"": 0,
                ""revenue_recognized"": 0,
                ""revenue_start_date"": ""2023-01-01"",
                ""revenue_trigger"": ""User Defined Events"",
                ""revenue_unplanned"": 31200,
                ""ssp_percent"": null,
                ""total_billed_amount"": 0,
                ""total_list_price_functional"": 48200,
                ""total_list_price_transactional"": 48200,
                ""total_sell_price_functional"": 31200,
                ""total_sell_price_transactional"": 31200,
                ""transaction_currency"": ""USD""
            }
        }
    ],
    ""total_records"": 2
}"

```

**Description of the fields**

<table><thead><tr><th width="220">Field Name</th><th width="384">Description</th><th width="191">Example</th></tr></thead><tbody><tr><td>carves_amount</td><td>Carve‑out adjustment amount.</td><td>0</td></tr><tr><td>carves_eligible</td><td>Whether this line eligible for carves allocation or not</td><td>FALSE</td></tr><tr><td>created_period</td><td>Accounting period of creation.</td><td>Jan‑2023</td></tr><tr><td>cumulative_carves_amount</td><td>Total cumulative carves amount</td><td>0</td></tr><tr><td>distribution_method</td><td>Revenue distribution method.</td><td>Prorate</td></tr><tr><td>functional_currency</td><td>Functional currency of the transaction line</td><td>USD</td></tr><tr><td>order_date</td><td>Date of the order</td><td>2023‑01‑01</td></tr><tr><td>order_financial_id</td><td>Unique order financial ID</td><td>Perf‑ORD‑01‑01</td></tr><tr><td>order_number</td><td>Order number</td><td>Perf‑ORD‑01</td></tr><tr><td>product_name</td><td>BName of the product</td><td>Booking_Prorate</td></tr><tr><td>revenue_end_date</td><td>End date of the contract period</td><td>2023‑12‑31</td></tr><tr><td>revenue_planned</td><td>Planned revenue amount.</td><td>39000</td></tr><tr><td>revenue_recognized</td><td>Revenue recognized so far.</td><td>0</td></tr><tr><td>revenue_start_date</td><td>Start date of the contract period</td><td>2023‑01‑01</td></tr><tr><td>revenue_trigger</td><td>Trigger for revenue recognition.</td><td>Booking</td></tr><tr><td>revenue_unplanned</td><td>Unplanned revenue recognized.</td><td>0</td></tr><tr><td>ssp_percent</td><td>SSP allocation percent.</td><td>null</td></tr><tr><td>total_billed_amount</td><td>Billed amount in transactional currency.</td><td>39000</td></tr><tr><td>total_list_price_functional</td><td>List price in functional currency.</td><td>50000</td></tr><tr><td>total_list_price_transactional</td><td>List price in transactional currency.</td><td>50000</td></tr><tr><td>total_sell_price_functional</td><td>Sell price in functional currency.</td><td>39000</td></tr><tr><td>total_sell_price_transactional</td><td>Sell price in transactional currency.</td><td>39000</td></tr><tr><td>transaction_currency</td><td>Transactional currency of the transaction line</td><td>USD</td></tr></tbody></table>


# Retrieve Revenue Contract Lines Eligible for Manual Defer

This API is to retrieve all the revenue contract order lines eligible for manual defer of revenue.

Method - GET

API End Point

```
apis/recorder/v1/revenue_contract/<RC id>?object=rc_defer&page_number=1&page_size=10
```

Query Parameters&#x20;

<table><thead><tr><th width="133">Key</th><th>Values</th></tr></thead><tbody><tr><td>1. page<br>2. page_size<br>3. object</td><td>1. 1<br>2. 10<br>3. rc_defer</td></tr></tbody></table>

**Sample API End Point** &#x20;

```
/apis/recorder/v1/revenue_contract/RC-442?object=rc_defer&page_number=1&page_size=10
```

* Above sample endpoint will fetch 10 records of **Order lines from Revenue Contract No 442** eligible for manual defer in RightRev system from page number 1.

Screenshot for reference

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FGAp3RQobLBOdU7F1gNos%2Fimage.png?alt=media&amp;token=ab18a36e-c751-4662-9413-38fb9a093536" alt=""><figcaption></figcaption></figure></div>

Response

```
{
    "rc_defer": [
        {
            "SO_OFID_00AB2": {
                "carves_amount": -1074.48,
                "carves_eligible": true,
                "created_period": "Jan-2021",
                "cumulative_carves_amount": -1074.48,
                "distribution_method": "Daily",
                "functional_currency": "USD",
                "order_date": "2021-01-01",
                "order_financial_id": "SO_OFID_00AB2",
                "order_number": "SO_ON_00AB1",
                "product_name": "Software",
                "revenue_end_date": "2021-12-31",
                "revenue_planned": 3780.31,
                "revenue_recognized": 3718.69,
                "revenue_start_date": "2021-01-01",
                "revenue_trigger": "Billing",
                "revenue_unplanned": 0,
                "ssp_percent": null,
                "total_billed_amount": 7499,
                "total_list_price_functional": 8410,
                "total_list_price_transactional": 8410,
                "total_sell_price_functional": 7499,
                "total_sell_price_transactional": 7499,
                "transaction_currency": "USD"
            }
        },
        {
            "SO_OFID_00AB3": {
                "carves_amount": 1074.48,
                "carves_eligible": true,
                "created_period": "Jan-2021",
                "cumulative_carves_amount": 1074.48,
                "distribution_method": "Daily",
                "functional_currency": "USD",
                "order_date": "2021-01-01",
                "order_financial_id": "SO_OFID_00AB3",
                "order_number": "SO_ON_00AB1",
                "product_name": "Support",
                "revenue_end_date": "2021-12-31",
                "revenue_planned": 302.2,
                "revenue_recognized": 297.2,
                "revenue_start_date": "2021-01-01",
                "revenue_trigger": "Billing",
                "revenue_unplanned": 399.6,
                "ssp_percent": null,
                "total_billed_amount": 999,
                "total_list_price_functional": 3000,
                "total_list_price_transactional": 3000,
                "total_sell_price_functional": 999,
                "total_sell_price_transactional": 999,
                "transaction_currency": "USD"
            }
        }
    ],
    "total_records": 2
}
```

**Description of the fields**

<table><thead><tr><th width="220">Field Name</th><th width="384">Description</th><th width="191">Example</th></tr></thead><tbody><tr><td>carves_amount</td><td>Carve‑out adjustment amount.</td><td>0</td></tr><tr><td>carves_eligible</td><td>Whether this line eligible for carves allocation or not</td><td>FALSE</td></tr><tr><td>created_period</td><td>Accounting period of creation.</td><td>Jan‑2023</td></tr><tr><td>cumulative_carves_amount</td><td>Total cumulative carves amount</td><td>0</td></tr><tr><td>distribution_method</td><td>Revenue distribution method.</td><td>Prorate</td></tr><tr><td>functional_currency</td><td>Functional currency of the transaction line</td><td>USD</td></tr><tr><td>order_date</td><td>Date of the order</td><td>2023‑01‑01</td></tr><tr><td>order_financial_id</td><td>Unique order financial ID</td><td>Perf‑ORD‑01‑01</td></tr><tr><td>order_number</td><td>Order number</td><td>Perf‑ORD‑01</td></tr><tr><td>product_name</td><td>BName of the product</td><td>Booking_Prorate</td></tr><tr><td>revenue_end_date</td><td>End date of the contract period</td><td>2023‑12‑31</td></tr><tr><td>revenue_planned</td><td>Planned revenue amount.</td><td>39000</td></tr><tr><td>revenue_recognized</td><td>Revenue recognized so far.</td><td>0</td></tr><tr><td>revenue_start_date</td><td>Start date of the contract period</td><td>2023‑01‑01</td></tr><tr><td>revenue_trigger</td><td>Trigger for revenue recognition.</td><td>Booking</td></tr><tr><td>revenue_unplanned</td><td>Unplanned revenue recognized.</td><td>0</td></tr><tr><td>ssp_percent</td><td>SSP allocation percent.</td><td>null</td></tr><tr><td>total_billed_amount</td><td>Billed amount in transactional currency.</td><td>39000</td></tr><tr><td>total_list_price_functional</td><td>List price in functional currency.</td><td>50000</td></tr><tr><td>total_list_price_transactional</td><td>List price in transactional currency.</td><td>50000</td></tr><tr><td>total_sell_price_functional</td><td>Sell price in functional currency.</td><td>39000</td></tr><tr><td>total_sell_price_transactional</td><td>Sell price in transactional currency.</td><td>39000</td></tr><tr><td>transaction_currency</td><td>Transactional currency of the transaction line</td><td>USD</td></tr></tbody></table>


# Perform Manual Release/Defer

## Manual Events

> This API is used to manually RELEASE or DEFER revenue on transaction lines.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/manualevents/v1/manualevents":{"post":{"description":"This API is used to manually RELEASE or DEFER revenue on transaction lines.\n","responses":{"200":{"description":"Release/Defer Revenue","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."}},"required":["file_id"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"RC-2":{"type":"array","items":{"type":"object","properties":{"event_name":{"type":"string","description":"The name of Manual Event and method used. For e.g. - MANUAL_EVENTS_AMOUNT/PERCENTAGE "},"action_for":{"type":"string","description":"This field describes action of release or defer for Revenue"},"action":{"type":"string","description":"Action of **defer** or **release**"},"amount":{"type":"string","description":"If user release/defer using amount then specify the amount. For e.g. $100"},"order_financial_ids":{"type":"array","items":{"type":"string"},"description":"This is the unique identifier for order transaction lines."},"start_date":{"type":"string","description":"The revenue start date from which user want to start release/defer revenue."},"end_date":{"type":"string","description":"The revenue end date on which user want to end release/defer revenue."},"gl_account":{"type":"string","description":"General Ledger Account Codes"},"user_comments":{"type":"string","description":"Any comments user want at the time of performing this action."},"percentage":{"type":"string","description":"If user release/defer using percentage then specify the percentage. For e.g. 15%"},"remaining_balance":{"type":"boolean","description":"If user release/defer remaining balance of revenue then select this method."}},"required":["action","action_for","amount","end_date","event_name","gl_account","order_financial_ids","start_date","user_comments"]},"description":" Revenue Contract ID on which this manual release/defer action is performed "}},"required":["Revenue contract ID"]}}},"required":true},"tags":["Manual Events"],"summary":"Manual Events","operationId":"manual_events_apis_manualevents_v1_manualevents_post"}}}}
```


# Edit Lines

## Edit Order Lines

> This API is used to edit custom fields data on revenue contract lines.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/genie/v1/edit-order-lines":{"patch":{"description":"This API is used to edit custom fields data on revenue contract lines.\n","responses":{"200":{"description":"Edit Custom Fields on Order Lines","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."}},"required":["message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rc_id":{"type":"string","description":"Provide revenue contract ID"},"edit_comments":{"type":"string","description":"provide comments to be added for edit lines"},"line_edits":{"type":"object","properties":{"OID00021":{"type":"object","properties":{"new_value":{"type":"object","properties":{"custom_string_field":{"type":"string","description":"Name of the custom field"}},"required":["custom_string_field"],"description":"New value to be updated for custom field"},"old_value":{"type":"object","properties":{"custom_string_field":{"type":"string","description":"Name of the custom field"}},"required":["custom_string_field"],"description":"Old value of custom field"}},"required":["new_value","old_value"],"description":"Description of Order Financial ID"}},"required":["OID00021"],"description":"Description of Old & New value on line edit."}},"required":["edit_comments","line_edits","rc_id"]}}},"required":true},"tags":["Transactions"],"summary":"Edit Order Lines","operationId":"edit_order_lines_apis_genie_v1_edit_order_lines_patch"}}}}
```


# Supporting Documents

## Get Supporting Docs List

> \- This API is to retrieve the file details of supporting document uploaded in Revenue Contract or Manual journal Entry.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/lov/{doc_type}/{doc_id}":{"get":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is the type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry.\n"}],"responses":{"200":{"description":"Get Supporting document list","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"file_name":{"type":"string","description":"Name and type of the file uploaded as supporting document."},"file_size":{"type":"number","description":"Size of the supporting document file uploaded."},"last_modified":{"type":"string","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"user_name":{"type":"string","description":"Name of the user who uploaded supporting document file."},"doc_type":{"type":"string","description":"Type of the document uploaded for. Is it supporting document for RC or MJE."},"doc_id":{"type":"string","description":"Revenue contract or MJE number."}},"required":["doc_id","doc_type","file_name","file_size","last_modified","user_name"]}}}}}},"description":"- This API is to retrieve the file details of supporting document uploaded in Revenue Contract or Manual journal Entry.\n","tags":["Supporting Docs"],"summary":"Get Supporting Docs List","operationId":"get_supporting_docs_list_apis_supporting_doc_v1_lov__doc_type___doc_id__get"}}}}
```

## Upload Supporting Doc

> \- This API is to upload the supporting document file in Revenue Contract or Manual journal Entry. \
> \- User can upload multiple type of files -  pdf, doc, docx, xls, xlsx, txt, rtf, odt, ods, csv, html, htm, md, xml, jpg, jpeg, png.\
> \- The Supporting Documents feature is available only to users with the Sysadmin and Revenue Manager roles.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/":{"post":{"responses":{"200":{"description":"Upload Supporting document","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"System generated message on file upload."}},"required":["message"]}}}}},"description":"- This API is to upload the supporting document file in Revenue Contract or Manual journal Entry. \n- User can upload multiple type of files -  pdf, doc, docx, xls, xlsx, txt, rtf, odt, ods, csv, html, htm, md, xml, jpg, jpeg, png.\n- The Supporting Documents feature is available only to users with the Sysadmin and Revenue Manager roles.\n","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"Attach Supporting document file."}},"required":["file"]}}},"required":true},"tags":["Supporting Docs"],"summary":"Upload Supporting Doc","operationId":"upload_supporting_doc_apis_supporting_doc_v1__post"}}}}
```

## Download Supporting Doc

> \- This API is to retrieve the supporting document file uploaded in Revenue Contract or Manual journal Entry.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/{doc_type}/{doc_id}/{file_name}":{"get":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry.\n"},{"name":"file_name","in":"path","required":true,"schema":{"type":"string","title":"File Name"},"description":"This is the name of supporting document file user want to download.\n"}],"responses":{"200":{"description":"Download Supporting document","content":{"application/json":{"schema":{}}}}},"description":"- This API is to retrieve the supporting document file uploaded in Revenue Contract or Manual journal Entry.\n","tags":["Supporting Docs"],"summary":"Download Supporting Doc","operationId":"download_supporting_doc_apis_supporting_doc_v1__doc_type___doc_id___file_name__get"}}}}
```

## Delete Supporting Doc

> \- This API is to delete the supporting document uploaded in Revenue Contract or Manual journal Entry.\
> \- Only the file owner (the user who uploaded the file) can delete their own files.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/{doc_type}/{doc_id}/{file_name}":{"delete":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry. \n"},{"name":"file_name","in":"path","required":true,"schema":{"type":"string","title":"File Name"},"description":"This is the name of supporting document file user want to delete.\n"}],"responses":{"200":{"description":"Delete Supporting document","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Display system generates message on delete action."}},"required":["message"]}}}}},"description":"- This API is to delete the supporting document uploaded in Revenue Contract or Manual journal Entry.\n- Only the file owner (the user who uploaded the file) can delete their own files.\n","tags":["Supporting Docs"],"summary":"Delete Supporting Doc","operationId":"delete_supporting_doc_apis_supporting_doc_v1__doc_type___doc_id___file_name__delete"}}}}
```


# Platform

In Platform, users can view the error transactions and configured outbound app registries

* [Error Transactions](/rightrev-rest-api/platform/error-transactions)
* [Outbound App Registry](/rightrev-rest-api/platform/outbound-app-registry)


# Error Transactions

The Error Transactions Details feature is powered by a single API endpoint. This endpoint supports multiple actions, each controlled through specific filters in the payload. Depending on the selected filter, the API will return the corresponding dataset.

This design allows you to interact with various parts of the Error Transactions using one consistent endpoint while simply adjusting the request filters.

<table><thead><tr><th width="62">#</th><th width="250">Functionality/ Fetaure</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td><a href="/rightrev-rest-api/platform/error-transactions/retrieve-error-transactions">Retrieve Error Transactions</a></td><td>This API retrieves a filtered list of remediable or discarded error transactions (orders, invoices, events, or MJEs) based on the criteria provided in the request payload.</td></tr><tr><td>2</td><td><a href="/rightrev-rest-api/platform/error-transactions/reprocess-error-transactions">Reprocess Error Transactions</a></td><td>This API Reprocess the Remediable orders/invoices/events transactions rejected by the system due to some exceptions</td></tr></tbody></table>


# Retrieve Error Transactions

This API retrieves a filtered list of remediable or discarded error transactions (orders, invoices, events, or MJEs) based on the criteria provided in the request payload.

Method - POST

API End Point

```
/apis/errortransactions/v1/
```

**Payload**&#x20;

```
  { "transaction_type": "order", 
    "error_warning_type": "remediable",
    "error_warning_code": "ERR-00015", 
    "error_request_id": "95847f5d-44d9-4da4-bc29-cb6f886704e2", 
    "financial_id": "SO_OFID_SNOW_1310_AE_87", 
    "error_from_date": "2025-07-31", 
    "error_to_date": "2025-12-06"
    "legal_entity" : "LE_18"
    }
```

* NOTE: The API for fetching Remediable and Discarded Error Transactions supports multiple request parameters. All fields provided in the request payload function as filters to narrow down the error records returned in the response.\
  This design allows customers to retrieve only the relevant error transactions based on their operational or audit needs, without requiring all fields to be mandatorily populated.

**Screenshot for reference**

<div data-with-frame="true"><figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FN4odjG6qAYUcSCeXAqXv%2Fimage.png?alt=media&amp;token=344340eb-6199-4094-bc9b-7c842b9dbb49" alt=""><figcaption></figcaption></figure></div>

Response

```
[
    {
        "compliance_id": "8147084f-9246-49ac-ba3b-771e190e0d7e",
        "compliance_name": "error_transactions",
        "compliance_spec": [
            {
                "bg_run_id": "pi-snow-kri##123366a5-832e-49b3-b8a5-8b89aeec1455",
                "document_details": {
                    "BUNDLE_CONFIG_KEY": "",
                    "Cost_Amount": "",
                    "Deferred_Cost_Account": "",
                    "Recognized_Cost_Account": "",
                    "amendment_reason": "New",
                    "billing_revenue_accrual": false,
                    "carves_eligible": true,
                    "carves_liability_segment": "1111",
                    "carves_revenue_segment": "2222",
                    "contract_liability_segment": "1111",
                    "contract_revenue_segment": "2222",
                    "customer_id": "No Revenue Rule",
                    "customer_name": "KJ_SNOW_1310",
                    "discount_amount": "",
                    "discount_percent": "",
                    "functional_currency": "USD",
                    "functional_exchange_rate": "1",
                    "global_currency": "USD",
                    "global_exchange_rate": "1",
                    "legal_entity": "LE_14",
                    "order_date": "01/01/2021",
                    "order_financial_id": "SO_OFID_SNOW_1310_AE_87",
                    "order_number": "SO_ON_SNOW_1310_AE_1",
                    "order_quantity": "1",
                    "parent_order_reference": "",
                    "po_number": "",
                    "product_id": "",
                    "product_name": "Product_Event_AA",
                    "revenue_end_date": "06/30/2021",
                    "revenue_start_date": "01/01/2021",
                    "source_system": "SFDC",
                    "ssp_date": "",
                    "total_list_price": "14500",
                    "total_sell_price": "11000",
                    "transaction_currency": "USD",
                    "transaction_type": "Order",
                    "unit_list_price": "",
                    "unit_sell_price": "",
                    "usage_bookings": false
                },
                "document_identifier": "SO_OFID_SNOW_1310_AE_87",
                "error_date": "2025-07-31",
                "error_id": "97446309-a14a-4769-bddd-88bb69954996",
                "error_warning_code": "ERR-00015",
                "error_warning_field": "REVENUE_RULE_GUID",
                "error_warning_message": "No valid Revenue Rule Policy available in the system",
                "error_warning_type": "remediable",
                "request_id": "95847f5d-44d9-4da4-bc29-cb6f886704e2",
                "suggestions": "Check and create appropriate revenue rule policy and try re-processing",
                "transaction_type": "ORDER"
            }
        ],
        "total_records": "1"
    }
]
```

**Payload fields description**

<table><thead><tr><th width="176">Field Name</th><th width="490">Description</th><th width="227">Example</th></tr></thead><tbody><tr><td>transaction_type</td><td>Indicates the type of transaction for which error records are requested.<br>Supported values are order, invoice, event, and mje.<br>This is a mandatory field.</td><td>order</td></tr><tr><td>error_warning_type</td><td>Specifies the category of the error. remediable – errors that can be corrected and reprocessed. discarded – errors that resulted in transaction rejection.<br>Supported values are remediable or discarded</td><td>remediable</td></tr><tr><td>error_warning_code</td><td>Unique code representing the specific error condition encountered during processing.</td><td>ERR_00015</td></tr><tr><td>error_request_id</td><td>Unique identifier assigned to the error occurrence for tracking and audit purposes.<br>This is the request ID of transaction file processed for collection</td><td>95847f5d-44d9-4da4-bc29-cb6f886704e2</td></tr><tr><td>financial_id</td><td>Unique identifier of the impacted transaction.<br>This can be an order financial ID or bill financial ID depending on the transaction type.</td><td>GL_Int_RR600.01.01</td></tr><tr><td>error_from_date</td><td>Start date of the date range for which error transactions should be fetched. Format: YYYY-MM-DD.</td><td>2025-01-05</td></tr><tr><td>error_to_date</td><td>End date of the date range for which error transactions should be fetched. Format: YYYY-MM-DD.</td><td>2025-02-05</td></tr><tr><td>legal_entity</td><td>Users can retrieve error transactions by applying a legal entity filter, which returns errors specific to the selected legal entity.</td><td>LE_01</td></tr></tbody></table>


# Reprocess Error Transactions

This API Reprocess the Remediable orders/invoices/events transactions rejected by the system due to some exceptions

Method - POST

API End Point

```
apis/errortransactions/v1/reprocess
```

**Payload**&#x20;

```
 {
  "operation_name" : "reprocess",
  "error_ids" : [ "1a347017-2025-46b6-87b9-e69305bf053f" ]
}

```

{% hint style="info" %}
**Note:** For reprocessing multiple errors, we can provide Error Ids as comma seperated in the payload.\
Example -\
\
{"operation\_name" : "reprocess",\
"error\_ids" : \[ "1a347017-2025-46b6-87b9-e69305bf053f","1a347017-9999-8888-87b9-e69305bf053f","77777017-7777-8888-87b9-e69305bf053f" ]}
{% endhint %}

**Screenshot for reference**

<figure><img src="https://3364757261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F193S0RVwbPrcp6u9CoPJ%2Fuploads%2FIKSFHs4rGV92kv5YLHEg%2Fimage.png?alt=media&amp;token=f49c7b61-cf75-484d-95ef-213959656172" alt=""><figcaption></figcaption></figure>

Response

```
{"message"": ""Reprocess Successfully Submitted"}
```


# Outbound App Registry

## Get Outbound Integration Application Names

> \- This API is to retrieve the details of Outbound App Registry configuration fields.\
> \- RightRev supports NetSuite(NS), Microsoft Dynamics 365 (D365), SAGE, Rillets(Ri) and QuickBooks Online (QBO) GL Integraion systems. <br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-name":{"get":{"description":"- This API is to retrieve the details of Outbound App Registry configuration fields.\n- RightRev supports NetSuite(NS), Microsoft Dynamics 365 (D365), SAGE, Rillets(Ri) and QuickBooks Online (QBO) GL Integraion systems. \n","responses":{"200":{"description":"Get OutboundIntegration Application Names","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"app_registry_fields":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Unique key used internally to identify the field in the system."},"label":{"type":"string","description":"User-friendly display name shown in the UI for the field."},"sequence_no":{"type":"integer","description":"Defines the display order of the field in the form or layout."},"type":{"type":"string","description":"Specifies the input type of the field (e.g., text) that determines how it is rendered in the UI"}},"required":["code","label","sequence_no","type"]},"description":"Configuration element that defines the properties and metadata of a field required for integrating with an external application."},"application_desc":{"type":"string","description":"Description of the GL Integration system (Outbound registry application)"},"application_name":{"type":"string","description":"Name of the GL Integration system (Outbound registry application)"}},"required":["app_registry_fields","application_desc","application_name"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_id","compliance_name","compliance_spec"]}}}}}},"tags":["Outbound Integration"],"summary":"Get Outbound Integration Application Names","operationId":"get_outbound_integration_application_names_apis_outbound_integration_v1_application_name_get"}}}}
```

## Post Outbound Integration Application Registry

> This API is to retrieve the details of application level fields, the status of connection for all configured GL Integration systems.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-registry-list":{"post":{"description":"This API is to retrieve the details of application level fields, the status of connection for all configured GL Integration systems.\n","responses":{"200":{"description":"Get OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the the respective GL Integration System is Active or not. If set to True, the GL Integration System is Active; if false, it's Inactive."},"application_desc":{"type":"string","description":"Description of the GL Integration system (Outbound registry application)"},"application_name":{"type":"string","description":"Name of the GL Integration system (Outbound registry application)"},"details":{"type":"object","properties":{"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application) "}},"required":["user_name"],"description":"Details of the test connection"},"test_connection_error":{"type":"null","description":"Captures error details if the connection test fails; null indicates no error occurred."},"test_connection_status":{"type":"string","description":"Indicates the result of the connection test (e.g., SUCCESS or FAILURE)."},"test_connection_timestamp_utc":{"type":"string","description":"Stores the date and time (in UTC) when the connection test was executed."}},"required":["active","application_desc","application_name","details","test_connection_error","test_connection_status","test_connection_timestamp_utc"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"total_records":{"type":"integer","description":"Total no of records."}},"required":["compliance_id","compliance_name","compliance_spec","total_records"]}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":true},"tags":["Outbound Integration"],"summary":"Post Outbound Integration Application Registry","operationId":"post_outbound_integration_application_registry_apis_outbound_integration_v1_application_registry_list_post"}}}}
```

## Post Outbound Integration Application Registry

> \- This API is used to configure Outbound app registry.\
> \- RightRev supports NetSuite(NS), Microsoft Dynamics 365 (D365), SAGE, Rillets(Ri) and QuickBooks Online (QBO) GL Integraion systems.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-registry":{"post":{"description":"- This API is used to configure Outbound app registry.\n- RightRev supports NetSuite(NS), Microsoft Dynamics 365 (D365), SAGE, Rillets(Ri) and QuickBooks Online (QBO) GL Integraion systems.\n","responses":{"200":{"description":"Create OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":" A system-generated compliance ID on configuring the Outbound app registry."},"compliance_name":{"type":"string","description":"Name of the Policy."},"compliance_spec":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the outbound integration app is Active or not. If set to True, the policy is Active; if false, it's Inactive."},"application_desc":{"type":"string","description":"Description of the Outbound App registry"},"application_name":{"type":"string","description":"Name of the Outbound App registry"},"details":{"type":"object","properties":{"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"}},"required":["user_name"],"description":"Details of the test connection"},"test_connection_error":{"type":"null","description":"Captures error details if the connection test fails; null indicates no error occurred."},"test_connection_status":{"type":"string","description":"Indicates the result of the connection test (e.g., SUCCESS or FAILURE)."},"test_connection_timestamp_utc":{"type":"string","description":"Stores the date and time (in UTC) when the connection test was executed."}},"required":["active","application_desc","application_name","details","test_connection_error","test_connection_status","test_connection_timestamp_utc"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"message":{"type":"string","description":"Success or failure message on configuration of the outbound app registry."},"object_unique_value":{"type":"string","description":"Name of the Outbound App Registry."}},"required":["compliance_id","compliance_name","compliance_spec","message","object_unique_value"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"object","properties":{"application_name":{"type":"string","description":"Name of the Outbound app registry."},"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"},"client_id":{"type":"string","description":"Unique identifier provided by the application for API authentication."},"client_secret":{"type":"string","description":"Secret key associated with the client ID used for secure authentication."},"copy_map_fields_from_last_version":{"type":"boolean","description":"This boolean if marked as TRUE field will copy all field mapping details from the previous version."}},"required":["application_name","client_id","client_secret","copy_map_fields_from_last_version","user_name"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","user_name"]}}},"required":true},"tags":["Outbound Integration"],"summary":"Post Outbound Integration Application Registry","operationId":"post_outbound_integration_application_registry_apis_outbound_integration_v1_application_registry_post"}}}}
```

## Post Outbound Integration Test Connection

> This API is to check the status of connection of the configured GL Integration systems.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-test-connection":{"post":{"description":"This API is to check the status of connection of the configured GL Integration systems.\n","responses":{"200":{"description":"Get OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"object","description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"message":{"type":"string","description":"Success or failure message on checking test connection."}},"required":["compliance_id","compliance_name","compliance_spec","message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"object_unique_value":{"type":"string","description":"name of the GL Integration system (Outbound App Registry)"}},"required":["object_unique_value"]}}},"required":true},"tags":["Outbound Integration"],"summary":"Post Outbound Integration Test Connection","operationId":"post_outbound_integration_test_connection_apis_outbound_integration_v1_application_test_connection_post"}}}}
```

## Get Outbound Integration Entity Field Mapping

> This API is to retrieve the field mapping details between Source System (RightRev) & Traget system (GL Integration system)<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/entity-field-mapping/{integration_app_name}/{entity_name}":{"get":{"parameters":[{"name":"integration_app_name","in":"path","required":true,"schema":{"type":"string","title":"Integration App Name"},"description":"Name of the GL Integration system.\n"},{"name":"entity_name","in":"path","required":true,"schema":{"type":"string","title":"Entity Name"},"description":"entity name will be - JOURNAL_ENTRY\n"}],"responses":{"200":{"description":"Get Outbound Integration Application Registry By ID","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve Outbound Integration Application Registryfiled mapping details "},"compliance_name":{"type":"string","description":"Name of the policy"},"compliance_spec":{"type":"object","properties":{"entity_field_mapping":{"type":"array","items":{"type":"object","properties":{"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"node_type":{"type":"string","description":"Node types are - ARRAY_ITEM or ROOT."},"sequence_no":{"type":"integer","description":"Defines the display order of the field in the form or layout."},"source_field":{"type":"array","items":{"type":"string"},"description":"This is the field data coming from RightRev system."},"source_field_type":{"type":"string","description":"FIELD OR CONSTANT. And for CONSTANT user can't configure transaformation rule."},"target_field_path":{"type":"string","description":"This is where the data is going in the target GL Integration system "},"target_field_type":{"type":"string","description":"Target field types define the data type expected by the GL Integration system for each mapped field."},"transformation_rule":{"type":"string","description":"This field is used to pick dynamic values from source data and convert it as required by GL systems by using transaformation rule."}},"required":["is_user_defined","node_type","sequence_no","source_field","source_field_type","target_field_path","target_field_type"]},"description":"Filed mapping for journal entry"},"entity_name":{"type":"string","description":"This will be JOURNAL_ENTRY"},"integration_app_name":{"type":"string","description":"Name of GL Integration system."},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"}},"required":["entity_field_mapping","entity_name","integration_app_name","updated_at","updated_by"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"source_fields":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Unique key used internally to identify the field in the system."},"label":{"type":"string","description":"User-friendly display name shown in the UI for the field."}},"required":["code","label"]},"description":"This is the field data coming from RightRev system."}},"required":["compliance_id","compliance_name","compliance_spec","source_fields"]}}}}}},"description":"This API is to retrieve the field mapping details between Source System (RightRev) & Traget system (GL Integration system)\n","tags":["Outbound Integration"],"summary":"Get Outbound Integration Entity Field Mapping","operationId":"get_outbound_integration_entity_field_mapping_apis_outbound_integration_v1_entity_field_mapping__integration_app_name___entity_name__get"}}}}
```

## Update Outbound Integration Entity Field Mapping

> This API is to update the field mapping details between Source System (RightRev) & Traget system (GL Integration system)<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/entity-field-mapping/{integration_app_name}/{entity_name}":{"put":{"parameters":[{"name":"integration_app_name","in":"path","required":true,"schema":{"type":"string","title":"Integration App Name"},"description":"Name of the GL Integration system.\n"},{"name":"entity_name","in":"path","required":true,"schema":{"type":"string","title":"Entity Name"},"description":"Entity name will be - JOURNAL_ENTRY\n"}],"responses":{"200":{"description":"Update OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to update Outbound Integration Application Registryfiled mapping details"},"compliance_name":{"type":"string","description":"Name of the policy"},"compliance_spec":{"type":"object","description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"message":{"type":"string","description":"Success or failure message on updating the mapping details."}},"required":["compliance_id","compliance_name","compliance_spec","message"]}}}}},"description":"This API is to update the field mapping details between Source System (RightRev) & Traget system (GL Integration system)\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"object","properties":{"integration_app_name":{"type":"string","description":"Name of the GL integration system"},"entity_name":{"type":"string","description":"This will be JOURNAL_ENTRY"},"entity_field_mapping":{"type":"array","items":{"type":"object","properties":{"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"node_type":{"type":"string","description":"Node types are - ARRAY_ITEM or ROOT."},"sequence_no":{"type":"integer","description":"Defines the display order of the field in the form or layout."},"source_field":{"type":"array","items":{"type":"string"},"description":"This is the field data coming from RightRev system."},"source_field_type":{"type":"string","description":"FIELD OR CONSTANT. And for CONSTANT user can't configure transaformation rule."},"target_field_path":{"type":"string","description":"This is where the data is going in the target GL Integration system"},"target_field_type":{"type":"string","description":"Target field types define the data type expected by the GL Integration system for each mapped field."},"transformation_rule":{"type":"string","description":"This field is used to pick dynamic values from source data and convert it as required by GL systems by using transaformation rule."}},"required":["is_user_defined","node_type","sequence_no","source_field","source_field_type","target_field_path","target_field_type"]},"description":"Field mapping for journal entry"}},"required":["entity_field_mapping","entity_name","integration_app_name"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_spec"]}}},"required":true},"tags":["Outbound Integration"],"summary":"Update Outbound Integration Entity Field Mapping","operationId":"update_outbound_integration_entity_field_mapping_apis_outbound_integration_v1_entity_field_mapping__integration_app_name___entity_name__put"}}}}
```

## Update Outbound Integration Entity Field Mapping

> This API is used to configurte fist time the field mapping details between Source System (RightRev) & Traget system (GL Integration system)<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/entity-field-mapping/{integration_app_name}/{entity_name}":{"post":{"parameters":[{"name":"integration_app_name","in":"path","required":true,"schema":{"type":"string","title":"Integration App Name"},"description":"Name of the GL Integration system.\n"},{"name":"entity_name","in":"path","required":true,"schema":{"type":"string","title":"Entity Name"},"description":"Entity name will be - JOURNAL_ENTRY\n"}],"responses":{"200":{"description":"Configure first time OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to configure Outbound Integration Application Registryfiled mapping details"},"compliance_name":{"type":"string","description":"Name of the policy"},"compliance_spec":{"type":"object","description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"message":{"type":"string","description":"Success or failure message on updating the mapping details."}},"required":["compliance_id","compliance_name","compliance_spec","message"]}}}}},"description":"This API is used to configurte fist time the field mapping details between Source System (RightRev) & Traget system (GL Integration system)\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"compliance_spec":{"type":"object","properties":{"integration_app_name":{"type":"string","description":"Name of the GL integration system"},"entity_name":{"type":"string","description":"This will be JOURNAL_ENTRY"},"entity_field_mapping":{"type":"array","items":{"type":"object","properties":{"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"node_type":{"type":"string","description":"Node types are - ARRAY_ITEM or ROOT."},"sequence_no":{"type":"integer","description":"Defines the display order of the field in the form or layout."},"source_field":{"type":"array","items":{"type":"string"},"description":"This is the field data coming from RightRev system."},"source_field_type":{"type":"string","description":"FIELD OR CONSTANT. And for CONSTANT user can't configure transaformation rule."},"target_field_path":{"type":"string","description":"This is where the data is going in the target GL Integration system"},"target_field_type":{"type":"string","description":"Target field types define the data type expected by the GL Integration system for each mapped field."},"transformation_rule":{"type":"string","description":"This field is used to pick dynamic values from source data and convert it as required by GL systems by using transaformation rule."}},"required":["is_user_defined","node_type","sequence_no","source_field","source_field_type","target_field_path","target_field_type"]},"description":"Field mapping for journal entry"}},"required":["entity_field_mapping","entity_name","integration_app_name"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_spec"]}}},"required":true},"tags":["Outbound Integration"],"summary":"Update Outbound Integration Entity Field Mapping","operationId":"update_outbound_integration_entity_field_mapping_apis_outbound_integration_v1_entity_field_mapping__integration_app_name___entity_name__post"}}}}
```

## Get Outbound Integration Application Registry

> This API is to retrieve the OutboundIntegration Application Registry details by ID<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-registry/{object_unique_value}":{"get":{"description":"This API is to retrieve the OutboundIntegration Application Registry details by ID\n","parameters":[{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"- Abbreviated names of Outbound App Registries \n- User can provide values provided below in brackets for respective GL systems\n- NetSuite, Microsoft Dynamics 365 (D365), SAGE Intact (SAGE), Rillets(Ri) and QuickBooks Online (QBO)\n"}],"responses":{"200":{"description":"Get OutboundIntegration Application Registry By ID","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"compliance_name":{"type":"string","description":"Name of the policy."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the the respective GL Integration System is Active or not. If set to True, the GL Integration System is Active; if false, it's Inactive."},"application_desc":{"type":"string","description":"Description of the GL Integration system (Outbound registry application)"},"application_name":{"type":"string","description":"Name of the GL Integration system (Outbound registry application)"},"details":{"type":"object","properties":{"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"}},"required":["user_name"],"description":"Details of the test connection"},"test_connection_error":{"type":"null","description":"Captures error details if the connection test fails; null indicates no error occurred."},"test_connection_status":{"type":"string","description":"Indicates the result of the connection test (e.g., SUCCESS or FAILURE)."},"test_connection_timestamp_utc":{"type":"string","description":"Stores the date and time (in UTC) when the connection test was executed."}},"required":["active","application_desc","application_name","details","test_connection_error","test_connection_status","test_connection_timestamp_utc"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"total_records":{"type":"integer","description":"Total no of records."}},"required":["compliance_id","compliance_name","compliance_spec","total_records"]}}}}}},"tags":["Outbound Integration"],"summary":"Get Outbound Integration Application Registry","operationId":"get_outbound_integration_application_registry_apis_outbound_integration_v1_application_registry__object_unique_value__get"}}}}
```

## Update Outbound Integration Application Registry

> This API is to update the OutboundIntegration Application Registry details by ID<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-registry/{object_unique_value}":{"post":{"parameters":[{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"- Abbreviated names of Outbound App Registries \n- User can provide values provided below in brackets for respective GL systems\n- NetSuite, Microsoft Dynamics 365 (D365), SAGE Intact (SAGE), Rillets(Ri) and QuickBooks Online (QBO)\n"}],"responses":{"200":{"description":"Update OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy."},"compliance_name":{"type":"string","description":"Name of the policy"},"compliance_spec":{"type":"object","properties":{"active":{"type":"boolean","description":"A boolean field indicating whether the the respective GL Integration System is Active or not. If set to True, the GL Integration System is Active; if false, it's Inactive."},"application_desc":{"type":"string","description":"Description of the GL Integration system (Outbound registry application)"},"application_name":{"type":"string","description":"Name of the GL Integration system (Outbound registry application)"},"details":{"type":"object","properties":{"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"}},"required":["user_name"],"description":"Details of the test connection"},"test_connection_error":{"type":"null","description":"Captures error details if the connection test fails; null indicates no error occurred."},"test_connection_status":{"type":"string","description":"Indicates the result of the connection test (e.g., SUCCESS or FAILURE)."},"test_connection_timestamp_utc":{"type":"string","description":"Stores the date and time (in UTC) when the connection test was executed."}},"required":["active","application_desc","application_name","details","test_connection_error","test_connection_status","test_connection_timestamp_utc"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"message":{"type":"string","description":"Success or failure message on updating the GL Integration system details."},"object_unique_value":{"type":"string","description":"Abbreviated name of the Outbound app regsitry."}},"required":["compliance_id","compliance_name","compliance_spec","message","object_unique_value"]}}}}},"description":"This API is to update the OutboundIntegration Application Registry details by ID\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user_name":{"type":"string","description":"Id of the user updating the policy."},"compliance_name":{"type":"string","description":"Name of the policy por GL integration system."},"compliance_spec":{"type":"object","properties":{"application_name":{"type":"string","description":"Name of the GL Integration system (Outbound registry application)"},"user_name":{"type":"string","description":"User ID of the GL Integration system (Outbound registry application)"}},"required":["application_name","user_name"],"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","user_name"]}}},"required":true},"tags":["Outbound Integration"],"summary":"Update Outbound Integration Application Registry","operationId":"update_outbound_integration_application_registry_apis_outbound_integration_v1_application_registry__object_unique_value__post"}}}}
```

## Delete Outbound Integration Application Registry

> This API is to delete the Outbound Integration Application Registry details by ID<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/outbound_integration/v1/application-registry/{object_unique_value}":{"delete":{"description":"This API is to delete the Outbound Integration Application Registry details by ID\n","parameters":[{"name":"object_unique_value","in":"path","required":true,"schema":{"type":"string","title":"Object Unique Value"},"description":"- Abbreviated names of Outbound App Registries \n- User can provide values provided below in brackets for respective GL systems\n- NetSuite, Microsoft Dynamics 365 (D365), SAGE Intact (SAGE), Rillets(Ri) and QuickBooks Online (QBO)\n"}],"responses":{"200":{"description":"Delete OutboundIntegration Application Registry","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID on deleting the app registry."},"compliance_name":{"type":"string","description":"Name of the policy."},"message":{"type":"string","description":"Success or failure message on deleting the app registry."}},"required":["compliance_id","compliance_name","message"]}}}}},"tags":["Outbound Integration"],"summary":"Delete Outbound Integration Application Registry","operationId":"delete_outbound_integration_application_registry_apis_outbound_integration_v1_application_registry__object_unique_value__delete"}}}}
```


# Period Close

Under Period Close, users can create Journals, post the journals to general ledger, perform some manual adjustments in the revenue subledger, close the current open period and open the next period by using the below APIs.

* [Journal Run](/rightrev-rest-api/period-close/journal-run)
* [Manual Journals](/rightrev-rest-api/period-close/manual-journals)
* [Period Open-Close](/rightrev-rest-api/period-close/period-open-close)


# Journal Run

## Get Journal Runs

> This API will retrieve the details of all journal run IDs<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/":{"get":{"description":"This API will retrieve the details of all journal run IDs\n","parameters":[{"name":"page_number","in":"query","required":false,"schema":{"type":"string","title":"page number"},"description":"This is optional field. It represents page number.\n"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string","title":"page_size"},"description":"This is optional field. It represents how many records available on each page."}],"responses":{"200":{"description":"Get Journal Runs","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","description":"This includes all the details of journal run IDs."},"journal_run_list":{"type":"array","items":{"type":"object","properties":{"accounting_period":{"type":"string","description":"name of the period for which user has initiated journals"},"created_by":{"type":"string","description":"ID of the user who created the journal. Example- username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"currency_code":{"type":"string","description":"Functioanl currency code of the legal entity."},"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"file_version":{"type":"integer","description":"Version of the journal run."},"gl_integration_app_name":{"type":"string","description":"Name of the configured GL outbound integration system."},"journal_run_id":{"type":"integer","description":"System generated journal run ID."},"journals_agg_fields":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Code of the field used for journal aggrgation"},"label":{"type":"string","description":"Label or name of the field used for journal aggrgation"}},"required":["code","label"]},"description":"These are the name of the fields used for journal aggregation."},"last_modified_by":{"type":"string","description":"ID of the user who modified the policy. Example - username@rightrev.com"},"last_modified_on":{"type":"integer","description":"Timestamp of the policy modified by the user. This is a unix Epoch timestamp format."},"legal_entity":{"type":"string","description":"Name of the legal entity."},"no_of_journal_entries":{"type":"integer","description":"Count of journal entries."},"posted_to_gl":{"type":"boolean","description":"Boolean field idicating if journals are posted to GL or not."},"rc_ids":{"type":"null","description":"This will display list of Revenue contracts selected to transfer."},"state":{"type":"string","description":"Status of journal run. For e.g. Ready To Transfer or Transferred"},"tenant_id":{"type":"string","description":"ID assigned to the tenant."},"total_credit_amount":{"type":"number","description":"Total credit amount of the journals."},"total_debit_amount":{"type":"number","description":"Total debit amount of the journals."},"transfer_currency_type":{"type":"string","description":"Functional / transactionl currency in which journals are transferred"}},"required":["accounting_period","created_by","created_on","currency_code","file_id","file_version","gl_integration_app_name","journal_run_id","journals_agg_fields","last_modified_by","last_modified_on","legal_entity","no_of_journal_entries","posted_to_gl","rc_ids","state","tenant_id","total_credit_amount","total_debit_amount","transfer_currency_type"]},"description":"Details of all the fields available iun this API."},"request_id":{"type":"string","description":"A system-generated request ID"},"total_records":{"type":"integer","description":"No of total records fetched by this API."}},"required":["additional_info","journal_run_list","request_id","total_records"]}}}}},"tags":["Journals"],"summary":"Get Journal Runs","operationId":"get_journal_runs_apis_je_v1__get"}}}}
```

## Create Journal Run

> This API will be used to initite new journals for all eligible legal entities.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/":{"post":{"description":"This API will be used to initite new journals for all eligible legal entities.\n","responses":{"200":{"description":"Create Journal Run","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Journal Run ID generated by the system."},"message":{"type":"string","description":"System will display a message of success or error on journal creation."}},"required":["id","message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"legal_entity":{"type":"string","description":"Name of the legal entity."},"accounting_period":{"type":"string","description":"name of the period for which user has initiated journals"},"rc_ids":{"type":"array","items":{"type":"string"},"description":"Revenue contract IDs selected for journal transfer."}},"required":["accounting_period","legal_entity"]}}},"required":true},"tags":["Journals"],"summary":"Create Journal Run","operationId":"create_journal_run_apis_je_v1__post"}}}}
```

## Get Journal Summary

> This API will retrieve the details of SUMMARY BY GL ACCOUNT section in journal run.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}/summary":{"get":{"description":"This API will retrieve the details of SUMMARY BY GL ACCOUNT section in journal run.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide Journal Run ID.\n"},{"name":"page_number","in":"query","required":false,"schema":{"type":"string","title":"page_number"},"description":"This is optional field. It represents page number.\n"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string","title":"page_size"},"description":"This is optional field. It represents how many records available on each page."}],"responses":{"200":{"description":"Get Journal Summary","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","description":"Information related to all additional attributes."},"journal_run_list":{"type":"array","items":{"type":"object","properties":{"account":{"type":"string","description":"GL Account number."},"accounting_type":{"type":"string","description":"Type of the account. Contractual or Craves - Revenue or Liability account."},"credit":{"type":"number","description":"Total credit balance on this journal line."},"currency_code":{"type":"string","description":"Currency code of the legal entity."},"debit":{"type":"number","description":"Total debit balance on this journal line."}},"required":["account","accounting_type","credit","currency_code","debit"]},"description":"Details of all the journal lines."},"request_id":{"type":"null","description":"System generated alpha-numeric ID."},"total_records":{"type":"integer","description":"No of total records fetched by this API."}},"required":["additional_info","journal_run_list","request_id","total_records"]}}}}},"tags":["Journals"],"summary":"Get Journal Summary","operationId":"get_journal_summary_apis_je_v1__journal_run_id__summary_get"}}}}
```

## Get Journal Detail

> This API will retrieve the details of SUMMARY BY ATTRIBUTES section in journal run.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}/details":{"get":{"description":"This API will retrieve the details of SUMMARY BY ATTRIBUTES section in journal run.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide Journal Run ID.\n"},{"name":"page_number","in":"query","required":false,"schema":{"type":"string","title":"page_number"},"description":"This is optional field. It represents page number.\n"},{"name":"page_size","in":"query","required":false,"schema":{"type":"string","title":"page_size"},"description":"This is optional field. It represents how many records available on each page."}],"responses":{"200":{"description":"Get Journal Detail","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","description":"Information related to all additional attributes."},"journal_run_list":{"type":"array","items":{"type":"object","properties":{"account":{"type":"string","description":"GL Account number."},"accounting_period":{"type":"string","description":"Name of the accounting period"},"accounting_period_name":{"type":"string","description":"Name of the accounting period"},"accounting_type":{"type":"string","description":"Type of the account. Contractual or Carves - Revenue or Liability account."},"credit":{"type":"integer","description":"Total credit balance on this journal line."},"currency_code":{"type":"string","description":"Currency code of the legal entity."},"debit":{"type":"number","description":"Total debit balance on this journal line."},"gl_int_department_id":{"type":"string","description":"These is additional GL Aggregation Integration field"},"gl_int_location_id":{"type":"string","description":"These is additional GL Aggregation Integration field"},"order_financial_id":{"type":"string","description":"These is additional GL Aggregation Integration field. Summary will happen at transaction line level."},"revenue_contract_id":{"type":"string","description":"These is additional GL Aggregation Integration field. Summary will happen at revenue contract level."}},"required":["account","accounting_period","accounting_period_name","accounting_type","credit","currency_code","debit","gl_int_department_id","gl_int_location_id","order_financial_id","revenue_contract_id"]},"description":"Details of all the journal lines."},"request_id":{"type":"null","description":"System generated alpha-numeric ID."},"total_records":{"type":"integer","description":"No of total records fetched by this API."}},"required":["additional_info","journal_run_list","request_id","total_records"]}}}}},"tags":["Journals"],"summary":"Get Journal Detail","operationId":"get_journal_detail_apis_je_v1__journal_run_id__details_get"}}}}
```

## Transfer Journal

> This API is used to Transfer journals from Ready to Transfer state.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}/transfer":{"put":{"description":"This API is used to Transfer journals from Ready to Transfer state.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide Journal run ID.\n"}],"responses":{"200":{"description":"Transfer Journal","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","description":"Information related to all additional attributes."},"journal_run_list":{"type":"array","items":{"type":"object","properties":{"accounting_period":{"type":"string","description":"Name of the accountig period."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example - username@rightrev.com"},"created_on":{"type":"string","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"currency_code":{"type":"string","description":"Functional currency code of the legal entity."},"file_id":{"type":"string","description":"System generated alpha-numeric ID."},"file_version":{"type":"integer","description":"Version of the file."},"journal_run_id":{"type":"integer","description":"Journal Run ID generated by the system."},"last_modified_by":{"type":"string","description":"ID of the user who updated the policy. Example- username@rightrev.com"},"last_modified_on":{"type":"string","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"legal_entity":{"type":"string","description":"Name of the legal entity."},"no_of_journal_entries":{"type":"integer","description":"Count of the journal entries to be transferred."},"state":{"type":"string","description":"Status could be Ready to transfer or Transfer-In-Progress."},"tenant_id":{"type":"string","description":"Tenant ID of the system."},"total_credit_amount":{"type":"integer","description":"Total credit amount of journal run"},"total_debit_amount":{"type":"integer","description":"Total debit amount of journal run"}},"required":["accounting_period","created_by","created_on","currency_code","file_id","file_version","journal_run_id","last_modified_by","last_modified_on","legal_entity","no_of_journal_entries","state","tenant_id","total_credit_amount","total_debit_amount"]},"description":"Details of all the journal lines."},"request_id":{"type":"string","description":"System generated alpha-numeric ID."},"total_records":{"type":"integer","description":"No of total records fetched by this API."}},"required":["additional_info","journal_run_list","request_id","total_records"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file_version":{"type":"integer","description":"Version of the file."}},"required":["file_version"]}}},"required":true},"tags":["Journals"],"summary":"Transfer Journal","operationId":"transfer_journal_apis_je_v1__journal_run_id__transfer_put"}}}}
```

## Cancel Journal

> This API is used to Cancel journal which are in READY TO TRANSFER state.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}/cancel":{"put":{"description":"This API is used to Cancel journal which are in READY TO TRANSFER state.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide Journal Run ID.\n"}],"responses":{"200":{"description":"Cancel Journal","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"System generated message on cancellation."}},"required":["message"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file_version":{"type":"integer","description":"Version of the file."},"force":{"type":"boolean","description":"This is boolean field. User need to provide true or false."}},"required":["file_version","force"]}}},"required":true},"tags":["Journals"],"summary":"Cancel Journal","operationId":"cancel_journal_apis_je_v1__journal_run_id__cancel_put"}}}}
```

## Post Journal

> This API is used to Post the journals to GL system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}":{"put":{"description":"This API is used to Post the journals to GL system.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide Journal Run ID\n"}],"responses":{"200":{"description":"Post Journal","content":{"application/json":{"schema":{"type":"object","properties":{"additional_info":{"type":"array","items":{"type":"object","properties":{"accounting_period":{"type":"string","description":"name of the period for which user has initiated journals"},"action":{"type":"string","description":"Updation to transferred file with posted_to_gl."},"file_name":{"type":"string","description":"System generated file ID."},"status":{"type":"string","description":"Success or Failure"},"state":{"type":"string","description":"Archiving the prior file from transferred path."}},"required":["accounting_period","file_name","status"]},"description":"Additional information"},"message":{"type":"string","description":"Journal run with id __ got updated successfully."},"posted_to_gl":{"type":"boolean","description":"Boolean field indicating posted to GL or not."},"request_id":{"type":"string","description":"Syatem generated alpha-numeric number."},"state":{"type":"string","description":"It will be transferred."}},"required":["additional_info","message","posted_to_gl","request_id","state"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"posted_to_gl":{"type":"boolean","description":"Boolean field indicating posted to GL or not."}},"required":["posted_to_gl"]}}},"required":true},"tags":["Journals"],"summary":"Post Journal","operationId":"post_journal_apis_je_v1__journal_run_id__put"}}}}
```

## Get Journal Download

> This API is used to download journals data.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/je/v1/{journal_run_id}/download":{"get":{"description":"This API is used to download journals data.\n","parameters":[{"name":"journal_run_id","in":"path","required":true,"schema":{"type":"string","title":"Journal Run Id"},"description":"User need to provide journal run ID.\n"}],"responses":{"200":{"description":"Get Journal Download","content":{"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{}}}}},"tags":["Journals"],"summary":"Get Journal Download","operationId":"get_journal_download_apis_je_v1__journal_run_id__download_get"}}}}
```


# Manual Journals

## Get Manual Journal List

> To retrieve the list of all Manual Journal Batches created in the system.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/batches":{"get":{"description":"To retrieve the list of all Manual Journal Batches created in the system.\n","parameters":[{"name":"page","in":"path","required":false,"schema":{"type":"string","title":"page"},"description":"This is optional field. Page represents page number of the policy list.\n"},{"name":"page_size","in":"path","required":false,"schema":{"type":"string","title":"page_size"},"description":"This is optional field. Page size represents how many records available on each page.\n"}],"responses":{"200":{"description":"Get Manual Journal Runs","content":{"application/json":{"schema":{"type":"object","properties":{"batches":{"type":"array","items":{"type":"object","properties":{"approved_hold_id":{"type":"null","description":"This field contains value as null"},"batch_name":{"type":"string","description":"Name of the Manual Journal Batch."},"created_at":{"type":"integer","description":" Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_period":{"type":"string","description":"Month and year of the Manual Journal created. For e.g. Jan-2026"},"date_format":{"type":"null","description":"Format of Manual Journal Date. For e.g. MM/DD/YYYY"},"file_format":{"type":"string","description":"Type of file to be uploaded. For e.g. CSV"},"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"file_location":{"type":"null","description":"This field contains value as null"},"file_name":{"type":"string","description":"Name of the file uploaded."},"file_size":{"type":"integer","description":"Size of the file uploaded. for e.g. 330kb"},"functional_currency":{"type":"string","description":"Functional currency of the Manual Journal created."},"legal_entity":{"type":"string","description":"Name of the Legal Entity in which Manual Journal is created."},"mje_id":{"type":"string","description":"Batch ID of the Manual Journal created. This is system generated value."},"mje_type":{"type":"string","description":"Type of the manual journal created. Either **Waterfall** or **Standard**."},"rc_action_at":{"type":"null","description":"This field contains value as null"},"rc_action_by":{"type":"null","description":"This field contains value as null"},"rc_id":{"type":["null","string"],"description":"Manual Journal Revenue Contract ID."},"rc_initiated_at":{"type":"null","description":"This field contains value as null"},"rc_initiated_by":{"type":"null","description":"This field contains value as null"},"reject_event_id":{"type":"null","description":"This field contains value as null"},"reject_hold_id":{"type":"null","description":"This field contains value as null"},"status":{"type":"string","description":"Status of Manual Journal Revenue Contract ID. For e.g  mje_rc_created or file_uploaded_with_error "},"tenant_id":{"type":"string","description":"Tenant ID in which Manual Journal is created"},"total_rows_failed":{"type":"null","description":"Count of rows failed validation during processing of Manual Journal File."},"total_rows_processed":{"type":"integer","description":"Count of rows processed successfully during processing of Manual Journal File."},"total_rows_received":{"type":"integer","description":"Count of total rows uploaded for collection in Manual Journal File."},"user_comments":{"type":["null","string"],"description":"Any comments added by the user the time of creation of Manual Journal."}},"required":["approved_hold_id","batch_name","created_at","created_by","created_period","date_format","file_format","file_id","file_location","file_name","file_size","functional_currency","legal_entity","mje_id","mje_type","rc_action_at","rc_action_by","rc_id","rc_initiated_at","rc_initiated_by","reject_event_id","reject_hold_id","status","tenant_id","total_rows_failed","total_rows_processed","total_rows_received","user_comments"]},"description":"This will display details of Manual Journal Batches."},"total_records":{"type":"integer","description":"This will display count of total Manual Journal records"}},"required":["batches","total_records"]}}}}},"tags":["Manual Journals"],"summary":"Get Manual Journal List","operationId":"get_manual_journal_list_apis_mje_v1_batches_get"}}}}
```

## Get Manual Journal Action

> This API is used to retrieve of MJE Batch ID details.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/batches/{action}":{"get":{"description":"This API is used to retrieve of MJE Batch ID details.\n","parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"MJE Batch Id"},"description":"Provide MJE Batch ID in action field.\n"}],"responses":{"200":{"description":"get all mje details.","content":{"application/json":{"schema":{"type":"object","properties":{"approved_hold_id":{"type":"null","description":"ID of the approval hold applied to this MJE"},"batch_name":{"type":"string","description":"Name of the MJE Batch"},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_period":{"type":"string","description":"Name of the period in which MJE is created."},"date_format":{"type":"null","description":"Format used for dates in the uploaded file. For e.g. MM/DD/YYYY"},"file_format":{"type":"string","description":"Format of the uploaded file (e.g., CSV, XLSX)."},"file_id":{"type":"string","description":"System-generated ID of the uploaded file."},"file_location":{"type":"null","description":"Storage path where the file is stored. Value will be null"},"file_name":{"type":"string","description":"Name of the uploaded file."},"file_size":{"type":"integer","description":"Size of the file in bytes."},"functional_currency":{"type":"string","description":"Currency codes used for the MJE amounts."},"legal_entity":{"type":"string","description":"Legal entity associated with the MJE."},"mje_id":{"type":"string","description":"System-generated unique MJE batch identifier."},"mje_type":{"type":"string","description":"Type of MJE (e.g., Standard or Waterfall)."},"rc_action_at":{"type":"null","description":"Timestamp when the reviewer took an action. Value will be null"},"rc_action_by":{"type":"null","description":"ID of the User who performed the reviewer action. Value will be null"},"rc_id":{"type":"string","description":"Revenue Contract ID of the MJE"},"rc_initiated_at":{"type":"null","description":"Timestamp when the RC initiated. Value will be null"},"rc_initiated_by":{"type":"null","description":"ID of the User who initiated action. Value will be null"},"reject_event_id":{"type":"null","description":"ID for rejection event (if MJE was rejected)."},"reject_hold_id":{"type":"null","description":"Hold ID applied during rejection"},"status":{"type":"string","description":"Current status of the MJE workflow. For e.g. File uploaded or MJE Approved"},"tenant_id":{"type":"string","description":"Tenant/environment identifier."},"total_rows_failed":{"type":"null","description":"Number of rows in the uploaded file that failed validation."},"total_rows_processed":{"type":"integer","description":"Number of rows in the uploaded file that processed successfully."},"total_rows_received":{"type":"integer","description":"Total number of rows uploaded in the file."},"user_comments":{"type":"null","description":"Comments provided by the user for this MJE."}},"required":["approved_hold_id","batch_name","created_at","created_by","created_period","date_format","file_format","file_id","file_location","file_name","file_size","functional_currency","legal_entity","mje_id","mje_type","rc_action_at","rc_action_by","rc_id","rc_initiated_at","rc_initiated_by","reject_event_id","reject_hold_id","status","tenant_id","total_rows_failed","total_rows_processed","total_rows_received","user_comments"]}}}}},"tags":["Manual Journals"],"summary":"Get Manual Journal Action","operationId":"get_manual_journal_action_apis_mje_v1_batches__action__get"}}}}
```

## Manual Journal Template

> This API is used to download the Standard Templates of \*\*Standard\*\* Or \*\*Waterfall\*\* Manual Journal.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/{mje_type}/template":{"get":{"description":"This API is used to download the Standard Templates of **Standard** Or **Waterfall** Manual Journal.\n","parameters":[{"name":"mje_type","in":"path","required":true,"schema":{"type":"string","title":"Mje Type"},"description":"User need to provide the Manual Journal Type they want to download. Supported values are **standard** or **waterfall**. The standard templates are attached below.\n"}],"responses":{"200":{"description":"Get Journal Template - In Raw text, columns seperated by commas","content":{"text/csv":null,"application/json":{"schema":{}}}}},"tags":["Manual Journals"],"summary":"Manual Journal Template","operationId":"manual_journal_template_apis_mje_v1__mje_type__template_get"}}}}
```

## Manual Journal Download

> This API is used to download the uploaded Manual journal file.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/batches/{file_id}/download":{"get":{"description":"This API is used to download the uploaded Manual journal file.\n","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"},"description":"A system generated alpha-numeric number at the time of uploading file.\n"}],"responses":{"200":{"description":"Manual Journal Download","content":{"application/json":{"schema":{"type":"string","format":"binary"}}}}},"tags":["Manual Journals"],"summary":"Manual Journal Download","operationId":"manual_journal_download_apis_mje_v1_batches__file_id__download_get"}}}}
```

## Post Manual Journal Action

> This API is used to create Manual Journal through csv file upload.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/batches/{action}":{"post":{"description":"This API is used to create Manual Journal through csv file upload.\n","responses":{"200":{"description":"post mje","content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","description":"A system generated alpha-numeric number."},"message":{"type":"string","description":"A message generated on csv file upload."}},"required":["file_id","message"]}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"The CSV file to be uploaded to the system. Refer a [Sample CSV File] TODO"},"batch_name":{"type":"text","format":"string","description":"Name of the Manual Journal Batch."},"date_format":{"type":"text","format":"%m/%d/%Y","description":"Date format of Manual Journal."},"legal_entity":{"type":"text","format":"string","description":"Legal Entity in which user is creating Manual Journal"},"mje_type":{"type":"text","format":"string","description":"Type of the Manual Journal. Either **STANDARD** or **WATERFALL**."},"functional_currency":{"type":"text","format":"string","description":"Functional Currency of the Manual Journal."}},"required":["file","batch_name","legal_entity","mje_type","functional_currency"]}},"application/json":{"schema":{}}},"required":true},"tags":["Manual Journals"],"summary":"Post Manual Journal Action","operationId":"post_manual_journal_action_apis_mje_v1_batches__action__post"}}}}
```

## Manual Journal Approve Reject

> This API is used to \*\*Approve\*\* or \*\*Reject\*\* the manual journal.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/mje/v1/batches/{mje_id}/{action}":{"put":{"description":"This API is used to **Approve** or **Reject** the manual journal.\n","parameters":[{"name":"mje_id","in":"path","required":true,"schema":{"type":"string","title":"Mje Id"},"description":"Manual Journal ID.\n"},{"name":"action","in":"path","required":true,"schema":{"type":"string","title":"Action"},"description":"Supported actions are **approve** or **reject**.\n"}],"responses":{"200":{"description":"This API is used to **Approve** or **Reject** the manual journal.","content":{"application/json":{"schema":{"type":"object","properties":{"current_timestamp":{"type":"string","description":"Timestamp of the approve or reject action initiated by the user. This is a unix Epoch timestamp format."},"hold_details":{"type":"array","items":{"type":"object","properties":{"applied_by":{"type":"string","description":"ID of the user who rejected Manual Journal."},"applied_on":{"type":"string","description":"Timestamp of manual journal rejected. This is a unix Epoch timestamp format."},"hold_activity":{"type":"string","description":"Details of the hold activity. If Manual Journal is approved it will show RELEASE and if rejected it will show HOLD."},"hold_name":{"type":"string","description":"Name of the hold"},"hold_type":{"type":"string","description":"Type of the hold."},"message":{"type":"string","description":"A message genereted on action initiated."},"mje_id":{"type":"string","description":"Manual journal ID"},"released_by":{"type":"string","description":"ID of the user who approved."},"released_on":{"type":"string","description":"Timestamp of manual journal approved. This is a unix Epoch timestamp format."},"revenue_contract_id":{"type":"string","description":"Manual Journal Revenue Contract ID."},"user_comments":{"type":"string","description":"Any comments added by the user at the time of approve or reject Manual Journal."}},"required":["applied_by","applied_on","hold_activity","hold_name","hold_type","message","mje_id","released_by","released_on","revenue_contract_id","user_comments"]},"description":"Details of hold."},"user_name":{"type":"string","description":"ID of the user. This action will be done at engine side. So , ID of the user will always be RIGHTREV."}},"required":["current_timestamp","hold_details","user_name"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user_name":{"type":"string","description":"ID of the user who is approving or rejecting the Manual Journal."},"user_comments":{"type":"string","description":"Any comments added by the user at the time of approve or reject Manual Journal."}},"required":["user_comments","user_name"]}}},"required":true},"tags":["Manual Journals"],"summary":"Manual Journal Approve Reject","operationId":"manual_journal_approve_reject_apis_mje_v1_batches__mje_id___action__put"}}}}
```

## Get Supporting Docs List

> \- This API is to retrieve the file details of supporting document uploaded in Revenue Contract or Manual journal Entry.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/lov/{doc_type}/{doc_id}":{"get":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is the type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry.\n"}],"responses":{"200":{"description":"Get Supporting document list","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"file_name":{"type":"string","description":"Name and type of the file uploaded as supporting document."},"file_size":{"type":"number","description":"Size of the supporting document file uploaded."},"last_modified":{"type":"string","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format."},"user_name":{"type":"string","description":"Name of the user who uploaded supporting document file."},"doc_type":{"type":"string","description":"Type of the document uploaded for. Is it supporting document for RC or MJE."},"doc_id":{"type":"string","description":"Revenue contract or MJE number."}},"required":["doc_id","doc_type","file_name","file_size","last_modified","user_name"]}}}}}},"description":"- This API is to retrieve the file details of supporting document uploaded in Revenue Contract or Manual journal Entry.\n","tags":["Supporting Docs"],"summary":"Get Supporting Docs List","operationId":"get_supporting_docs_list_apis_supporting_doc_v1_lov__doc_type___doc_id__get"}}}}
```

## Upload Supporting Doc

> \- This API is to upload the supporting document file in Revenue Contract or Manual journal Entry. \
> \- User can upload multiple type of files -  pdf, doc, docx, xls, xlsx, txt, rtf, odt, ods, csv, html, htm, md, xml, jpg, jpeg, png.\
> \- The Supporting Documents feature is available only to users with the Sysadmin and Revenue Manager roles.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/":{"post":{"responses":{"200":{"description":"Upload Supporting document","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"System generated message on file upload."}},"required":["message"]}}}}},"description":"- This API is to upload the supporting document file in Revenue Contract or Manual journal Entry. \n- User can upload multiple type of files -  pdf, doc, docx, xls, xlsx, txt, rtf, odt, ods, csv, html, htm, md, xml, jpg, jpeg, png.\n- The Supporting Documents feature is available only to users with the Sysadmin and Revenue Manager roles.\n","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"file","format":"binary","description":"Attach Supporting document file."}},"required":["file"]}}},"required":true},"tags":["Supporting Docs"],"summary":"Upload Supporting Doc","operationId":"upload_supporting_doc_apis_supporting_doc_v1__post"}}}}
```

## Download Supporting Doc

> \- This API is to retrieve the supporting document file uploaded in Revenue Contract or Manual journal Entry.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/{doc_type}/{doc_id}/{file_name}":{"get":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry.\n"},{"name":"file_name","in":"path","required":true,"schema":{"type":"string","title":"File Name"},"description":"This is the name of supporting document file user want to download.\n"}],"responses":{"200":{"description":"Download Supporting document","content":{"application/json":{"schema":{}}}}},"description":"- This API is to retrieve the supporting document file uploaded in Revenue Contract or Manual journal Entry.\n","tags":["Supporting Docs"],"summary":"Download Supporting Doc","operationId":"download_supporting_doc_apis_supporting_doc_v1__doc_type___doc_id___file_name__get"}}}}
```

## Delete Supporting Doc

> \- This API is to delete the supporting document uploaded in Revenue Contract or Manual journal Entry.\
> \- Only the file owner (the user who uploaded the file) can delete their own files.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/supporting_doc/v1/{doc_type}/{doc_id}/{file_name}":{"delete":{"parameters":[{"name":"doc_type","in":"path","required":true,"schema":{"type":"string","title":"Doc Type"},"description":"This is type of document. User can provide RC or MJE to fetch the supporting document details.\n"},{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"},"description":"This is number of revenue contract or manual journal entry. \n"},{"name":"file_name","in":"path","required":true,"schema":{"type":"string","title":"File Name"},"description":"This is the name of supporting document file user want to delete.\n"}],"responses":{"200":{"description":"Delete Supporting document","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Display system generates message on delete action."}},"required":["message"]}}}}},"description":"- This API is to delete the supporting document uploaded in Revenue Contract or Manual journal Entry.\n- Only the file owner (the user who uploaded the file) can delete their own files.\n","tags":["Supporting Docs"],"summary":"Delete Supporting Doc","operationId":"delete_supporting_doc_apis_supporting_doc_v1__doc_type___doc_id___file_name__delete"}}}}
```


# Period Open-Close

Controls the status of accounting periods (open or closed). API transactions are processed only when the relevant periods are open.

## Get Period Open Close Policy

> \- To retrieves list of all active legal entities with details and status of current open period and stats of last 3 periods close.\
> \- To retrieve details of error transactions, holds and journals of legal entity and current open period, please refer to below attached sheet.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/period-open-close":{"get":{"description":"- To retrieves list of all active legal entities with details and status of current open period and stats of last 3 periods close.\n- To retrieve details of error transactions, holds and journals of legal entity and current open period, please refer to below attached sheet.\n","responses":{"200":{"description":"Get Period Open and Close Policy","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"compliance_id":{"type":"string","description":"A system-generated compliance ID to retrieve the period open-close Policies"},"compliance_name":{"type":"string","description":"Name of the policy fetched by the system. "},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"can_delete":{"type":"boolean","description":"A boolean field indicating whether the event policy can be deleted or not. If set to True, the user is allowed to delete the event policy; if False, deletion is not permitted."},"code":{"type":"string","description":"It's unique combination of Legal Entity, Tenant ID and current open period."},"created_at":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com."},"end_date":{"type":"string","description":"End Date of the current open period."},"fiscal_year_name":{"type":"string","description":"Name of the Fiscal Year. For e.g - FY-2026"},"is_user_defined":{"type":"boolean","description":"A boolean field indicating whether the policy is defined by the user or not. If set to True, the user is allowed to define the policy; if False, defining the policy is not permitted."},"legal_entity":{"type":"string","description":"Name of the Legal Entity"},"opened_date":{"type":"string","description":"Date on which current open period is set to open"},"period_name":{"type":"string","description":"Name of the current open period. For e.g - January-2026"},"period_number":{"type":"integer","description":"Period number assigned in Calendar."},"quarter_number":{"type":"integer","description":"Period number assigned in Calendar."},"request_id":{"type":"string","description":"Its a combination of tenant ID and period name."},"start_date":{"type":"string","description":"Start date of the current open period."},"status":{"type":"string","description":"Status of current period. Either Open or Closed"},"updated_at":{"type":"integer","description":"Timestamp of the policy updated by the user. This is a unix Epoch timestamp format."},"updated_by":{"type":"string","description":"ID of the user who updated the policy. Example: username@rightrev.com"},"last_1_period_close_days":{"type":"integer","description":"Days indicates the difference between period end date and actual period closed date of Last_1 period. For e.g. Current open period is April-2026 then Last Period is March-2026, Last_1 Period is February-2026 and Last_2 period is January-2026."},"last_1_period_closed_date":{"type":"string","description":"Actual date on which Last_1 period is closed."},"last_1_period_end_date":{"type":"string","description":"End Date of Last_1 period"},"last_1_period_name":{"type":"string","description":"Name of Last_1 period."},"last_1_period_percentage":{"type":"integer","description":"Percentage shows Up or Down comparing with previous month stats. Last_1 period will be compared with Last_2 period."},"last_1_period_start_date":{"type":"string","description":"Start Date of Last_1 period"},"last_2_period_close_days":{"type":"integer","description":"Days indicates the difference between period end date and actual period closed date of Last_2 period. For e.g. Current open period is April-2026 then Last Period is March-2026, Last_1 Period is February-2026 and Last_2 period is January-2026."},"last_2_period_closed_date":{"type":"string","description":"Actual date on which Last_2 period is closed."},"last_2_period_end_date":{"type":"string","description":"End Date of Last_2 period"},"last_2_period_name":{"type":"string","description":"Name of Last_2 period."},"last_2_period_start_date":{"type":"string","description":"Start Date of Last_2 period"},"last_period_close_days":{"type":"integer","description":"Days indicates the difference between period end date and actual period closed date of Last period. For e.g. Current open period is April-2026 then Last Period is March-2026, Last_1 Period is February-2026 and Last_2 period is January-2026."},"last_period_closed_date":{"type":"string","description":"Actual date on which Last period is closed."},"last_period_end_date":{"type":"string","description":"End Date of Last period"},"last_period_name":{"type":"string","description":"Name of the Last period."},"last_period_percentage":{"type":"integer","description":"Percentage shows Up or Down comparing with previous month stats. Last period will be compared with Last_1 period."},"last_period_start_date":{"type":"string","description":"Start Date of Last period"}},"required":["can_delete","code","created_at","created_by","end_date","fiscal_year_name","is_user_defined","legal_entity","opened_date","period_name","period_number","quarter_number","request_id","start_date","status","updated_at","updated_by"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."},"created_by":{"type":"string","description":"ID of the user who created the policy. Example: username@rightrev.com"},"created_on":{"type":"integer","description":"Timestamp of the policy created by the user. This is a unix Epoch timestamp format"},"last_modified_by":{"type":"string","description":"ID of the user last modified by"},"last_modified_on":{"type":"integer","description":"Timestamp of the policy last modified on. This is a unix Epoch timestamp format"},"policy_type":{"type":"string","description":"Represents the type of policy"},"status":{"type":"string","description":"Represents the status of policy"},"unique_key":{"type":"string","description":"Unique key is code which is unique combination of Legal Entity, Tenant ID and current open period. "},"version_id":{"type":"string","description":"Unique alpha-numeric number generated by the system."}},"required":["compliance_id","compliance_name","compliance_spec","created_by","created_on","last_modified_by","last_modified_on","policy_type","status","unique_key","version_id"]}}}}}},"tags":["Policy Sets"],"summary":"Get Period Open Close Policy","operationId":"get_period_open_close_policy_apis_policy_sets_v1_policy_period_open_close_get"}}}}
```

## Update Period Open Close Policy

> \- To close current period and open new period in the system.\
> \- To Open First Period after creation of legal entity.\
> \- \*\*closed\_date\*\* will be \*\*\*null\*\*\* and \*\*status\*\* will be \*\*\*open\*\*\* when user set open period for the first time.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/period-open-close/{compliance_id}":{"patch":{"description":"- To close current period and open new period in the system.\n- To Open First Period after creation of legal entity.\n- **closed_date** will be ***null*** and **status** will be ***open*** when user set open period for the first time.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID to update the policy.\n"}],"responses":{"200":{"description":"Update Period Open and Close Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"Unique identifier generated by the system. Example: xyz_345"}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID for period open-close action."},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"format_type":{"type":"string","description":"Format type of the request code used to collect data - For e.g. JSON"},"compliance_name":{"type":"string","description":"Operational name of the policy."},"policy_type":{"type":"string","description":"Name of the policy"},"unique_key":{"type":"string","description":"It's a code which is unique combination of Legal Entity, tenant ID and Period name."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"closed_date":{"type":["null","string"],"description":"Actual Date on which current period is closed. In case of first time when user set open period this value will be null."},"end_date":{"type":"string","description":"End date of the period."},"fiscal_year_name":{"type":"string","description":"Name of the Fiscal Year. For e.g - FY-2026"},"legal_entity":{"type":"string","description":"Name of the Legal Entity."},"opened_date":{"type":"string","description":"Actual Date on which current period is opened."},"period_name":{"type":"string","description":"Name of the current open period. For e.g - January-2026"},"period_number":{"type":"integer","description":"Period number assigned in Calendar."},"quarter_number":{"type":"integer","description":"Quarter number assigned in Calendar."},"start_date":{"type":"string","description":"Start date of the current open period."},"status":{"type":"string","description":"Status of current period. In case of first time when user set open period this value will be open. "},"code":{"type":"string","description":"It's unique combination of Legal Entity, Tenant ID and current open period."},"comments":{"type":"string","description":"Field where user can add relevant comments before performing period open-close operation."}},"required":["closed_date","code","comments","end_date","fiscal_year_name","legal_entity","opened_date","period_name","period_number","quarter_number","start_date","status"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","policy_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Period Open Close Policy","operationId":"update_period_open_close_policy_apis_policy_sets_v1_policy_period_open_close__compliance_id__patch"}}}}
```

## Update Period Open Close Policy

> \- To close current period and open new period in the Salesforce.\
> \- To Open First Period after creation of legal entity.\
> \- \*\*closed\_date\*\* will be \*\*\*null\*\*\* and \*\*status\*\* will be \*\*\*open\*\*\* when user set open period for the first time.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/policy-sets/v1/policy/period-open-close/{compliance_id}":{"put":{"description":"- To close current period and open new period in the Salesforce.\n- To Open First Period after creation of legal entity.\n- **closed_date** will be ***null*** and **status** will be ***open*** when user set open period for the first time.\n","parameters":[{"name":"compliance_id","in":"path","required":true,"schema":{"type":"string","title":"Compliance Id"},"description":"A system-generated compliance ID to retrieve the period open-close Policies\n"}],"responses":{"200":{"description":"Replace Period Open and Close Policy","content":{"application/json":{"schema":{"type":"object","properties":{"compliance_details":{"type":"array","items":{"type":"object","properties":{"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."},"message":{"type":"string","description":"Displays the outcome of the action. It is commonly used to provide success confirmations, error details, or other informational responses from the API after the operation is executed."},"unique_key":{"type":"string","description":"A system generated unique alpha-numeric number."}},"required":["error","message","unique_key"]},"description":"Displays the details of specific rules and standards processed by the system."},"compliance_id":{"type":"string","description":"A system-generated compliance ID on creating or updating the policy"},"error":{"type":"array","description":"Displays information about problems that occurred while handling the request. Commonly used to report validation errors, missing or invalid parameters, or other issues related to API processing."}},"required":["compliance_details","compliance_id","error"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"format_type":{"type":"string","description":"Format type of the request code used to collect data - For e.g. JSON"},"compliance_name":{"type":"string","description":"Operational name of the policy."},"unique_key":{"type":"string","description":"It's a code which is unique combination of Legal Entity and Period name."},"compliance_spec":{"type":"array","items":{"type":"object","properties":{"period_description":{"type":"string","description":"It's combination of Period Name, Currency, Revenue Book Name and Legal Entity Name. For E.g. Jan 2026-USD-Default Revenue Book-QA-LE-003."},"code":{"type":"string","description":"It's a unique combination of Legal Entity and Period name."},"end_date":{"type":"string","description":"End date of the period."},"fiscal_year_name":{"type":"string","description":"Name of the Fiscal Year. For e.g - FY-2026"},"legal_entity":{"type":"string","description":"Name of the Legal Entity."},"period_name":{"type":"string","description":"Name of the current open period. For e.g - January-2026"},"period_number":{"type":"integer","description":"Period number assigned in Calendar."},"quarter_number":{"type":"integer","description":"Quarter number assigned in Calendar."},"start_date":{"type":"string","description":"Start date of the current open period."},"status":{"type":"string","description":"Status of current period. In case of first time when user set open period this value will be open."},"opened_date":{"type":"string","description":"Actual Date on which period is opened."},"closed_date":{"type":["null","string"],"description":"Actual Date on which period is closed."},"comments":{"type":"string","description":"Field where user can add relevant comments before performing period open-close operation."}},"required":["closed_date","code","comments","end_date","fiscal_year_name","legal_entity","opened_date","period_description","period_name","period_number","quarter_number","start_date","status"]},"description":"Defines the specific rules and standards where a system must process adhering to the compliant."}},"required":["compliance_name","compliance_spec","format_type","unique_key"]}}},"required":true},"tags":["Policy Sets"],"summary":"Update Period Open Close Policy","operationId":"update_period_open_close_policy_apis_policy_sets_v1_policy_period_open_close__compliance_id__put"}}}}
```


# Salesforce APIs


# SFDC RC Resync & Resend

## Sfdc Resync Rc

> This API is used to re-sync revenue contract which failed sync process in Salesforce<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/sfdc-rr-sync/v1/resync-rc":{"post":{"description":"This API is used to re-sync revenue contract which failed sync process in Salesforce\n","responses":{"200":{"description":"Sfdc Resync Rc","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string","description":"This will display a meeasge of request for re-sync is received or not."}},"required":["response"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rc_ids":{"type":"array","items":{"type":"string"},"description":"Provide Revenue Contract IDs separated by commas which are failed to sync with Salesforce."}},"required":["rc_ids"]}}},"required":true},"tags":["Manual Journals"],"summary":"Sfdc Resync Rc","operationId":"sfdc_resync_rc_apis_sfdc_rr_sync_v1_resync_rc_post"}}}}
```

## Sfdc Resend Rc

> This API is used to resend order financial Ids which are not synced.<br>

```json
{"openapi":"3.1.0","info":{"title":"RightRev API(s)","version":"1.0.0"},"servers":[{"description":"RightRev APP Server","url":"https://{realm}.{env}.rightrev.cloud/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}},{"description":"RightRev Auth Server","url":"https://authn.{env}.rightrev.cloud/auth/realms/{realm}/protocol/openid-connect/","variables":{"env":{"default":"{env}"},"realm":{"default":"{realm}"}}}],"security":[],"paths":{"/apis/sfdc-rr-sync/v1/resend-rc":{"post":{"description":"This API is used to resend order financial Ids which are not synced.\n","responses":{"200":{"description":"Sfdc Resend Rc","content":{"application/json":{"schema":{"type":"object","properties":{"response":{"type":"string","description":"Show a success messege on request send."}},"required":["response"]}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ofids":{"type":"array","items":{"type":"string"},"description":"Provide Order Financial IDs which user wants to resend for resync."}},"required":["ofids"]}}},"required":true},"tags":["Manual Journals"],"summary":"Sfdc Resend Rc","operationId":"sfdc_resend_rc_apis_sfdc_rr_sync_v1_resend_rc_post"}}}}
```


