Previous versions (not supported)
Out of date, not supported
v0.8
New Features:
Now most of the TEOS API functionality is available with TEOS API key. Swagger clearly states which endpoints can't be called using TEOS API key.
The list of the endpoints which still can be called only with user token are:
GET /odata/v0.8/Assets/My
GET /odata/v0.8/Balances/My
GET /odata/v0.8/Transactions/My
GET /odata/v0.8/Wallets/My
DELETE /odata/v0.8/Users({key})
POST /odata/v0.8/Wallets/InitWalletRegistration
In order to introduce the support of api key for creating and signing transactions following changes were done:
when transaction is posted, the SigningParameters are returned
an endpoint to get SigningParamters is introduced: GET /odata/v0.8/Transactions({key})/GetSigningParameters
check for the address ownership is removed for all endpoints except for the ones mentioned in the list of calling with user token
an endpoint to submit a signed transaction: POST /odata/v0.8/Transactions/{key}/Submit
New endpoint is added to add the wallet to TEOS to have the possibility to use it afterwards POST /odata/v0.8/Wallets
New endpoint is added to retrieve transactions with TEOS API key. Don't forget to use odata technology to filter the list according to your business case needs GET /odata/v0.8/Transactions
We created methods which have the logic for filtering corresponding data by user (they end with .../My), thus they can be used with user token only
GET /odata/v0.8/Assets/My
GET /odata/v0.8/Balances/My
GET /odata/v0.8/Transactions/My
GET /odata/v0.8/Wallets/My
Changes:
👉Signing flow with user token is changed according to the description in #flow-with-user-token
👉POST /odata/v0.8/Assets: the posted transaction is returned instead of asset
Asset object was changed:
section "Translations" was added. Now asset data can be retrieved with translations. Don't forget to use odata technology to filter the list of languages when retrieving asset data according to your business case
new parameter "createdInTeosOn" was introduced - date of asset creation in TEOS, defined when asset is created in TEOS and never changes afterwards
👉parameter "createdOn" was changed to "createdInBlockchainOn - date of asset creation in blockchain (block date), at first is NULL, defined when asset is created in blockchain and never changes afterwards
👉parameter "updatedOn" was changed to "amendedInBlockchainOn" - date of asset amendment writing to blockchain, at first is NULL, only if amendment is added and written to blockchain this property is filled
👉Transaction model is changed
The type of the property TypeId is changed from int to enum TransactionType
Following properties are removed:
The transaction metadata has now property UniqueAssetId when it is created in TEOS API
👉GET /odata/v0.8/Wallets GET /odata/v0.8/Wallets/My these endpoints use forced pagination, each page has a maximum size of 50 lines
GET /odata/v0.8/Balances/GetAssetsBalances(addresses={addresses},uniqueAssetIds={uniqueAssetIds}) was added to get array of addresses and uniqueAssetIds as request parameters
👉GET Balances was renamed to GET Balances/My
Breaking changes:
Signing flow with user token is changed according to the description in #flow-with-user-token
POST /odata/v0.8/Assets: the posted transaction is returned instead of Asset
Asset model was changed: parameter "createdOn" was changed to "createdInBlockchainOn", parameter "updatedOn" was changed to "amendedInBlockchainOn" (check their description above)
Transaction model was changed (check the changes above)
GET /odata/v0.8/Wallets use forced pagination, each page has a maximum size of 50 lines, this is a change relevant for all versions
GET Balances was renamed to GET Balances/My
Fixed bugs:
We eliminated the performance problem with assets retrieval. Now GET /odata/v0.8/Assets and GET /odata/v0.8/Assets/My work faster
v0.7
New Features:
Attribute entities and their endpoints are introduced:
Country
Currency
Unit
Language
Asset Class
Asset Detail Class
Search Property
Asset of type 'currency' (cash and cash equivalent) can be created with currencyCode parameter instead of unitOfMeasureCode. Check the rules of CurrencyCode definition
Invoice state changes events are delivered. More details here
Method to retrieve ETH balances of addresses
Method to retrieve external wallets saved in WLM
Changes:
All responses with asset data contain uniqueAssetId in hex format, now with leading 0x
Asset entity structure is changed, to reflect referenced attribute entities
CreateUnits, DestroyUnits, TransferUnits methods have "type" parameter as part of the response. Starting from v0.7 value of this parameter is case-sensitive and must start with capital letter, i.e. "type": "Sparks"
Routing keys of all events produced by TEOS API have prefix tenant-id which is taken from claims of authentication token
Breaking changes:
UniqueAssetId values are now prefixed with "0x"
Asset properties are renamed
Language -> LanguageCode
Jurisdiction -> JurisdictionCode
UnitOfMeasure -> UnitOfMeasureCode
Currency -> CurrencyCode
AssetClass -> AssetClassCode
CreateUnits, DestroyUnits, TransferUnits methods have "type" parameter as part of the response. Starting from v0.7 value of this parameter is case-sensitive and must start with capital letter, i.e. "type": "Sparks"
Fixed Bugs:
Teosapi wallets/InitWalletRegistration throws 500 when called with api key
v0.6
New Features:
New concept "Invoices" is introduced. Concept description can be found here. Functionality introduced:
Create invoice
Retrieve invoice details
Cancel invoice
Pay invoice
Changes:
Link assets updated: check whether asset exists is removed
Fixed Bugs:
SparkOperation method getting 500 error for specific addresses
Transfer units - Missleading error message
Incorrect message for Transfer/Destroy units in the Transaction method
GET Methods return incorrect Time or no Timezone
v0.5
New Features:
User data deletion from WLM and TEOS API
New endpoint for connecting to RabbitMQ with TLS encryption
Existing RabbitMQ connection endpoints without TLS encryption will be removed when TEOS API v0.4 support is over
Changes:
OData standard is enforced more in the area of function parameters and custom types
UniqueAssetId, Address and AssetId type constants should be obligatory in single quotes now, e.g. '0x094b3c71f99d3eccc5c3c0001'
Resource path should be composed, using entity key in parenthesis, e.g. /assets('0x094b3c71f99d3eccc5c3c0001')
Deprecated: The asset referencing using "resource/key" style
v0.4
New Features:
Retrieve transactions
GET /transactions - transaction retrieval request with filter possibility
Retrieve Spark Operations
POST /sparkoperations/search - initiates a search for spark operations
v0.3
New Features:
Balances
GET /balances(Address='xxx',UniqueAssetId='yyy') - return a balance for specific address-asset combination without restriction per tenant/user. xxx - valid address hex representation (case-insensitive, with or without 0x prefix), yyy - valid unique asset id hex representation (case-insensitive)
Warps
POST /warps/search - initiates a warp-search
POST /warps/execute - executes a warp
POST /assets('{key}')/linkasset - links an asset
TEOS Events through RabbitMQ
Link Assets
v0.2
New Features:
Assets
POST /assets('{key}')/createunits - creates asset units (sparks)
POST /assets('{key}')/transferunits - transfers sparks between two addresses
POST /assets('{key}')/destroyunits - destroys sparks for an asset
Balances
GET /balances - get balances of all own wallets
Changes:
Parameter validation and error handling are significantly improved
Unbound action "DocumentDbRecord" now is a bound function on assets entity set
Unbound action "Search" now is a bound function on assets entity set and is a GET function that accepts search parameters
Asset structure is changed
Mandatory 'Data' and optional documentation fields are removed
new mandatory and optional fields are added
Added a possibility to define custom item definitions and their values
v0.1
This is CoreLedger's first new API, intended to consolidate all existing functionalities and microservices and provide standartized consistent way to use them. Provides MVP functions with limited parametrization possibilities.
Features
Wallets
GET /wallets - returns all signable wallets of the current user or signable wallets of all users, if the token is the api key
GET /wallets/{key} - returns specific wallet information
DELETE /wallets/{key} - deletes specific wallet
POST /InitWalletRegistration - initiates signable address creation and linking with tx server provider
Assets
GET /assets - returns all assets of the current user, where one of the current user signable addresses is issuer of an asset. Or it returns assets of all users, if the token is the api key, by matching user signable addresses to asset issuer.
GET /assets/{key} - returns specific asset information
POST /assets (Body: Asset) - creates an asset creation transaction. Asset object in the body describes essential fields, like Name or Issuer. Multiple other document fields are hardcoded in this version of API
GET /DocumentDbRecord/{assetId} - returns asset details in json format
POST /search (Body: AssetSearchInput) - searches for assets using issuer address or asset name and returns list of found assets
Transactions
GET /transactions/{key} - returns specific transaction information
System
GET /version - returns current api version
Last updated