TWEX API (1.0.0)

Download OpenAPI specification:Download

Introduction

About

This document includes detailed specification and examples for APIs used to interact with TWEX application. Visit trustwise.io for more information about the product.

Please note that this document is currently under development as API specifications are being migrated from the old documentation service.

Main Features

Important Concepts

Self-managed Identities and Transaction Signing

  • By default users are in exclusive control of their private keys and derived identities, portfolios and assets. These private keys are needed for signing (authenticating) any blockchain transaction.
  • There are existing applications that make managing the keys and signing of transactions easy and secure (see the Signer Application below)
  • There are also solutions and services that facilitate onboarding and management of users who cannot or don't want to manage private keys by themselves (see Service Providers below).

Signer Application

  • A universal signer app provided by Trustwise, similar to signing apps and mobile keys offered by banks.
  • Provides a secure storage for user's private keys and convenient signing of blockchain transactions with these keys.
  • Takes advantage of push notifications for quick access to transaction signing.
  • Supports account recovery via seed phrase.
  • Social recovery solution is in development.

KYC, Verification and Accountability

  • Each legal entity interacting with the blockchain platform or using the API must be identified in accordance with applicable KYC/AML regulations. Private personal data are NOT stored on the blockchain.
  • It is always clear and recorded who is responsible for correctness of data used for verification of given entity.
  • A company never acts on its own. Each corporate action is performed by one or multiple company signatories (natural persons) on behalf of the company.

Authentication

Login person with email and password

Request Body schema: application/json
required
email
required
string (Email)

E-mail of the legal entity, which is being registered. It has to be unique. It is used for authentication (persons only), sending email notifications (including password reset for persons), identifying legal entity to other legal entities and initiating a contact request.

password
required
string <password>

A string representing a password for authentication. It should be kept confidential and securely stored.

The password must meet the following criteria:

  • At least 8 characters long
  • Cannot be entirely numeric
  • Cannot be too similar to other user attributes (e.g. email)
  • Is not on the list of most common passwords

Responses

Request samples

Content type
application/json
{
  • "email": "contact@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "onboarding_status": "email_verification_pending",
  • "key": "c4a94dc444a3b74a4e5549bd616c82e6947b3a11"
}

Personal Registration

A set of endpoints related to registration of a natural person.

Register a Natural Person with email and password

Request Body schema: application/json
required
email
required
string (Email)

E-mail of the legal entity, which is being registered. It has to be unique. It is used for authentication (persons only), sending email notifications (including password reset for persons), identifying legal entity to other legal entities and initiating a contact request.

password
required
string <password>

A string representing a password for authentication. It should be kept confidential and securely stored.

The password must meet the following criteria:

  • At least 8 characters long
  • Cannot be entirely numeric
  • Cannot be too similar to other user attributes (e.g. email)
  • Is not on the list of most common passwords

Responses

Request samples

Content type
application/json
{
  • "email": "contact@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "onboarding_status": "email_verification_pending",
  • "key": "c4a94dc444a3b74a4e5549bd616c82e6947b3a11"
}

Submit Natural Person details

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
street
required
string

Street name and number.

additional_address
string

Additional address.

city
required
string

City.

country
required
string (Country)

Country represented with country code.

postal_code
required
string

Postal code.

given_name
required
string

Given legal name of the person being registered. This is usually the first name.

surname
required
string

Legal surname of the person being registered. In case person has middle a name it should be included here, separated by space.

date_of_birth
required
string <date> (Date)

Date represented as string.

phone_number
required
string (PhoneNumber)

Phone number, including the country code.

id_photo
required
string <binary>

A photo showing the person's valid government-issued identification document, which must have been taken at the moment of the application. This is used for identity verification for various purposes, including account registration, and compliance with regulatory requirements.

selfie
required
string <binary>

A photo showing the person's face, which must have been taken at the moment of the application. This is used for identity verification for various purposes, including account registration, and compliance with regulatory requirements.

Responses

Request samples

Content type
application/json
{
  • "street": "Basel Strasse 123",
  • "additional_address": "Basel123",
  • "city": "Basel",
  • "country": "CH",
  • "postal_code": 1234,
  • "given_name": "Sam",
  • "surname": "One",
  • "date_of_birth": "2021-01-15",
  • "phone_number": "+41618266060",
  • "id_photo": "<content transferred in binary (octet-stream)>",
  • "selfie": "<content transferred in binary (octet-stream)>"
}

Response samples

Content type
application/json
{
  • "onboarding_status": "email_verification_pending"
}

Create blockchain account for a Natural Person.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
master_address
string (EthereumAddress)

The person's master address is a single point of control for managing all associated keys and transactions within our blockchain system.

object

HD (Hierarchical Deterministic) wallets are the generated keys from the person's single master address. They eliminate the possibility of malicious actors tracing transactions through repeated use of a single address. Represented as an object where keys are HD wallet paths and values are Ethereum addresses.

wallet_type
string (WalletType)
Enum: "custodial" "self-managed"

Person's account wallet type which defines which party stores the person's private key.

recovery_hash
string (Hash)

User recovery key hash used to identify which recovery to process. Hexadecimal hash. 0x prefixed.

recovery_encrypted_entropy
string (EncryptedEntropy)

Encrypted entropy for person's private key stored by the Recovery Service provider. Hexadecimal string of arbitrary length.

Responses

Request samples

Content type
application/json
{
  • "master_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "hd_wallets": {
    },
  • "wallet_type": "custodial",
  • "recovery_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac",
  • "recovery_encrypted_entropy": "0xd952312471feae9fec22eb097b7c732f6a92959c6f0b2cb99022acc63f8bc09037cb3d6c92f78cb4e76d04f1ccb6e9cfd32bb4bf04d0a9e254f01549764f892f654571ad1df8ef6c5e2b4be0aaf070d3"
}

Company Registration

A set of endpoints related to company registration.

Initialize

Initialize company registration.

Authorizations:
TokenAuthentication
Request Body schema: application/json
optional
registrant_id
integer <int32>

ID of the person, who is registering the company.

Responses

Request samples

Content type
application/json
{
  • "registrant_id": 3
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "entity_type": "company",
  • "status": "created",
  • "registrant_id": 3
}

Personal Profile

A set of endpoints related to a personal profile.

Get personal profile details

Returns profile details of the authenticated person.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "name": "Example name",
  • "email": "contact@example.com",
  • "id": 44,
  • "avatar": {
    },
  • "phone_number": "+41618266060",
  • "address": {
    },
  • "registered_at": "2019-08-24",
  • "bank_accounts": {
    },
  • "status": "verified",
  • "settings": {
    },
  • "wallet_type": "0x4825248699c95BCFb35Ca9Beee765B61010F303c"
}

Get authenticated Natural Person info.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "email": "contact@example.com",
  • "wallet": {
    },
  • "onboarding": {
    }
}

Company Profile

A set of endpoints related to a company profile

Get company profile details

Returns company profile details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
{
  • "name": "Example name",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "id": 44,
  • "avatar": {
    },
  • "phone_number": "+41618266060",
  • "address": {
    },
  • "registered_at": "2019-08-24",
  • "documents": [
    ],
  • "wallet_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "registered_by": "Werner Bahnhoff",
  • "jurisdiction": "CH",
  • "bank_accounts": {
    },
  • "status": "verified",
  • "settings": {
    },
  • "date_of_incorporation": "2019-08-24",
  • "company_type": "AG"
}

Inbox

Inbox provides a quick overview of all processes in which the current legal entity has been involved.

It combines automated tasks system with notification centre and audit log of past actions. Accordingly there are three possible statuses of an inbox item:

  • Action Required items represent processes waiting for an action or confirmation by the current legal entity.
  • In Progress items represent ongoing processes where current legal entity cannot take any action and usually waits for an action or confirmation by counter party.
  • Completed items provide an easy access to all past processes and actions.

All inbox items are automatically generated and updated based on user's actions and other processes.

Get list of inbox items

Authorizations:
TokenAuthentication
query Parameters
no_of_items
number
Examples:
  • no_of_items=3 -

Limit response to the specified number of items.

status
string
Examples:
  • status=completed -

Filter items based on status.

  • action_required
  • in_progress
  • completed

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get unseen items counts

Get number of "not seen" items grouped by status.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "AR": 1,
  • "IP": 4,
  • "CP": 0
}

Mark items as seen

Send a request to remove the user from the not_seen_by for the process IDs in the list

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
Array
integer (Id) >= 1

Database ID.

Responses

Request samples

Content type
application/json
[
  • 1,
  • 2,
  • 3
]

Response samples

Content type
application/json
[
  • 1,
  • 2,
  • 3
]

Remove entity from processes

Remove legal entity from process specified by the related object.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required

Related object.

model
required
string
id
required
integer <int32>
app_label
required
string

Responses

Request samples

Content type
application/json
{
  • "app_label": "gov_events",
  • "model": "governanceevent",
  • "id": 74
}

Response samples

Content type
application/json
{
  • "process_id": 12
}

Contacts

Contacts are viewed and managed from the perspective of initiator, i.e. the entity that has requested the contact.

Contact Requests are contacts that are viewed and managed from the perspective of target legal entity, i.e. the entity that is somebody's contact.

List of Contacts

Returns a list of contacts which were requested by the current legal entity.

Authorizations:
TokenAuthentication
query Parameters
status
string

Limit results to contacts matching the provided status.

purpose
string

Limit results to contacts matching the provided purpose.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Contact

A pending contact request is created, waiting for the confirmation of legal_entity. If pending contact for given email already exists then it is reused and requested_purposes field is updated with provided purpose.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
email
required
string (Email)

E-mail of the legal entity, which is being registered. It has to be unique. It is used for authentication (persons only), sending email notifications (including password reset for persons), identifying legal entity to other legal entities and initiating a contact request.

purpose
string

Responses

Request samples

Content type
application/json
{
  • "email": "contact@example.com",
  • "purpose": "company_secretary"
}

Response samples

Content type
application/json
{
  • "requested_email": "contact@example.com",
  • "requested_purposes": [
    ],
  • "allowed_portfolios": [
    ],
  • "created_at": "2021-02-10T09:30Z",
  • "id": 32,
  • "legal_entity": {
    },
  • "requested_by": {
    },
  • "status": "pending"
}

Detail of Contact

This endpoint is used to retrieve a full detail of contact.

Authorizations:
TokenAuthentication
path Parameters
contactId
required
integer

Responses

Response samples

Content type
application/json
{
  • "requested_email": "contact@example.com",
  • "requested_purposes": [
    ],
  • "allowed_portfolios": [
    ],
  • "created_at": "2021-02-10T09:30Z",
  • "id": 32,
  • "legal_entity": {
    },
  • "requested_by": {
    },
  • "status": "pending"
}

Cancel Contact

This endpoint is used to cancel a previously accepted contact.

Authorizations:
TokenAuthentication
path Parameters
contactId
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 1
}

Update Contact

This endpoint is used to update purposes associated with contact.

Authorizations:
TokenAuthentication
path Parameters
contactId
required
integer
Request Body schema: application/json
required
requested_purposes
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "requested_purposes": [
    ]
}

Response samples

Content type
application/json
{
  • "requested_email": "contact@example.com",
  • "requested_purposes": [
    ],
  • "allowed_portfolios": [
    ],
  • "created_at": "2021-02-10T09:30Z",
  • "id": 32,
  • "legal_entity": {
    },
  • "requested_by": {
    },
  • "status": "pending"
}

Create Multiple Contacts

Multiple pending contact requests for the provided emails are created, waiting for the confirmation of legal_entities.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
emails
required
Array of strings (Email)

Responses

Request samples

Content type
application/json
{
  • "emails": [
    ]
}

Response samples

Content type
application/json
{
  • "created_ids": [
    ]
}

List of Contact Requests

Return a list of contact request sent to the current legal entity.

Authorizations:
TokenAuthentication
query Parameters
status
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Detail of Contact Request

Authorizations:
TokenAuthentication
path Parameters
contactId
required
integer

Responses

Response samples

Content type
application/json
{
  • "requested_email": "contact@example.com",
  • "requested_purposes": [
    ],
  • "allowed_portfolios": [
    ],
  • "created_at": "2021-02-10T09:30Z",
  • "id": 32,
  • "legal_entity": {
    },
  • "requested_by": {
    },
  • "status": "pending"
}

Update Contact Request

Authorizations:
TokenAuthentication
path Parameters
contactId
required
integer
Request Body schema: application/json
required
status
string
portfolios
Array of strings (EthereumAddress)

Responses

Request samples

Content type
application/json
{
  • "status": "confirmed",
  • "portfolios": [
    ]
}

Response samples

Content type
application/json
{
  • "requested_email": "contact@example.com",
  • "requested_purposes": [
    ],
  • "allowed_portfolios": [
    ],
  • "created_at": "2021-02-10T09:30Z",
  • "id": 32,
  • "legal_entity": {
    },
  • "requested_by": {
    },
  • "status": "pending"
}

Recovery

Get recovery status (or retrieve)

Returns recovery status as well as recovery data if status is retrievable.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
key_hash
required
string (Hash)

Hexadecimal hash. 0x prefixed.

Responses

Request samples

Content type
application/json
{
  • "key_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Response samples

Content type
application/json
{
  • "status": "retrievable",
  • "data": "0xd952312471feae9fec22eb097b7c732f6a92959c6f0b2cb99022acc63f8bc09037cb3d6c92f78cb4e76d04f1ccb6e9cfd32bb4bf04d0a9e254f01549764f892f654571ad1df8ef6c5e2b4be0aaf070d3"
}

Initiate recovery

Initiates recovery process. Must be called only when recovery status is not_initialized.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "status": "retrievable"
}

Register device for recovery retrieval

Registers device for recovery retrieval. Only one device at a time can be registered for recovery process.

Authorizations:
TokenAuthentication

Responses

Check recovery hash

Checks whether recovery hash exists.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
key_hash
required
string (Hash)

Hexadecimal hash. 0x prefixed.

Responses

Request samples

Content type
application/json
{
  • "key_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Response samples

Content type
application/json
{
  • "status": true
}

Create recovery

Stores encrypted recovery data on server.

Authorizations:
TokenAuthentication
Request Body schema: application/json
required
recovery_hash
required
string (Hash)

Hexadecimal hash. 0x prefixed.

recovery_encrypted_entropy
required
string

Encrypted recovery data.

signature
required
string (Signature)

Signature

Responses

Request samples

Content type
application/json
{
  • "recovery_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac",
  • "recovery_encrypted_entropy": "0xd952312471feae9fec22eb097b7c732f6a92959c6f0b2cb99022acc63f8bc09037cb3d6c92f78cb4e76d04f1ccb6e9cfd32bb4bf04d0a9e254f01549764f892f654571ad1df8ef6c5e2b4be0aaf070d3",
  • "signature": "0x29882cd9245ceba497300ef86d16bd684ac719094ebd8c5662f0a1d504137174f5355dc285d110ad3dc121ba12c6ccb961a67eb3caa910970be72f47da1348b964"
}

Postpone recovery

Postpones recovery.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "postponed_until": 0
}

Equity

Get list of equity assets

Get list of equity assets owned by current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get equity asset detail

Get equity asset details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "Share A",
  • "contract_type": "VRRS",
  • "issuer": {
    },
  • "token_sub_type": "restricted",
  • "represents_equity": true,
  • "portfolio": {
    },
  • "amount": "15000.0000",
  • "valuation": {
    },
  • "price_per_unit_base": "15000.0000",
  • "blocked_amount": "15000.0000",
  • "suspended_reason": "no_available_balance",
  • "total_units": "15000.0000",
  • "last_issued": "2021-01-15",
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "status": "valid",
  • "documents": [
    ],
  • "nominal_value": {
    }
}

Download equity asset file

Endpoint to download an equity asset document file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Portfolios

A set of endpoints related to portfolios.

Transfers

A set of endpoints related to share transfers.

Get list of transfers

Get list of transfers for the current entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

query Parameters
token_id
integer (Id) >= 1
Example: token_id=123

ID of the token.

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Calculate a transfer fee

Endpoint for getting a transfer fee.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
required
integer

Transfer amount.

price_per_unit
required
string <decimal> (Decimal)

Token price per unit.

currency
required
string (Currency)

Token price currency

Responses

Request samples

Content type
application/json
{
  • "amount": 20,
  • "price_per_unit": "15000.0000",
  • "currency": "CHF"
}

Response samples

Content type
application/json
{
  • "fee": "15000.0000",
  • "currency": "CHF"
}

Create a transfer

Endpoint for creating a transfer.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
required
integer

Transfer amount.

price_per_unit
required
string <decimal> (Decimal)

Token price per unit.

currency
string (Currency)

Token price currency

due_date
required
string <date-time> (DateTime)

Payment due date.

recipient_address
required
string (EthereumAddress)

Recipient portfolio address.

arbiter_id
required
integer (Id) >= 1

Arbiter legal entity database ID.

iban
string (Iban)

IBAN of the payee.

Responses

Request samples

Content type
application/json
{
  • "amount": 20,
  • "price_per_unit": "15000.0000",
  • "currency": "CHF",
  • "due_date": "2023-05-15T09:30Z",
  • "recipient_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "arbiter_id": 123,
  • "iban": "CH982351654531351234H"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get transfer details

Get transfer details

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "amount": 20,
  • "price_per_unit": "15000.0000",
  • "currency": "CHF",
  • "due_date": "2023-05-15T09:30Z",
  • "id": 123,
  • "type": "restricted_transfer",
  • "token_name": "Der Erlkönig",
  • "arbiter": {
    },
  • "stage": "initialized",
  • "date_time": "2023-05-15T09:30Z",
  • "recipient": {
    },
  • "sender": {
    },
  • "documents": [
    ],
  • "payment_instructions": {
    },
  • "stages": [
    ],
  • "allowed_actions": [
    ],
  • "metadata": {
    }
}

Accept a transfer offer

Endpoint for accepting a transfer offer as recipient.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Upload payment confirmation

Endpoint for uploading a payment confirmation as recipient.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Request Body schema: application/json
optional
doc_date
string <date> (Date)

Document date

doc_subject
string

Document subject

files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Document files

Responses

Request samples

Content type
application/json
{
  • "doc_date": "2021-01-15",
  • "doc_subject": "Prospectus",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Approve payment receipt

Endpoint for approving a payment receipt uploaded by recipient. By calling this endpoint the sender confirms it has received the payment. After the transaction is processed the transfer will be completed and recipient will receive tokens.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Cancel transfer

Endpoint for cancelling the transfer.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Download Transfer File

Endpoint to download a transfer file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Delegation

A set of endpoints related to delegation.

Subscriptions

A set of endpoints related to offerings subscriptions.

Get list of subscriptions

Get list of subscriptions available for the current legal entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get subscription detail

Details of the selected subscription.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract Relationship ID of the subscribed offering.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "subscription_id": 123,
  • "name": "Capital Increase Series A",
  • "subscriber": {
    },
  • "no_of_shares": "15000.0000",
  • "price_per_share": "15000.0000",
  • "currency": "CHF",
  • "reference_number": "NNN91VIP",
  • "power_of_attorney": true,
  • "status": "distributed",
  • "share_class": {
    },
  • "legal_text": "To the board of directors of ...",
  • "power_of_attorney_text": "The undersigned herewith grants power of attorney to ...",
  • "start_timestamp": 1678457820,
  • "end_timestamp": 1678457820,
  • "closing_timestamp": 1678457820
}

Confirm subscription offering payment.

Endpoint to confirm subscription offering payment.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract Relationship ID of the subscribed offering.

Request Body schema: application/json
Schema not provided

Responses

Response samples

Content type
application/json
{
  • "obj_id": 123
}

Create transaction to update power of attorney

Endpoint for creating a transaction to update power of attorney.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract Relationship ID of the subscribed offering.

Request Body schema: application/json
Schema not provided

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Subscriptions (old)

A set of endpoints related to subscriptions.

Get list of subscriptions

Get list of subscriptions available for the current legal entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get subscription details

Details of the selected subscription. For fetching the documents related to the subscription see documents API docs. This endpoint is also used by company, who created the subscription.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract id of the subscription, for which the details are requested

Responses

Response samples

Content type
application/json
{
  • "name": "Subscription token name",
  • "price_per_share": 2.01,
  • "fi_currency": "CHF",
  • "oversubscription_factor": 1,
  • "min_number_of_shares": 70000,
  • "max_number_of_shares": 100000,
  • "max_number_per_subscriber": 1000,
  • "allotment_procedure": "fcfs",
  • "start_datetime": "2021-03-09T12:40:20.774338+01:00",
  • "end_datetime": "2021-04-09T12:40:20.774338+01:00",
  • "closing_date": "2021-04-10T12:40:20.774338+01:00"
}

Create transaction to subscribe to offering

Endpoint for creating a subscription transaction

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract ID of the subscription, to which Legal Entity is subscribing

Request Body schema: application/json
required
no_of_shares
integer <int32>
reference_number
integer <int32>
power_of_attorney
boolean

Responses

Request samples

Content type
application/json
{
  • "no_of_shares": 1000,
  • "power_of_attorney": true,
  • "reference_number": 1234567890
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to update power of attorney

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

subscriptionId
required
integer (Id) >= 1
Example: 123

Contract id of the subscription, to which Legal Entity is subscribing

Request Body schema: application/json
required
Schema not provided

Responses

Request samples

Content type
application/json
{
  • "power_of_attorney": true
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Artworks

Get list of artworks assets

Get list of artworks assets

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
{
  • "count": 234,
  • "results": [
    ]
}

Get artwork asset details

Get detailed artworks asset

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Responses

Response samples

Content type
application/json
{
  • "thumbnail": "preview.jpg",
  • "thumbnail_large": "preview.jpg",
  • "id": 123,
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "amount": 400,
  • "value_per_unit": 40,
  • "object_id": 123,
  • "object_type": "painting",
  • "no_of_units": 400,
  • "marketplaces": [
    ],
  • "suspended_actions_reason": "no_available_balance"
}

Utility Tokens

Get list of utility tokens

Get list of utility tokens owned by current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get utility token asset detail

Get details about utility token asset.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "status": "valid",
  • "name": "CO2C",
  • "unit": "t",
  • "utility_token_type": "carbon_emission_allowance",
  • "market_listings": [
    ],
  • "amount": "15000.0000",
  • "value_per_unit": 40,
  • "currency": "CHF",
  • "valuation_type": "last_paid",
  • "portfolio_id": 123,
  • "issuer_id": 123
}

Create a transaction to transfer utility token

Endpoint for transfering utility token.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
required
string <decimal> (Decimal)

Amount of utility token to transfer.

Array of objects (Document_Upload)

Documents related to the token transfer.

recipient_address
required
string (EthereumAddress)

Recipient portfolio address.

Responses

Request samples

Content type
application/json
{
  • "amount": "15000.0000",
  • "documents": [
    ],
  • "recipient_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to burn utility token

Endpoint for burning given amount of utility token from the owned portfolio.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
required
string <decimal> (Decimal)

Amount of utility token to burn.

Array of objects (Document_Upload)

Documents related to the token burning.

Responses

Request samples

Content type
application/json
{
  • "amount": "15000.0000",
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get utility token asset events

Get list of utility token asset related events. This includes burn, mint and transfer events on given portfolio.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

query Parameters
no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download utility token event file

Endpoint to download a token event related file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Valuation

Get list of valuations

Get list of token valuations.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Board Management

A set of endpoints related to executive board management.

Get list of board members

Get list of board members.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transaction to add a new board member

Add a new board member to the company's boardroom.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
has_casting_vote
boolean

Indicates whether board member has casting vote

is_chairman
boolean

Indicates whether board member is also chairman of the board

legal_entity_id
integer (Id) >= 1

ID of the legal entity

election_date
string <date> (Date)

Date represented as string.

Responses

Request samples

Content type
application/json
{
  • "has_casting_vote": true,
  • "is_chairman": true,
  • "legal_entity_id": 123,
  • "election_date": "2021-01-15"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get board member details

Get board members details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

boardMemberId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the board member

Responses

Response samples

Content type
application/json
{
  • "has_casting_vote": true,
  • "is_chairman": true,
  • "name": "Example Company",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "legal_entity_id": 123,
  • "avatar": {
    },
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "election_date": "2021-01-15"
}

Create a transaction to update board member

Endpoint to update board members role and whether they have a casting vote.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

boardMemberId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the board member

Request Body schema: application/json
required
has_casting_vote
boolean

Indicates whether board member has casting vote

is_chairman
boolean

Indicates whether board member is also chairman of the board

Responses

Request samples

Content type
application/json
{
  • "has_casting_vote": true,
  • "is_chairman": true
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to dismiss a board member

Dismiss a board member from the company's boardroom.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

boardMemberId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the board member

Request Body schema: application/json
required
dismissal_date
string <date> (Date)

Date of board member dismissal

Responses

Request samples

Content type
application/json
{
  • "dismissal_date": "2021-01-15"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Board Membership

A set of endpoints related to board memberships.

Get list of board memberships.

Get list of companies where the currently active user is a board member.

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of transfer approvals

Get list of transfer approvals.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

waiting_for_approval
number
Enum: 0 1
Example: waiting_for_approval=1

Indicates whether the transfer is not yet approved by the current user

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of company documents

Get list of company documents, which are available to the board members

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of board members for a selected membership company

Get list of board members.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get board member details

Get board members details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

boardMemberId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the board member

Responses

Response samples

Content type
application/json
{
  • "has_casting_vote": true,
  • "is_chairman": true,
  • "name": "Example Company",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "legal_entity_id": 123,
  • "avatar": {
    },
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "election_date": "2021-01-15"
}

MultiSig Transactions

Get list of multisig transactions

Get list of multisig transactions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
status
string (Status)
Enum: "pending" "executed" "expired"
Example: status=executed

Limit results to specific transaction status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get multisig transaction detail

Get multisig transaction detail.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transactionId
required
integer (Id) >= 1
Example: 123

Transaction ID

query Parameters
status
string (Status)
Enum: "pending" "executed" "expired"
Example: status=executed

Limit results to specific transaction status

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "type": "meeting_close",
  • "status": "executed",
  • "expired_at": "2023-05-15T09:30Z",
  • "created_at": "2023-05-15T09:30Z",
  • "executed_at": "2023-05-15T09:30Z",
  • "confirmed_by": [
    ],
  • "init_unsigned_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Add signature to multisig transaction

Create a transaction to add a signature for a multisig transaction.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transactionId
required
integer (Id) >= 1
Example: 123

Transaction ID

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Revoke a signature from a multisig transaction

Create a transaction to revoke a signature from a multisig transaction.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transactionId
required
integer (Id) >= 1
Example: 123

Transaction ID

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get multisig transaction signing history

Get multisig transaction signing history.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transactionId
required
integer (Id) >= 1
Example: 123

Transaction ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Signatories

A set of endpoints related to signatories management.

Get list of signatories

Get list of signatories.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transaction to add a new signatory

Add a new signatory to the company's signatories.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
role
string
Enum: "company_secretary" "authorized_signature"

Signatory role

signature_weight
integer
Enum: 50 100

Signature weight

legal_entity_id
integer (Id) >= 1

ID of the legal entity

Responses

Request samples

Content type
application/json
{
  • "role": "company_secretary",
  • "signature_weight": 50,
  • "legal_entity_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get signatory details

Get signatory details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

signatoryId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the signatory

Responses

Response samples

Content type
application/json
{
  • "role": "company_secretary",
  • "signature_weight": 50,
  • "name": "Example Company",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "legal_entity_id": 123,
  • "avatar": {
    },
  • "relationship_id": 123,
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c"
}

Create a transaction to update signatory

Endpoint to update signatory role and signature type.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

signatoryId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the signatory

Request Body schema: application/json
required
role
string
Enum: "company_secretary" "authorized_signature"

Signatory role

signature_weight
integer
Enum: 50 100

Signature weight

Responses

Request samples

Content type
application/json
{
  • "role": "company_secretary",
  • "signature_weight": 50
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to remove company's signatory

Remove signatory from company.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

signatoryId
required
integer (Id) >= 1
Example: 123

Legal entity ID of the signatory

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Meetings & Resolutions

A set of endpoints related to shareholder meetings, board meetings and resolutions.

Create Meeting

Endpoint for creating shareholder meetings, board meetings and resolutions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
id
integer (Id) >= 1

Meeting ID.

group
string
Enum: "board" "shareholders"

Meeting group.

type
required
string
Enum: "meeting" "resolution"

Meeting type.

subject
required
string

Meeting subject.

date_time
required
string <date-time> (DateTime)

Date, time and timezone of the meeting represented as ISO 8601 datetime format.

time_zone
string

Timezone of the meeting

invitation_intro
string or null

Rich-text content of the meeting invitation introduction text.

invitation_outro
string or null

Rich-text content of the meeting invitation closing statement text.

minutes_intro
string or null

Rich-text content of the meeting minutes introduction text.

minutes_outro
string or null

Rich-text content of the meeting minutes closing statement text.

location
required
string

Location of the meeting. Valid options are seat and custom.

location_custom
string or null

Custom location text field. Used only if location is set to custom.

location_type
required
string

Location type of the meeting. Valid options are

  • onsite
  • remote
  • hybrid
languages
required
Array of strings

Meeting languages represented as array of ISO 639-1 language codes.

video_url
string or null

Meeting video call URL for remote and hybrid meetings. Used only if location_type is set to remote or hybrid.

proxy_voting_enabled
boolean

Indicates whether proxy voting is enabled.

proxy_id
integer (Id) >= 1

Selected proxy ID.

chairman_id
integer (Id) >= 1

Selected chairman ID.

secretary_id
integer (Id) >= 1

Selected secretary ID.

indicated_participation
boolean

Indicates whether participant has indicated participation

checked_in
boolean

Indicates whether participant has checked in

intro_text_seen
boolean

Indicates whether participant has marked intro text as seen

object

Meeting minutes signatures

Responses

Request samples

Content type
application/json
{
  • "group": "shareholders",
  • "type": "meeting",
  • "subject": "AGM 2022",
  • "date_time": "2022-08-24T11:00:00Z",
  • "invitation_intro": null,
  • "invitation_outro": null,
  • "minutes_intro": null,
  • "minutes_outro": null,
  • "location": "seat",
  • "location_custom": null,
  • "location_type": "hybrid",
  • "languages": [
    ],
  • "video_url": "https://example.com/",
  • "proxy_voting_enabled": true,
  • "proxy_id": 1,
  • "chairman_id": 2,
  • "secretary_id": 3
}

Response samples

Content type
application/json
{
  • "id": 1
}

List of Meetings

Returns a list of meetings of the current company.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
status
string
Enum: "in_preparation" "invitation_sent" "ongoing" "closed" "minutes_sent" "results_sent" "cancelled"
Example: status=in_preparation

Filter meetings by status.

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

order_by
string
Example: order_by=date_time

Field name to use for the items ordering.

order
string
Enum: "asc" "desc"
Example: order=asc

Direction of the ordering.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Meeting Detail

Returns details about meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "owner": {
    },
  • "group": "shareholders",
  • "type": "meeting",
  • "subject": "AGM 2022",
  • "date_time": "2022-08-24T11:00:00Z",
  • "status": "in_preparation",
  • "statuses": [
    ],
  • "invitation_intro": null,
  • "invitation_outro": null,
  • "minutes_intro": null,
  • "minutes_outro": null,
  • "location": "seat",
  • "location_custom": null,
  • "location_type": "hybrid",
  • "languages": [
    ],
  • "video_url": "https://example.com/",
  • "no_of_invitees": 2572,
  • "no_of_share_classes": {
    },
  • "proxy_voting_enabled": true,
  • "proxy": {
    },
  • "chairman": {
    },
  • "secretary": {
    },
  • "documents": [
    ],
  • "checked_in": false,
  • "indicated_participation": true,
  • "intro_text_seen": false
}

Edit Meeting

Endpoint to edit a meeting when it's still in preparation.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Request Body schema: application/json
id
integer (Id) >= 1

Meeting ID.

group
string
Enum: "board" "shareholders"

Meeting group.

type
required
string
Enum: "meeting" "resolution"

Meeting type.

subject
required
string

Meeting subject.

date_time
required
string <date-time> (DateTime)

Date, time and timezone of the meeting represented as ISO 8601 datetime format.

time_zone
string

Timezone of the meeting

invitation_intro
string or null

Rich-text content of the meeting invitation introduction text.

invitation_outro
string or null

Rich-text content of the meeting invitation closing statement text.

minutes_intro
string or null

Rich-text content of the meeting minutes introduction text.

minutes_outro
string or null

Rich-text content of the meeting minutes closing statement text.

location
required
string

Location of the meeting. Valid options are seat and custom.

location_custom
string or null

Custom location text field. Used only if location is set to custom.

location_type
required
string

Location type of the meeting. Valid options are

  • onsite
  • remote
  • hybrid
languages
required
Array of strings

Meeting languages represented as array of ISO 639-1 language codes.

video_url
string or null

Meeting video call URL for remote and hybrid meetings. Used only if location_type is set to remote or hybrid.

proxy_voting_enabled
boolean

Indicates whether proxy voting is enabled.

proxy_id
integer (Id) >= 1

Selected proxy ID.

chairman_id
integer (Id) >= 1

Selected chairman ID.

secretary_id
integer (Id) >= 1

Selected secretary ID.

indicated_participation
boolean

Indicates whether participant has indicated participation

checked_in
boolean

Indicates whether participant has checked in

intro_text_seen
boolean

Indicates whether participant has marked intro text as seen

object

Meeting minutes signatures

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "owner": {
    },
  • "group": "board",
  • "type": "meeting",
  • "status": "in_preparation",
  • "subject": "string",
  • "date_time": "2023-05-15T09:30Z",
  • "time_zone": "string",
  • "invitation_intro": "string",
  • "invitation_outro": "string",
  • "minutes_intro": "string",
  • "minutes_outro": "string",
  • "location": "string",
  • "location_custom": "string",
  • "location_type": "string",
  • "languages": [
    ],
  • "video_url": "string",
  • "proxy_voting_enabled": true,
  • "proxy_id": 123,
  • "proxy": {
    },
  • "chairman_id": 123,
  • "chairman": {
    },
  • "secretary_id": 123,
  • "secretary": {
    },
  • "indicated_participation": true,
  • "checked_in": true,
  • "intro_text_seen": true,
  • "minutes_signatures": {
    }
}

Delete Meeting

This endpoint is used to delete a meeting before invitation has been sent.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Meeting Share Classes

Returns a list of share classes relevant for the meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Meeting Invitees

Returns a list of the meeting invitees.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

query Parameters
page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

search
string
Example: search=foo

Text to search for.

type
string
Enum: "assigned_roles" "board_members" "proxy"
Example: type=assigned_roles

Filter invitees by type

order_by
string
Enum: "name" "vote_weight" "invitation_accepted" "checked_in"
Example: order_by=vote_weight

Which field to use for ordering.

order
string
Enum: "asc" "desc"
Example: order=asc

Direction of the ordering.

Responses

Response samples

Content type
application/json
{
  • "count": 100,
  • "previous": null,
  • "results": [
    ]
}

Create Agenda Item

Endpoint for creating agenda items for meetings and resolutions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Request Body schema: application/json
required
title
required
string

Agenda item title.

description
string or null

Rich-text agenda item description.

voting_type
string or null
Enum: "standard" "majority" "board" "custom"

Agenda item voting type.

Array of objects or null (Proposal)

List of voting proposals.

order
required
integer >= 0

An integer that determines the position of agenda item.

is_resolved
boolean

Indicates if the agenda item has been mark as resolved.

object or null (Quorums)

Set of agenda item voting quorums.

protocol
string or null (Protocol)

Rich-text agenda item protocol.

Array of objects (Document_Upload)

Documents related to the agenda item.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "title": "Presentation of the annual results by the board of directors",
  • "description": "This is an example of <strong>rich text</strong> agenda item description.",
  • "voting_type": "standard",
  • "proposals": [
    ],
  • "order": 0,
  • "is_resolved": false,
  • "quorums": {
    },
  • "protocol": "This is an example of <strong>rich text</strong> agenda item protocol.",
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "title": "Presentation of the annual results by the board of directors",
  • "description": "This is an example of <strong>rich text</strong> agenda item description.",
  • "voting_type": "standard",
  • "proposals": [
    ],
  • "order": 0,
  • "is_resolved": false,
  • "quorums": {
    },
  • "protocol": "This is an example of <strong>rich text</strong> agenda item protocol.",
  • "documents": [
    ]
}

List of Agenda Items

Returns a list of agenda items associated with the meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sort Agenda Items

Endpoint for sorting the agenda items of a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Request Body schema: application/json
required
Array
integer (Id) >= 1

Database ID.

Responses

Request samples

Content type
application/json
[
  • 3,
  • 1,
  • 2
]

List of Suggested Agenda Items

Returns a list of suggested agenda items for the meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Agenda Item Detail

Returns agenda item details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "title": "Presentation of the annual results by the board of directors",
  • "description": "This is an example of <strong>rich text</strong> agenda item description.",
  • "voting_type": "standard",
  • "proposals": [
    ],
  • "order": 0,
  • "is_resolved": false,
  • "quorums": {
    },
  • "protocol": "This is an example of <strong>rich text</strong> agenda item protocol.",
  • "documents": [
    ]
}

Edit Agenda Item

Endpoint for editing an agenda item.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

Request Body schema: application/json
required
title
string

Agenda item title.

description
string or null

Rich-text agenda item description.

voting_type
string or null
Enum: "standard" "majority" "board" "custom"

Agenda item voting type.

Array of objects or null (Proposal)

List of voting proposals.

order
integer >= 0

An integer that determines the position of agenda item.

is_resolved
boolean

Indicates if the agenda item has been mark as resolved.

object or null (Quorums)

Set of agenda item voting quorums.

protocol
string or null (Protocol)

Rich-text agenda item protocol.

Array of objects (Document_Upload)

Documents related to the agenda item.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "title": "Presentation of the annual results by the board of directors",
  • "description": "This is an example of <strong>rich text</strong> agenda item description.",
  • "voting_type": "standard",
  • "proposals": [
    ],
  • "order": 0,
  • "is_resolved": false,
  • "quorums": {
    },
  • "protocol": "This is an example of <strong>rich text</strong> agenda item protocol.",
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "title": "Presentation of the annual results by the board of directors",
  • "description": "This is an example of <strong>rich text</strong> agenda item description.",
  • "voting_type": "standard",
  • "proposals": [
    ],
  • "order": 0,
  • "is_resolved": false,
  • "quorums": {
    },
  • "protocol": "This is an example of <strong>rich text</strong> agenda item protocol.",
  • "documents": [
    ]
}

Create transaction to open agenda item proposals.

Endpoint for opening agenda item proposals.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create Agenda Item Proposal

Endpoint for creating a proposal of an agenda item.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

Request Body schema: application/json
required
title
required
string

Proposal title.

by_shareholder
boolean

Indicate whether the proposal was added by shareholder.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "title": "Example of proposal title",
  • "by_shareholder": false,
  • "casted_vote": "for",
  • "results": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1
}

Get Agenda Item Proposal

Get proposal details of an agenda item.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

proposalId
required
integer (Id) >= 1
Example: 123

ID of the proposal.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "title": "Example of proposal title",
  • "order": 0,
  • "by_shareholder": false,
  • "casted_vote": "for",
  • "results": {
    }
}

Edit Agenda Item Proposal

Endpoint for editing a proposal of an agenda item.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

proposalId
required
integer (Id) >= 1
Example: 123

ID of the proposal.

Request Body schema: application/json
required
title
required
string

Proposal title.

by_shareholder
boolean

Indicate whether the proposal was added by shareholder.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "title": "Example of proposal title",
  • "by_shareholder": false,
  • "casted_vote": "for",
  • "results": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1
}

Delete Proposal

This endpoint is used to delete a proposal.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

proposalId
required
integer (Id) >= 1
Example: 123

ID of the proposal.

Responses

Create transaction to submit vote

Endpoint for submitting a vote.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

proposalId
required
integer (Id) >= 1
Example: 123

ID of the proposal.

Request Body schema: application/json
required
string (Vote)
Enum: "for" "against" "abstain"

Participant vote for the proposal

Responses

Request samples

Content type
application/json
"for"

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to close agenda item proposals

Endpoint for closing an agenda item proposals.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

agendaItemId
required
integer (Id) >= 1
Example: 123

ID of the agenda item.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to send invitation

Endpoint for sending an invitation for a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Indicate participation

Endpoint for indicating participation in a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "event_log_id": 123
}

Check in

Endpoint for checking in for a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "event_log_id": 123
}

Create transaction to cancel meeting

Create transaction to cancel meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to start meeting

Endpoint for starting a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to stop meeting

Endpoint for ending a meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Upload Meeting Document

Endpoint to upload a document for the meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Request Body schema: application/json
doc_date
string <date> (Date)

Document date

doc_subject
string

Document subject

files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Document files

Responses

Request samples

Content type
application/json
{
  • "doc_date": "2021-01-15",
  • "doc_subject": "Prospectus",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "doc_date": "2021-01-15",
  • "doc_subject": "Prospectus",
  • "id": 123,
  • "doc_type": "FU",
  • "files": [
    ]
}

Edit Meeting Document

Endpoint to edit a document for the meeting.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

documentId
required
integer (Id) >= 1
Example: 123

ID of the document.

Request Body schema: application/json
doc_date
string <date> (Date)

Document date

doc_subject
string

Document subject

files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Document files

Responses

Request samples

Content type
application/json
{
  • "doc_date": "2021-01-15",
  • "doc_subject": "Prospectus",
  • "files": [
    ]
}

Download Meeting File

Endpoint to download a meeting file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Get details about participation via proxy

Endpoint for getting information about voting via proxy.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "board_proposals": "for",
  • "shareholder_proposals": "for"
}

Enable participation via proxy

Endpoint to enable participation via proxy.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Request Body schema: application/json
required
board_proposals
string (Vote)
Enum: "for" "against" "abstain"

Participant vote for the proposal

shareholder_proposals
string (Vote)
Enum: "for" "against" "abstain"

Participant vote for the proposal

Responses

Request samples

Content type
application/json
{
  • "board_proposals": "for",
  • "shareholder_proposals": "for"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Disable participation via proxy

Endpoint to disable participation via proxy.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Proxy votes summary

Endpoint for getting a summary about shareholders who participate via proxy.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "shareholders": {
    },
  • "shares": {
    }
}

Release votes

Endpoint to release proxy votes.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to request minutes signing

Endpoint for requesting meeting minutes signing.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Cancel minutes signing

Endpoint for canceling meeting minutes signing.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "status": "in_preparation"
}

Create transaction to sign meeting minutes

Endpoint for signing meeting minutes.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to send meeting minutes

Endpoint for sending meeting minutes.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to send resolution results

Endpoint for sending resolution results.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

meetingId
required
integer (Id) >= 1
Example: 123

ID of the meeting.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Issuing

A set of endpoints related to shares issuing.

Allotment

A set of endpoints related to shares allotment.

Conversion

A set of endpoints related to shares conversions.

Capital Increase

A set of endpoints related to capital increase and offerings.

Ownership

A set of endpoints related to company ownership.

Payment Token Issuer

A set of endpoints related to payment tokens issuing and management.

Liquidity

Get liquidity data of CBDC token for the requesting legal entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
date_start
string <date> (Date)
Example: date_start=2021-01-15

Include only records since this date (inclusive).

date_end
string <date> (Date)
Example: date_end=2021-01-15

Include only records until this date (inclusive).

interval
string
Enum: "1d" "1m"
Example: interval=1m

Data granularity of the response (related to start and end date range). It consists of the number and 1 letter representing time period (h == "hour", d == "day", m == "month" and y == "year"). Currently supported values are 1d and 1m.

Responses

Response samples

Content type
application/json
{
  • "currency_code": "XCHF",
  • "time_series": [
    ]
}

Total Supply

Get total supply data for CBDC token

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
date_start
string <date> (Date)
Example: date_start=2021-01-15

Include only records since this date (inclusive).

date_end
string <date> (Date)
Example: date_end=2021-01-15

Include only records until this date (inclusive).

interval
string
Enum: "1d" "1m"
Example: interval=1m

Data granularity of the response (related to start and end date range). It consists of the number and 1 letter representing time period (h == "hour", d == "day", m == "month" and y == "year"). Currently supported values are 1d and 1m.

Responses

Response samples

Content type
application/json
{
  • "currency_code": "XCHF",
  • "time_series": [
    ]
}

Transfers Summary

Get token transfers summary for the requesting legal entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
date_start
string <date> (Date)
Example: date_start=2021-01-15

Include only records since this date (inclusive).

date_end
string <date> (Date)
Example: date_end=2021-01-15

Include only records until this date (inclusive).

interval
string
Enum: "1d" "1m"
Example: interval=1m

Data granularity of the response (related to start and end date range). It consists of the number and 1 letter representing time period (h == "hour", d == "day", m == "month" and y == "year"). Currently supported values are 1d and 1m.

Responses

Response samples

Content type
application/json
{
  • "currency_code": "XCHF",
  • "time_series": [
    ]
}

CBDC

A set of endpoints related to payment tokens CBDC.

Overview

Get overview for CBDC token

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
{
  • "total_supply": "15000.0000",
  • "blocked_for_banknotes": "15000.0000",
  • "liquidity": "15000.0000",
  • "currency_code": "XCHF"
}

Banknotes

Get banknotes in circulation data of CBDC token

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
{
  • "currency_code": "XCHF",
  • "blocked_for_banknotes": "15000.0000",
  • "banknotes": [
    ]
}

Payment Token Assets

A set of endpoints related to payment tokens holder.

Get list of payment tokens

Get list of payment tokens owned by current entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get payment tokens transfers

Get payment tokens transfers for the requesting legal entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
token_id
integer (Id) >= 1
Example: token_id=123

Token ID to filter transfers by.

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transaction to transfer a payment token

Endpoint for transferring a given amount of a payment token to a single recipient.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
string <decimal> (Decimal)

Amount of tokens to transfer.

recipient_address
string (EthereumAddress)

Recipient portfolio address.

Responses

Request samples

Content type
application/json
{
  • "amount": "15000.0000",
  • "recipient_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Utility Token Issuer

Get issued utility tokens

Get list of utility tokens issued by current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transaction to issue utility token

Endpoint for issuing given amount of utility token.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
name
required
string

Utility token name.

unit
string
Value: "t"

Utility token unit.

utility_token_type
required
string

Utility token type.

amount
required
string <decimal> (Decimal)

Amount of utility token to issue.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "name": "CO2C",
  • "unit": "t",
  • "utility_token_type": "carbon_emission_allowance",
  • "amount": "15000.0000"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get issued utility token detail

Get issued utility token details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "status": "valid",
  • "name": "CO2C",
  • "unit": "t",
  • "utility_token_type": "carbon_emission_allowance",
  • "market_listings": [
    ],
  • "total_supply": "15000.0000"
}

Create a transaction to mint utility token

Endpoint for minting given amount of utility token.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

Request Body schema: application/json
required
amount
required
string <decimal> (Decimal)

Amount of utility token to mint.

Responses

Request samples

Content type
application/json
{
  • "amount": "15000.0000"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get utility token issuer events

Get list of utility token issuer related events. This includes mint and burn events done from any address.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

query Parameters
no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download utility token event file

Endpoint to download a token event related file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Liquidity

Get liquidity data of token for the requesting legal entity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
date_start
string <date> (Date)
Example: date_start=2021-01-15

Include only records since this date (inclusive).

date_end
string <date> (Date)
Example: date_end=2021-01-15

Include only records until this date (inclusive).

interval
string
Enum: "1d" "1m"
Example: interval=1m

Data granularity of the response (related to start and end date range). It consists of the number and 1 letter representing time period (h == "hour", d == "day", m == "month" and y == "year"). Currently supported values are 1d and 1m.

Responses

Response samples

Content type
application/json
{
  • "time_series": [
    ]
}

Minted and burned tokens summary

Get summary of minted and transferred tokens

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
date_start
string <date> (Date)
Example: date_start=2021-01-15

Include only records since this date (inclusive).

date_end
string <date> (Date)
Example: date_end=2021-01-15

Include only records until this date (inclusive).

interval
string
Enum: "1d" "1m"
Example: interval=1m

Data granularity of the response (related to start and end date range). It consists of the number and 1 letter representing time period (h == "hour", d == "day", m == "month" and y == "year"). Currently supported values are 1d and 1m.

Responses

Response samples

Content type
application/json
{
  • "time_series": [
    ]
}

In circulation

Get amount of tokens in circulation

Authorizations:
TokenAuthentication

Responses

Response samples

Content type
application/json
{
  • "value": "15000.0000"
}

Documents & Files

A set of endpoints related to management of documents and files.

Contracts Signing

A set of endpoints related to documents and contracts signing.

Proof of Existence

A set of endpoints related to proof of existence of documents and files.

Arbiter

A set of endpoints related to arbiter service providers.

Get list of transfers

Get list of transfers for the current entity as arbiter

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
token_id
integer (Id) >= 1
Example: token_id=123

ID of the token.

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get transfer details

Get transfer details

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "amount": 20,
  • "price_per_unit": "15000.0000",
  • "currency": "CHF",
  • "due_date": "2023-05-15T09:30Z",
  • "id": 123,
  • "type": "restricted_transfer",
  • "token_name": "Der Erlkönig",
  • "arbiter": {
    },
  • "stage": "initialized",
  • "date_time": "2023-05-15T09:30Z",
  • "recipient": {
    },
  • "sender": {
    },
  • "documents": [
    ],
  • "payment_instructions": {
    },
  • "stages": [
    ],
  • "allowed_actions": [
    ],
  • "metadata": {
    }
}

Approve payment receipt

Endpoint for approving a payment receipt uploaded by recipient. By calling this endpoint the arbiter can confirm that the sender received the payment. After the transaction is processed the transfer will be completed and recipient will receive tokens.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Download Transfer File

Endpoint to download a transfer file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Cancel transfer

Endpoint for cancelling the transfer.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

transferId
required
integer (Id) >= 1
Example: 123

Database ID of the transfer.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Custodian

A set of endpoints related to custodian service providers.

Registrar

A set of endpoints related to registrar service providers.

Product Offerings

A set of endpoints related to product offerings and related plans.

Product Offering pricing

Returns pricing of a product offering.

query Parameters
offering_type
required
string (OfferingType)
Enum: "basic" "corporate_housekeeping" "artworks_curator" "artworks_investor" "certificates" "custodian" "object_authenticity" "verifier"
Example: offering_type=corporate_housekeeping

Product offering type.

provider_id
required
integer (Id) >= 1
Example: provider_id=123

Product offering provider id.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List of Product Offerings

Returns a list of product offerings available for the current legal entity.

path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
page_size
integer
Example: page_size=10

How many results to show per page.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Product Offering details

Returns details of a product offering.

path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

offeringId
required
integer (Id) >= 1
Example: 123

ID of the product offering.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "title": "Corporate Housekeeping",
  • "created_at": "2023-05-15T09:30Z",
  • "short_desc": "For individuals & companies. Investing in co-ownership shares and artworks trading.",
  • "provider": {
    },
  • "offering_type": "corporate_housekeeping",
  • "status": "active",
  • "requirements": [
    ],
  • "application_status": "ongoing",
  • "is_subscribed": true,
  • "desc": "Investing in co-ownership artwork shares and trading. Also offers additional services, such as art authentication, storage, and shipping. Designed to make the art buying process more convenient and accessible, while also providing a secure and reliable marketplace for transactions.",
  • "pricing_plans": [
    ],
  • "documents": [
    ]
}

Download Product Offering File

Endpoint to download a product offering contract file.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

offeringId
required
integer (Id) >= 1
Example: 123

ID of the product offering.

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Plan Subscriptions

List of active pricing plan subscriptions of the legal entity

Returns a list of active pricing plan subscriptions of the legal entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Subscribe legal entity to a plan

Endpoint for creating a new plan subscription for the legal entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

offeringId
required
integer (Id) >= 1
Example: 123

ID of the product offering.

pricingPlanId
required
integer (Id) >= 1
Example: 123

ID of the pricing plan.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "pricing_plan": {
    },
  • "active_since": "2023-05-15T09:30Z",
  • "active_until": "2023-05-15T09:30Z"
}

Transactions Legacy

Transaction Status

Retrieve the status of transaction specified by signed transaction hash.

Authorizations:
TokenAuthentication
path Parameters
hash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Hash

Responses

Response samples

Content type
application/json
"accepted"

Send Transaction

Submits a signed transaction to blockchain

Authorizations:
TokenAuthentication
Request Body schema: application/json
hashToSign
string (Hash)

Hexadecimal hash. 0x prefixed.

signature
string (Signature)

Signature

Responses

Request samples

Content type
application/json
{
  • "hashToSign": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac",
  • "signature": "0x29882cd9245ceba497300ef86d16bd684ac719094ebd8c5662f0a1d504137174f5355dc285d110ad3dc121ba12c6ccb961a67eb3caa910970be72f47da1348b964"
}

Response samples

Content type
application/json
{
  • "redirect_url": "/document-signing/",
  • "signed_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Transactions

Unsigned Transaction

Returns unsigned transaction details.

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Response samples

Content type
application/json
{
  • "technical_details": {
    },
  • "batch": {
    },
  • "price_info": {
    },
  • "description": "<p>Please, sign the transaction to submit your vote \"<b>Yes</b>\" for the proposal \"<b>I herewith consent that the attached annual report for 2019 will be submitted to the shareholders for final approval</b>\"",
  • "documents": [
    ],
  • "title": "Confirm Distribution",
  • "details": [
    ],
  • "legal_entity": {
    }
}

Cancel transaction

Cancel transaction

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Sign transaction with custodial wallet

Sign transaction with custodial wallet

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Response samples

Content type
application/json
{
  • "signed_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Transaction Status

Retrieve the status of transaction specified by signed transaction hash.

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Response samples

Content type
application/json
"accepted"

Skip waiting for transaction to be processed

Skip waiting for transaction to be processed by sending the websocket message update

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Download Transaction File

Endpoint to download a file attached to the transaction.

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Transaction Native Signing Url

Get signing url to sign a transaction on the TWEX® native app.

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Response samples

Content type
application/json
"trustwise-app://tx-details?tx=%7B%22action%22%3A+%22signTransactionHash%22%2C+%22data%22%3A+%7B%22account%22%3A+%2201741B7043ff6931fC607cC9036A4ED58f20a55B%22%2C+%22hd_path%22%3A+%22m%2F44%27%2F60%27%2F0%27%2F0%2F544%22%2C+%22hash%22%3A+%22e8355109f42ca02defe50bb4c7d67f3ebca3bc2402a90d62e4d9da22aecd5ad7%22%2C+%22details%22%3A+%7B%22gasPrice%22%3A+10000000000%2C+%22gas%22%3A+622629%2C+%22nonce%22%3A+1993%2C+%22to%22%3A+%220x2d8d7B7c584CF4490F53c22302A3e16dB4d92Bb7%22%2C+%22value%22%3A+0%7D%7D%7D"

Send additional websocket and push notification

Send additional websocket and push notification, e.g. when the modal with transaction signing is re-opened

Authorizations:
TokenAuthentication
path Parameters
unsignedHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Unsigned hash of a transaction

Responses

Management

List of Registered Objects

Returns a list of registered objects.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

query Parameters
order
string
Enum: "asc" "desc"
Example: order=asc

Direction of the ordering.

order_by
string
Example: order_by=date_time

Field name to use for the items ordering.

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Registered Object

Returns details about registered object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Responses

Response samples

Content type
application/json
{
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "creation_date": 1831,
  • "technique": "Landscape-format yoko-e print",
  • "dimensions": "25 cm x 37 cm (9.8 in x 14.6 in)",
  • "short_desc": "Landscape-format yoko-e print",
  • "long_desc": "The landscape is composed of three elements: a stormy sea, three boats, and a mountain. The artist's signature is visible in the upper left-hand corner.",
  • "thumbnail": "preview.jpg",
  • "thumbnail_large": "preview.jpg",
  • "id": 123,
  • "registered_at": "2019-08-24T14:15:22Z",
  • "blockchain_id": 123,
  • "status": "pending",
  • "object_type": "painting",
  • "manager": {
    },
  • "has_co_ownership": false,
  • "registrant": {
    },
  • "last_event": {
    },
  • "media": [
    ],
  • "catalog": {
    },
  • "co_ownership": {
    },
  • "last_location": {
    }
}

Create Registered Object

Endpoint for registering an object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

Request Body schema: application/json
required
author
string (ObjectAuthor)

Object author.

title
string (ObjectTitle)

Object title.

creation_date
string

Object creation date.

technique
string

Object technique.

dimensions
string

Object dimensions.

short_desc
string

Object short description.

long_desc
string

Object long description.

Array of objects (ObjectMedia_Upload)

Responses

Request samples

Content type
application/json
{
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "creation_date": 1831,
  • "technique": "Landscape-format yoko-e print",
  • "dimensions": "25 cm x 37 cm (9.8 in x 14.6 in)",
  • "short_desc": "Landscape-format yoko-e print",
  • "long_desc": "The landscape is composed of three elements: a stormy sea, three boats, and a mountain. The artist's signature is visible in the upper left-hand corner.",
  • "media": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Edit Registered Object

Endpoint for editing a registered object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
author
string (ObjectAuthor)

Object author.

title
string (ObjectTitle)

Object title.

creation_date
string

Object creation date.

technique
string

Object technique.

dimensions
string

Object dimensions.

short_desc
string

Object short description.

long_desc
string

Object long description.

Responses

Request samples

Content type
application/json
{
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "creation_date": 1831,
  • "technique": "Landscape-format yoko-e print",
  • "dimensions": "25 cm x 37 cm (9.8 in x 14.6 in)",
  • "short_desc": "Landscape-format yoko-e print",
  • "long_desc": "The landscape is composed of three elements: a stormy sea, three boats, and a mountain. The artist's signature is visible in the upper left-hand corner."
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create object provenance, event and valuation history

Endpoint for creating a registered object provenance, event and valuation history.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
title
string

Object provenance, event and valuation history title

event_type
string
Enum: "exhibition" "auction" "assessment" "proof_of_provenance" "certificate_of_auth"

Event type

date
string <date> (Date)

Event date

created_at
string <date-time> (DateTime)

Event creation datetime represented as ISO 8601 string.

object_value
string

Object value

currency
string (Currency)

Value currency

new_files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Object provenance, event and valuation history files

Responses

Request samples

Content type
application/json
{
  • "title": "Prospectus",
  • "event_type": "assessment",
  • "date": "2021-01-15",
  • "created_at": "2023-05-15T09:30Z",
  • "object_value": "10000.0000000000000",
  • "currency": "CHF",
  • "new_files": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create object safekeeping location

Endpoint for creating a registered object safekeeping location.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
date
string <date> (Date)

Location date

jurisdiction
string (Country)

Location jurisdiction.

responsible_entity_name
string

Name of the legal entity which currently manages the object.

location
string

Safekeeping location

new_files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Object safekeeping location files

Responses

Request samples

Content type
application/json
{
  • "date": "2021-01-15",
  • "jurisdiction": "CH",
  • "responsible_entity_name": "Justin Case",
  • "location": "Kunstgalerie Rothenburg, Herrngasse 34, 91541 Rothenburg ob der Tauber, Germany",
  • "new_files": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Update Object Media

Endpoint for updating a registered object media.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
doc_date
string <date> (Date)

Document date

doc_subject
string

Document subject

new_files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Document files

Responses

Request samples

Content type
application/json
{
  • "doc_date": "2012-01-01",
  • "doc_subject": "Registration details",
  • "files": [
    ],
  • "new_files": "<content transferred in binary (octet-stream)>"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Sort Object Media

Endpoint for sorting a registered object media.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
Array
integer (Id) >= 1

Database ID.

Responses

Request samples

Content type
application/json
[
  • 3,
  • 1,
  • 2
]

Update Object Manager

Endpoint for updating a registered object manager.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
id
integer (Id) >= 1

Database ID of the new manager

Responses

Request samples

Content type
application/json
{
  • "id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Tokenize registered object

Endpoint for tokenizing a registered object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Request Body schema: application/json
required
reference_value
any <float>

Reference value

no_of_units
int

Number of units

currency
string (Currency)

Object tokenization reference value currency

jurisdiction
string (Country)

Object tokenization jurisdiction

initial_owner_id
integer (Id) >= 1

Object initial owner ID

Responses

Request samples

Content type
application/json
{
  • "reference_value": "2000.0000",
  • "no_of_units": 40,
  • "currency": "CHF",
  • "jurisdiction": "CH",
  • "initial_owner_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Registered Object Terms and Conditions

Returns registered object Terms and Conditions

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

query Parameters
doc_type
required
string
Enum: "COA" "CCM"
Example: doc_type=COA

Document type

Responses

Response samples

Content type
application/json
{
  • "co_ownership_agreement": {
    },
  • "co_owner_curator_mandate": {
    }
}

Registered Object Co-Owners

Returns a list of the object co-owners.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Co-Ownership

Registered Object Details

Returns details about registered object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Responses

Response samples

Content type
application/json
{
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "creation_date": 1831,
  • "technique": "Landscape-format yoko-e print",
  • "dimensions": "25 cm x 37 cm (9.8 in x 14.6 in)",
  • "short_desc": "Landscape-format yoko-e print",
  • "long_desc": "The landscape is composed of three elements: a stormy sea, three boats, and a mountain. The artist's signature is visible in the upper left-hand corner.",
  • "thumbnail": "preview.jpg",
  • "thumbnail_large": "preview.jpg",
  • "id": 123,
  • "registered_at": "2019-08-24T14:15:22Z",
  • "blockchain_id": 123,
  • "status": "pending",
  • "object_type": "painting",
  • "manager": {
    },
  • "has_co_ownership": false,
  • "registrant": {
    },
  • "last_event": {
    },
  • "media": [
    ],
  • "catalog": {
    },
  • "co_ownership": {
    }
}

Registered object details summary

Returns summary details about registered object.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

catalogType
required
string (CatalogType)
Value: "artworks"
Example: artworks

Object catalog type

objectType
required
string
Enum: "painting" "sculpture" "audio" "video" "photography" "installation"
Example: painting

Object type

objectId
required
integer (Id) >= 1
Example: 123

ID of the registered object.

Responses

Response samples

Content type
application/json
{
  • "author": "Katsushika Hokusai",
  • "title": "The Great Wave of Kanagawa",
  • "creation_date": 1831,
  • "technique": "Landscape-format yoko-e print",
  • "dimensions": "25 cm x 37 cm (9.8 in x 14.6 in)",
  • "media": [
    ]
}

Registries

List of registries

Returns a list of registries.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Registry detail

Returns registry detail.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

Responses

Response samples

Content type
application/json
{
  • "name": "Artworks Curators Registry",
  • "type": "artwork_curators",
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "members": [
    ]
}

Registry permissions

Returns registry permissions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

Responses

Response samples

Content type
application/json
[
  • "edit_object",
  • "create_co_ownership_quotas",
  • "attach_coa"
]

Create registry member

Creates registry member with selected permissions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

Request Body schema: application/json
required
permissions
Array of strings (Permissions_Detail)
Items Enum: "edit_object" "create_co_ownership_quotas" "attach_coa"

Registry permissions.

legal_entity_id
integer (Id) >= 1

Database ID.

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ],
  • "legal_entity_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Registry member details

Returns registry member details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

Responses

Response samples

Content type
application/json
Example
{
  • "name": "Example Company",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "id": 44,
  • "wallet_address": "0x6ec1b319d1fc6aea77bd016b08f0b246fc6eead08c48684c76e387b2ab3e8bc6",
  • "avatar": {
    },
  • "phone_number": "+41618266060",
  • "address": {
    },
  • "registered_at": "2021-01-15",
  • "documents": [
    ],
  • "registered_by": "Werner Bahnhoff",
  • "jurisdiction": "CH"
}

Remove registry member

Removes registry member.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Update registry member permissions

Returns registry member permissions.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

Request Body schema: application/json
required
permissions
Array of strings (Permissions_Detail)
Items Enum: "edit_object" "create_co_ownership_quotas" "attach_coa"

Registry permissions.

Responses

Request samples

Content type
application/json
{
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Registry member logs

Returns registry member logs.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create registry member log

Creates registry member log.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

Request Body schema: application/json
required
date
string <date-time> (DateTime)

datetime represented as ISO 8601 string.

note
string

Log note.

files
Array of strings <binary> (DocumentFiles) [ items <binary > ]

Document files

Responses

Request samples

Content type
application/json
{
  • "date": "2023-05-15T09:30Z",
  • "note": "For over 250-years, Christie's has the unique honour and privilege of stewarding great works of art",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "date": "2023-05-15T09:30Z",
  • "note": "For over 250-years, Christie's has the unique honour and privilege of stewarding great works of art",
  • "id": 123,
  • "files": [
    ]
}

Registry member log detail

Returns registry member log.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

registryId
required
integer (Id) >= 1
Example: 123

Registry ID.

memberId
required
integer (Id) >= 1
Example: 123

Member ID.

logId
required
integer (Id) >= 1
Example: 123

Log ID.

Responses

Response samples

Content type
application/json
{
  • "date": "2023-05-15T09:30Z",
  • "note": "For over 250-years, Christie's has the unique honour and privilege of stewarding great works of art",
  • "id": 123,
  • "files": [
    ]
}

Subscriptions Offerings

A set of endpoints related to offerings subscriptions.

Artworks Listings

List of artworks tokens available on the market

Returns artworks tokens listed on the market.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

search
string
Example: search=foo

Text to search for.

Responses

Response samples

Content type
application/json
{
  • "count": 234,
  • "results": [
    ]
}

Artworks market listed token detail

Get details for artworks token listed on the market

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

Responses

Response samples

Content type
application/json
{
  • "thumbnail": "preview.jpg",
  • "thumbnail_large": "preview.jpg",
  • "id": 123,
  • "author": "Katsushika Hokusai",
  • "name": "The Great Wave of Kanagawa",
  • "currency": "CHF",
  • "highest_bid_price": 0,
  • "lowest_ask_price": "15000.0000",
  • "vol_bid": 0,
  • "vol_ask": 234,
  • "listed_since": "2021-01-15",
  • "total_supply": "15000.0000",
  • "reference_price": "15000.0000",
  • "object_type": "painting",
  • "object_id": 123
}

Orders

Market orders

Returns market orders.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

query Parameters
page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

order
string
Enum: "asc" "desc"
Example: order=asc

Direction of the ordering.

order_by
string
Example: order_by=date_time

Field name to use for the items ordering.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create transaction to create market order

Create market order.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

portfolioId
required
integer (Id) >= 1
Example: 123

ID of the portfolio.

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

Request Body schema: application/json
required
amount
integer

Market order amount

currency
string (Currency)

Currency

valid_until
string <date> (Date)

Date represented as string.

price_per_unit
string <decimal> (Decimal)

Market order price per unit

iban
string (Iban)

Bank account IBAN

payment_method
string
Enum: "off_chain" "dvp"

Selected payment method.

order_type
string (OrderContractType)
Enum: "limit_buy" "limit_sell"

Order type.

arbiter_id
integer (Id) >= 1

Arbiter legal entity database ID.

portfolio_id
integer (Id) >= 1

Portfolio ID from which to create the order.

Responses

Request samples

Content type
application/json
{
  • "amount": 200,
  • "currency": "CHF",
  • "price_per_unit": "95.50",
  • "valid_until": "2021-12-31",
  • "iban": "CH982351654531351234H",
  • "order_type": "limit_sell",
  • "payment_method": "off_chain",
  • "arbiter_id": 1,
  • "portfolio_id": 1
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Calculate an order fee

Endpoint for getting an order fee.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

Request Body schema: application/json
required
amount
required
integer

Transfer amount.

price_per_unit
required
string <decimal> (Decimal)

Token price per unit.

currency
required
string (Currency)

Token price currency

Responses

Request samples

Content type
application/json
{
  • "amount": 20,
  • "price_per_unit": "15000.0000",
  • "currency": "CHF"
}

Response samples

Content type
application/json
{
  • "fee": "15000.0000",
  • "currency": "CHF"
}

Market order details

Returns market order details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

orderId
required
integer (Id) >= 1
Example: 123

ID of the order.

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "amount": 0,
  • "currency": "CHF",
  • "valid_until": "2021-01-15",
  • "price_per_unit": "15000.0000",
  • "created_by_id": 123,
  • "order_type_contract": {
    },
  • "iban": "CH982351654531351234H",
  • "payment_method": "off_chain",
  • "arbiter": {
    }
}

Create a transaction to accept market order

Accept market order.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

orderId
required
integer (Id) >= 1
Example: 123

ID of the order.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create transaction to delete market order

Create transaction to delete market order.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

tokenId
required
integer (Id) >= 1
Example: 123

ID of the token for which the orders can be added.

orderId
required
integer (Id) >= 1
Example: 123

ID of the order.

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Data Rooms

Get list of data rooms

Get list of data rooms that can be accessed by current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a transaction to create data room

Create a transaction to create, deploy and open data room

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema:
required
room_type
required
string
Enum: "documents" "custom_schema"

Data room type. The "Documents Only" option provides a streamlined experience for many common use cases while the "Custom Schema" option offers flexibility and extensibility. This setting can be changed only when the data room is in "draft" status.

name
required
string

A descriptive name of the data room. Doesn't have to be unique. For non-private rooms the name will be shown when the room verification results are accessed with a valid external URL. This setting can be changed only when the data room is in "draft" status.

is_private
required
boolean

Indicates whether data room is private. Private rooms cannot be accessed without explicit read access. By default only the legal entity who is room owner has access. For non-private rooms some of the room details and verification results are accessible externally with a valid external URL. This setting can be changed only when the data room is in "draft" status.

description
string

Description of the data room.

verifiers_enabled
boolean

Indicates whether data room verifiers are enabled. This setting can be changed only when there are no verifiers.

external_readers_enabled
boolean

Indicates whether data room external readers are enabled. This setting can be changed only when there are no readers.

contributors_enabled
boolean

Indicates whether data room contributors are enabled. This setting can be changed only when there are no contributors.

devices_enabled
boolean

Indicates whether data room devices are enabled.

Array of objects or null (CustomSchema)

Array of custom schema fields. Relevant only if room_type is set to "custom_schema". This setting can be changed only when the data room is in "draft" status.

Request samples

Content type
{
  • "room_type": "documents",
  • "name": "Climate Data Room",
  • "is_private": true,
  • "description": "Data Room to record climate changes.",
  • "verifiers_enabled": true,
  • "external_readers_enabled": false,
  • "contributors_enabled": false,
  • "devices_enabled": false,
  • "schema": [
    ]
}

Get data room detail

Get data room details.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
{
  • "room_type": "documents",
  • "name": "Climate Data Room",
  • "is_private": true,
  • "description": "Data Room to record climate changes.",
  • "verifiers_enabled": true,
  • "external_readers_enabled": false,
  • "contributors_enabled": false,
  • "devices_enabled": false,
  • "schema": [
    ],
  • "id": 123,
  • "owner": {
    },
  • "status": "open",
  • "opened_at": "2023-05-15T09:30Z",
  • "closed_at": "2023-05-15T09:30Z",
  • "created_at": "2023-05-15T09:30Z",
  • "current_entity_permissions": [
    ]
}

Update data room details

Update data room details. Some fields are editable only if the data room status is "draft".

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Request Body schema: application/json
required
room_type
string
Enum: "documents" "custom_schema"

Data room type. The "Documents Only" option provides a streamlined experience for many common use cases while the "Custom Schema" option offers flexibility and extensibility. This setting can be changed only when the data room is in "draft" status.

name
string

A descriptive name of the data room. Doesn't have to be unique. For non-private rooms the name will be shown when the room verification results are accessed with a valid external URL. This setting can be changed only when the data room is in "draft" status.

is_private
boolean

Indicates whether data room is private. Private rooms cannot be accessed without explicit read access. By default only the legal entity who is room owner has access. For non-private rooms some of the room details and verification results are accessible externally with a valid external URL. This setting can be changed only when the data room is in "draft" status.

description
string

Description of the data room.

verifiers_enabled
boolean

Indicates whether data room verifiers are enabled. This setting can be changed only when there are no verifiers.

external_readers_enabled
boolean

Indicates whether data room external readers are enabled. This setting can be changed only when there are no readers.

contributors_enabled
boolean

Indicates whether data room contributors are enabled. This setting can be changed only when there are no contributors.

devices_enabled
boolean

Indicates whether data room devices are enabled.

Array of objects or null (CustomSchema)

Array of custom schema fields. Relevant only if room_type is set to "custom_schema". This setting can be changed only when the data room is in "draft" status.

Responses

Request samples

Content type
application/json
{
  • "room_type": "documents",
  • "name": "Climate Data Room",
  • "is_private": true,
  • "description": "Data Room to record climate changes.",
  • "verifiers_enabled": true,
  • "external_readers_enabled": false,
  • "contributors_enabled": false,
  • "devices_enabled": false,
  • "schema": [
    ]
}

Response samples

Content type
application/json
{
  • "room_type": "documents",
  • "name": "Climate Data Room",
  • "is_private": true,
  • "description": "Data Room to record climate changes.",
  • "verifiers_enabled": true,
  • "external_readers_enabled": false,
  • "contributors_enabled": false,
  • "devices_enabled": false,
  • "schema": [
    ],
  • "id": 123,
  • "owner": {
    },
  • "status": "open",
  • "opened_at": "2023-05-15T09:30Z",
  • "closed_at": "2023-05-15T09:30Z",
  • "created_at": "2023-05-15T09:30Z",
  • "current_entity_permissions": [
    ]
}

Create a transaction to close a data room

Create a transaction to close the specified data room. After this action no new data sets and no new contributors can be added.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get list of external readers access logs

Get a list of external readers data sets access logs.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get data room permissions list

Get a list of permissions for the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

query Parameters
permission_type
string (PermissionType)
Enum: "read" "write" "verify"

Permission type for which to filter the permissions list

page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

Responses

Response samples

Content type
application/json
{
  • "count": 100,
  • "previous": null,
  • "results": [
    ]
}

Create a transaction to grant permission to data room

Create a transaction to grant permission to the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Request Body schema: application/json
required
permission_type
required
string (PermissionType)
Enum: "read" "write" "verify"

Access permission type for the data room.

legal_entity_id
required
integer (Id) >= 1

ID of the legal entity for whom the permission is being submitted.

Responses

Request samples

Content type
application/json
{
  • "permission_type": "read",
  • "legal_entity_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to revoke a permission from data room

Create a transaction to revoke a permission from the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Request Body schema: application/json
required
permission_type
required
string (PermissionType)
Enum: "read" "write" "verify"

Access permission type for the data room.

legal_entity_id
required
integer (Id) >= 1

ID of the legal entity for whom the permission is being submitted.

Responses

Request samples

Content type
application/json
{
  • "permission_type": "read",
  • "legal_entity_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Data Sets

Get list of data sets

Get list of data sets for the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
{
  • "name": "January 24",
  • "id": 123,
  • "is_sealed": true,
  • "created_at": "2023-05-15T09:30Z",
  • "verification_status": "pending",
  • "reviewed_at": "2023-05-15T09:30Z",
  • "no_of_entries": 0,
  • "granted_token_amount": 0
}

Create a data set

Create a new data set in the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Request Body schema: application/json
required
name
required
string

A descriptive name of the data set. It doesn't have to be unique.

Responses

Request samples

Content type
application/json
{
  • "name": "January 24"
}

Response samples

Content type
application/json
{
  • "name": "January 24",
  • "reviewed_at": "2023-05-15T09:30Z",
  • "reviewed_by": null,
  • "reviewed_by_company": null,
  • "blockchain_id": 123,
  • "granted_token_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "verifier_reports": [
    ]
}

Get data set details

Get data set details for the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Responses

Response samples

Content type
application/json
{
  • "name": "January 24",
  • "reviewed_at": "2023-05-15T09:30Z",
  • "reviewed_by": null,
  • "reviewed_by_company": null,
  • "blockchain_id": 123,
  • "granted_token_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "verifier_reports": [
    ]
}

Update a data set

Update a data set from the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Request Body schema: application/json
required
name
required
string

A descriptive name of the data set. It doesn't have to be unique.

Responses

Request samples

Content type
application/json
{
  • "name": "January 24"
}

Response samples

Content type
application/json
{
  • "name": "January 24",
  • "reviewed_at": "2023-05-15T09:30Z",
  • "reviewed_by": null,
  • "reviewed_by_company": null,
  • "blockchain_id": 123,
  • "granted_token_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "verifier_reports": [
    ]
}

Delete a data set

Delete data set from the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Responses

Create a transaction to seal a data set

Create a transaction to seal a data set in the specified data room. After this action data entries can't be added and data set can't be deleted. Once the data set it closed the verifiers can start submitting the reviews.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Create a transaction to request access to data set

Create a transaction to request access to the specified data set, which will be granted as soon as the transaction is mined and processed. Owner of the data room must have previously granted the current legal entity a permission to request such an access.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Data Entries

Get a list of data entries

Get a list of data entries for a specific data set in a data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

query Parameters
page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

Responses

Response samples

Content type
application/json
{}

Create a data entry

Create a data entry to a specified data set in a data room. This can only be done if data set property "is_closed" is set to false.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Request Body schema: application/json
required
Array
any

Responses

Request samples

Content type
application/json
[
  • "Foo",
  • 34.6,
  • [
    ]
]

Response samples

Content type
application/json
{
  • "id": 123,
  • "recorded_by": null,
  • "recorded_by_company": null,
  • "created_at": "2023-05-15T09:30Z",
  • "data": [
    ]
}

Download a file attached to the data entry

Download a file attached to the data entry.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

dataEntryId
required
integer (Id) >= 1
Example: 123

Data entry ID

fileId
required
integer (Id) >= 1
Example: 123

ID of the file.

Responses

Get a list of files attached to the data entry

Get a list of files attached to the data entry with a specific field key.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

dataEntryId
required
integer (Id) >= 1
Example: 123

Data entry ID

fieldKey
required
string
Example: pdf_reports

Key of the files filed as recorded in the schema.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Data Verification

Get a list of the verifier's data sets

Get a list of data sets that can be verified by currently active entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
verification_status
string (BaseDataSetVerificationStatus)
Enum: "pending" "verified" "rejected"
Example: verification_status=pending

Data set verification status.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get data set details

Get details for the selected data set, which can be verified by the currently active legal entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get data set entries

Get entries for the selected data set, which can be verified by the currently active legal entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

query Parameters
page
integer
Example: page=2

Which page to show.

page_size
integer
Example: page_size=10

How many results to show per page.

Responses

Response samples

Content type
application/json
{}

Create a transaction to record verification results.

Create a transaction to record verification results for a data set to the specified data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

Request Body schema: application/json
required
public_data
string <= 500 characters

Publicly visible data for the data set.

private_data
string <= 500 characters

Private encrypted data for the data set. This can be decrypted provided you have the encryption security key.

granted_token_address
string (EthereumAddress)

Address of the granted token contract.

granted_token_amount
string or null <decimal> (Decimal)

Amount of the granted token.

decision
required
string (VerificationDecision)
Enum: "approved" "rejected"

Verifier decision about the data set.

Array of objects (Document_Upload)

Verifier report documents uploaded by verifier.

Responses

Request samples

Content type
application/json
{
  • "public_data": "string",
  • "private_data": "string",
  • "granted_token_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "granted_token_amount": "15000.0000",
  • "decision": "approved",
  • "verifier_reports": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

External Access

Get external access code

Get external access code to access the data room.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
"mMOzYGekzbXLEQ0sq3URyK4DvH-Jn_0jBkFlOWitgYI"

Generate external access code

Generate external access code to access the data room. If the access code already exists, it will be replaced with a new one.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Response samples

Content type
application/json
"mMOzYGekzbXLEQ0sq3URyK4DvH-Jn_0jBkFlOWitgYI"

Remove external access code

Remove external data room access code.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

dataRoomId
required
integer (Id) >= 1
Example: 123

Data room ID

Responses

Get external access verification summary

Get verification summary displayed when accessing the data room via external access token.

Authorizations:
TokenAuthentication
query Parameters
key
required
string (ExternalAccessKey)
Example: key=mMOzYGekzbXLEQ0sq3URyK4DvH-Jn_0jBkFlOWitgYI

Access token key

Responses

Response samples

Content type
application/json
{
  • "owner": {
    },
  • "data_room_name": "Algae Production Spain",
  • "total_granted_tokens": [
    ],
  • "verifiers": [
    ]
}

Get external access data set list

Get external access data set list.

Authorizations:
TokenAuthentication
query Parameters
key
required
string (ExternalAccessKey)
Example: key=mMOzYGekzbXLEQ0sq3URyK4DvH-Jn_0jBkFlOWitgYI

Access token key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get external access data set detail

Get external access data set detail.

Authorizations:
TokenAuthentication
path Parameters
dataSetId
required
integer (Id) >= 1
Example: 123

Data set ID

query Parameters
key
required
string (ExternalAccessKey)
Example: key=mMOzYGekzbXLEQ0sq3URyK4DvH-Jn_0jBkFlOWitgYI

Access token key

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "January 24",
  • "decision": "approved",
  • "reviewed_at": "2023-05-15T09:30Z",
  • "reviewed_by": null,
  • "reviewed_by_company": null,
  • "public_data": "string",
  • "private_data": "string",
  • "granted_token_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "granted_token_amount": "15000.0000",
  • "verifier_reports": [
    ]
}

Certificate types management

A set of endpoints related to certificate types management.

Get list of certificate types

Get list of certificate types which are managed by the current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a certificate type

Create a certificate type.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
name
string

Certificate type name, which will be displayed to the issuers when issuing certificates and to anyone reading certificates data.

description
string

Certificate type descriptions, which can help the issuer to choose the correct certificate type when issuing and can provide additional information of the reader of the certificate

file
string <binary> (Upload)

File with additional information and/or regulations that can be relevant to issuers and readers of the certificates

url
string (ExternalUrl)

An optional link to the website of the official body or eligible entity with more details and up to date information about the certificate.

object (IdentityRequirements)

Requirements for the identity details of the certificate holder, that must be provided by the issuer in order to create a valid identity QR code

object (CertificateSettings)

Certificate settings determine the behaviour of the additional fields that the issuer will need to input when issuing a certificate

Array of objects (EncryptedDataSchemaField)

Schema of the encrypted data

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "name": "Covid PCR",
  • "description": "The test for the presence of all classes of IgA+IgM+IgG antibodies against COVID -19 will reveal whether you have experienced the disease of COVID -19 in the past",
  • "file": "<content transferred in binary (octet-stream)>",
  • "identity_requirements": {
    },
  • "settings": {
    },
  • "encrypted_data_schema": [
    ]
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get certificate type details

Get certificate type details

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "Covid PCR",
  • "description": "The test for the presence of all classes of IgA+IgM+IgG antibodies against COVID -19 will reveal whether you have experienced the disease of COVID -19 in the past",
  • "identity_requirements": {
    },
  • "settings": {
    },
  • "encrypted_data_schema": [
    ],
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "status": "active",
  • "file": {
    }
}

Update certificate type

Update certificate type

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Request Body schema: application/json
required
issuing_enabled
boolean

Indicates if the issuing permission for the certificate type is enabled or disabled

Responses

Request samples

Content type
application/json
{
  • "issuing_enabled": false
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Invalidate certificate type

Invalidate certificate type

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Add issuer registry to the certificate type

Add issuer registry to the certificate type

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Request Body schema: application/json
required
registry_id
integer (Id) >= 1

Database ID of a certificate issuer registry contract

Responses

Request samples

Content type
application/json
{
  • "registry_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Remove issuer registry from the certificate type

Remove issuer registry from the certificate type

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

Responses

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Issuer registries management

A set of endpoints related to issuer registries management.

Get list of registries

Get list of registries which are managed by the current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

query Parameters
certificateTypeId
integer (Id) >= 1
Example: certificateTypeId=123

Database ID of the certificate type contract

no_of_items
integer
Example: no_of_items=3

How many items to return in the response.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an issuer registry

Create an issuer registry.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
name
string

Descriptive name of the certificate issuer registry

description
string

Description of the certificate issuer registry

Responses

Request samples

Content type
application/json
{
  • "name": "Doctors 1",
  • "description": "Doctors in the city of London"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get issuer registry details

Get issuer registry details

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

Responses

Response samples

Content type
application/json
{
  • "name": "Doctors 1",
  • "description": "Doctors in the city of London",
  • "id": 123,
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "no_of_issuers": 10,
  • "created_at": "2023-05-15T09:30Z",
  • "managed_by": {
    }
}

Get the list of issuers

Get the list of issuers of the given issuer registry

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add an issuer to the registry

Add an issuer to the registry

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

Request Body schema: application/json
required
id
integer (Id) >= 1

Database ID of an issuer

description
string

Free text added by the issuer registry manager to provide additional information about the issuer

expire_at
string <date-time> (DateTime)

Optional date and time until when the issuer is considered a valid member of the registry.

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "description": "General practitioner",
  • "expire_at": "2023-05-15T09:30Z"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Get issuer's details

Get details about the issuer

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

issuerId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer contract

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "description": "General practitioner",
  • "expire_at": "2023-05-15T09:30Z",
  • "name": "Example Company",
  • "entity_type": "company",
  • "email": "contact@example.com",
  • "avatar": {
    },
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c"
}

Update issuer's description

Update a description of an issuer

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

issuerId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer contract

Request Body schema: application/json
required
description
string

Free text added by the issuer registry manager to provide additional information about the issuer

Responses

Request samples

Content type
application/json
{
  • "description": "Ophthalmology"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Remove an issuer from the registry

Remove an issuer from the registry

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

issuerId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer contract

Request Body schema: application/json
required
dismissed_at
string <date> (Date)

Date when the issuer was removed from the registry

Responses

Request samples

Content type
application/json
{
  • "dismissed_at": "2021-01-15"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Update issuer's expiry date

Update a expiry date of an issuer

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

issuerRegistryId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer registry contract

issuerId
required
integer (Id) >= 1
Example: 123

Database ID of the issuer contract

Request Body schema: application/json
required
expire_at
string <date-time> (DateTime)

Date and time until when the issuer is considered a valid member of the registry.

Responses

Request samples

Content type
application/json
{
  • "expire_at": "2023-05-15T09:30Z"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Certificate issuing

Get list of certificate types

Get list of certificate types which can be issued by the current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get certificate type details

Get certificate type details

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "name": "Covid PCR",
  • "description": "The test for the presence of all classes of IgA+IgM+IgG antibodies against COVID -19 will reveal whether you have experienced the disease of COVID -19 in the past",
  • "identity_requirements": {
    },
  • "settings": {
    },
  • "encrypted_data_schema": [
    ],
  • "address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "status": "active",
  • "file": {
    },
  • "managed_by": {
    }
}

Get list of registries

Get list of registries for the given certificate type

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

certificateTypeId
required
integer (Id) >= 1
Example: 123

Database ID of the certificate type contract

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of certificates

Get list of certificates which are issued by the current entity.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Issue a certificate

Create a transaction to issue a certificate.

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
issued_at
string <date> (Date)

Issuing date of the certificate

expire_at
string <date> (Date)

Optional expiry date of the certificate

certificate_id
string (CertificateId)

Unique certificate ID.

certificate_type_address
string (EthereumAddress)

Blockchain address of the certificate type to be issued

registry_address
string (EthereumAddress)

Blockchain address of the issuer registry, which is attached to the certificate type and can revoke the certificates

identity_hash
string (Hash)

Hash of the identity for which the certificate is issued

encrypted_data
string <byte> (EncryptedData)

Optional additional encrypted data

Responses

Request samples

Content type
application/json
{
  • "issued_at": "2021-01-15",
  • "expire_at": "2021-01-15",
  • "certificate_id": "b82ebddd-58b0-4eed-b7fe-43c33920408c",
  • "certificate_type_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "registry_address": "0x4825248699c95BCFb35Ca9Beee765B61010F303c",
  • "identity_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac",
  • "encrypted_data": "0xf0e44651ea20e1a43769a1a4f9c2482795e51e994ec08bad172d727aed25a5f02d99fc816e6f6a8b47477d"
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Send an email with identity

Send an email with the PDF containing the identity

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
email
string (Email)

Email address of the certificate holder

file
string <binary> (Upload)

File that contains the identity QR code

Responses

Request samples

Content type
application/json
{
  • "email": "contact@example.com",
  • "file": "<content transferred in binary (octet-stream)>"
}

Revoke a certificate

Revoke an issued certificate

Authorizations:
TokenAuthentication
path Parameters
companyId
required
integer (Id) >= 1
Example: 123

Company ID

Request Body schema: application/json
required
certificate_id
string (CertificateId)

Unique certificate ID.

certificate_type_id
integer (Id) >= 1

Database ID of the certificate type contract

Responses

Request samples

Content type
application/json
{
  • "certificate_id": "b82ebddd-58b0-4eed-b7fe-43c33920408c",
  • "certificate_type_id": 123
}

Response samples

Content type
application/json
{
  • "tx_hash": "0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac"
}

Certificate reading

Get a list of certificates

Get a list of certificates issued for the scanned DDID

path Parameters
personHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Hash of the identity

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download official document

Download official document attached to the certificate type

path Parameters
certificateTypeAddress
required
string (EthereumAddress)
Example: 0x4825248699c95BCFb35Ca9Beee765B61010F303c

Blockchain address of the certificate type

Responses

Download certificate file

Download a file attached to the certificate in the additional data

Authorizations:
FileAccessTokenAuthentication
path Parameters
certificateTypeAddress
required
string (EthereumAddress)
Example: 0x4825248699c95BCFb35Ca9Beee765B61010F303c

Blockchain address of the certificate type

certificateId
required
string
Example: b82ebddd-58b0-4eed-b7fe-43c33920408c

Unique ID of the certificate

fileHash
required
string (Hash)
Example: 0xff3a8fccd3609fc864a368409f38912b630213b6b3f12100c5bbe82b27706dac

Hash of the file

Responses