Skip to main content

Curve Service

The curve resource contains all your proprietary forward curve configurations

Curve REST API

The Curve REST API is a full CRUD API allowing you to search and filter curve configurations as well as update, version and delete them. It is accessed through the following URL:

https://api.opendatadsl.com/api/curve

The API consists of the following calls:

MethodPathExampleDescription
GETGet the build information for this service
GET{release}v1List all the curve configurations
GET{release}/{key}v1/TESTRetrieve a single curve configuration using it’s unique id
GET{release}/{key}/{version}v1/TEST/1Retrieve a version of a single curve configuration
GET{release}/{key}/*v1/TEST/*Get a list of versions for a specific curve configuration
PUT{release}/{key}/{version}/{tag}v1/TEST/1/PRODTag a version with a name (which can be used instead of the version number when retrieving it)
POST{release}v1Create or update a curve configuration, the curve configuration is the JSON body of the POST request
DELETE{release}/{key}v1/TESTRollback to the previous version of a curve configuration, if it is the only version then the configuration will be deleted
DELETE{release}/{key}/{version}v1/TEST/1Delete a version of a curve configuration
DELETE{release}/{key}/*v1/TEST/*Fully delete a curve configuration, including all versions

Entities

Curve Configuration

This is the main curve configuration entity, it is an Object of type '#CurveConfig'

NameDescriptionType
_idUnique id for the curve configuration (or object id if this is not the latest version)String
_typeThe type of the entity - always #CurveConfigString
_linksAn object containing object links to other objectsObject
nameThe name of the curveString
buildScriptThe name of the script containing the functions to build the curveString
expiryCalendarThe code for the expiry calendar used to calculate the expiry dates for the contracts on the curveString
_oidThe id of the calendar - will match _id if this is the latest version of the calendarString
_timestampTimestamp of when this calendar version was createdString(DateTime)
_userThe user id (email) of the user that created this calendar verisionString
_tagA list of version tag names for this calendar versionString[]
_versionThe version number of this calendar versionint
inputsA list input data used to build the output curves#CurveConfigInput[]
outputsA list of output curves to build#CurveConfigOutput[]

Curve Input

This entity represents a piece of input data - either a curve or a time-series

NameDescriptionType
idThe data reference of the data entity (TimeSeries or Curve) to use in the format ${data:”<id>”} or simple a string of the idString
keyThe variable name to use when referencing it to build a curveString
requiredTrue if this must be present before the curve configuration can build a curveBoolean

Curve Output

This entity represents the configuration of an output curve - other dynamic properties can be added to this entity and they will be available as variables when building the curve

NameDescriptionType
nameThe name of the output curveString
codeThe programming code used to build the curveString
currencyThe currency code of the curveString
unitsThe units code of the curveString