Create Snapshot of Cashflow Curve

POST /ws/rest/service/v2/cashflow/snapshot

Available: 23.10 and later

Purpose

Create a snapshot in an existing cashflow detail curve in specific shell from different system. Only one snapshot can be created per request.

A successful API call creates the snapshot with the provided name in the specified curve, with an entry in the snapshot log.

Prerequisite

You must have Create permissions for cashflow service to use this REST service.

Request Format

Send an API request as a JSON Map with the following structure:

{

"options":{

"project_number": "<value>",

"name": "<curve value>"

},

"data":["snapshot_name:"<new snapshot_name>"]

}

Request Parameters

In the options map, the following parameters can be included:

Parameter Required? Data Type Description
project_number Yes String A valid Active shell/project number.
name Yes String The cashflow curve name for which the snapshot is to be created.
snapshot_name Yes String A new snapshot name to be created.

Response Format

A JSON object is returned in the following format:

{

"data": [

{

"Name" : "<cashflow curve name>",

"snapshot_name" : "<Snapshot name>"

}

],

"message": [ "<message string>"],

"status":<integer value>,

"rest_audit_id" : <id from the rest audit table matching this request>

}

A successful response displays a status code 200.

A failed response displays a message with a status code.

Sample Request

To create a May 8th snapshot for a cashflow, called CashFlow By CBS, send a request in the following format:

{

"options" : {

"project_number" :1001,

"name" : "CashFlow By CBS",

},

"data":[ {"snapshot_name":"May8th snapshot"}]

}

Sample Success Response

A successful response with status code 200 displays in the following format:

{

"data": [

{

"Name": [

"New curve 5"

],

"snapshot_name": [

"Rest snapshot 289"

]

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 2377

}

Sample Failed Response

A failure message and status is displayed for a snapshot in the following format:

{

"data": [],

"message": [

"Cashflow curve name is mandatory and is missing in the input request"

],

"status": 13003,

"rest_audit_id": 2378

}

Supported Validation Messages and Status Codes

The following messages and status codes can display in the response:

Field Name Use-Case Status Message
project_number Project number is not provided. 13001 Project/Shell number is mandatory and is missing in the input request.
project_number The project number is invalid. 602 Project/Shell Number is not correct.
project_number Project is not active. 1219 ( get - existing code) Create/Update/Delete cannot be performed when project/shell status is Inactive or View-Only or On-Hold.
curve_name Curve name is not provided. 13002 Cashflow curve name is mandatory and is missing in the input request.
curve_name Curve name provided no longer exists. 13003 Invalid curve name provided in input request.
curve_name curve name provided is a summary curve. 13011 Cashflow name provided in input request is not a summary curve.
snapshot_name Snapshot name is not provided. 13004 Provide a snapshot name.
snapshot_name When the snapshot name already exists. 13005 Snapshot name already exists.
snapshot_name Snapshot name has unsupported characters   Snapshot name specified does not exist in the cashflow <name>.