Skip to content
On this page

Verus API

EndpointMethodDescription
/verus/checkChallengewebRequestCheck Verus challenge
/verus/signDisclaimerwebRequestSign disclaimer with Verus
/verus/signDisclaimer/checkChallengewebRequestCheck Verus challenge for sign disclaimer
/verus/purchaseContentwebRequestPurchase content with Verus
/verus/purchaseContent/checkChallengewebRequestCheck Verus challenge for purchase content
/verus/verusIdLoginResponsewebRequestProxy response from Verus to crypto server.
/verus/verusIdLoginResponseTestnetwebRequestProxy response from Verus to crypto server (Testnet).
/verus/getChallengeDeeplinkwebRequestGet Verus deeplink by challenge id.
/verus/signMessageByUserResponsewebRequestProxy response from Verus to crypto server.
/verus/claimsSendResponsewebRequestProxy response from Verus to crypto server.
/verus/claimsSendResponseTestnetwebRequestProxy response from Verus to crypto server (Testnet).
/verus/createAndSignEndorsementResponsewebRequestProxy response from Verus to crypto server.
/verus/createAndSignEndorsementResponseTestnetwebRequestProxy response from Verus to crypto server (Testnet).
/verus/getClaimsDatawebRequestApi returns claims data that should be saved by Verus wallet (using one time token).
/verus/getClaimsData/{challengeId}webRequestApi returns claims data that should be saved by Verus wallet (using challengeId).
/verus/getAttestationResponsewebRequestProxy response from Verus to crypto server.
/verus/getAttestationProofsResponsewebRequestProxy response from Verus to crypto server.
/agreement/{agreementType}?...queryParameterswebRequestShow agreement page.
verus:getScopedRootKeywebsocketGet scoped root key from Verus wallet
verus:createAlbumwebsocketCreate album using Verus
verus:listAlbumForSalewebsocketList album for sale using Verus
verus:giftAlbumwebsocketGift album using Verus
verus:getCreatedPlaylistwebsocketGet Created playlist using Verus
verus:getNewPlaylistwebsocketGet New playlist using Verus
verus:getMyPlaylistwebsocketGet My playlist using Verus
verus:signDisclaimerwebsocketSign disclaimer using Verus
verus:purchaseContentwebsocketPurchase content using Verus
verus:sendMoneyToUserwebsocketVerus send money to user
verus:sendMoneyToIdentitywebsocketVerus send money to identity
verus:exchangeCryptowebsocketVerus exchange crypto
verus:getUserBalancewebsocketVerus get user balance
verus:getExchangeRatewebsocketVerus get exchange rate
verus:getExchangeRateswebsocketVerus get exchange rates
verus:getVerusCoinPricewebsocketGet verus coin price
verus:getTransactionStatusHistorywebsocketVerus get transaction status history
verus:listTransactionStatusHistorywebsocketVerus list transaction status history
verus:createVerifiableMessagewebsocketVerus create verifiable statement message
verus:createStatementClaimwebsocketVerus create statement claim
verus:createVerifiableSocialAccountwebsocketVerus create verifiable social account
verus:createSocialAccountClaimwebsocketVerus create social account claim
verus:createVerifiableSkillMessagewebsocketVerus create verifiable skill message
verus:createSkillClaimwebsocketVerus create skill claim
verus:createVerifiableWorkExperienceMessagewebsocketVerus create verifiable work experience message
verus:createWorkExperienceClaimwebsocketVerus create work experience claim
verus:createVerifiableEducationMessagewebsocketVerus create verifiable education message
verus:createEducationClaimwebsocketVerus create education claim
verus:createVerifiableAchievementMessagewebsocketVerus create verifiable achievement message
verus:createAchievementClaimwebsocketVerus create achievement claim
verus:deleteVerifiableMessagewebsocketVerus delete verifiable message
verus:deleteTargetAttestationClaimwebsocketVerus delete target attestation claim
verus:deleteAttestationClaimwebsocketVerus delete attestation claim
verus:updateVerifiableWorkExperienceMessagewebsocketVerus update verifiable work experience message
verus:updateWorkExperienceClaimwebsocketVerus update work experience claim
verus:updateVerifiableEducationMessagewebsocketVerus update verifiable education message
verus:updateEducationClaimwebsocketVerus update education claim
verus:updateVerifiableAchievementMessagewebsocketVerus update verifiable achievement message
verus:updateAchievementClaimwebsocketVerus update achievement claim
verus:listVerifiableMessageswebsocketVerus list verifiable statement messages
verus:listAttestationClaimswebsocketVerus list attestation claims
verus:listStatementClaimswebsocketVerus list statement claims
verus:listVerifiableSkillMessageswebsocketVerus list verifiable skill messages
verus:listSkillClaimswebsocketVerus list skill claims
verus:listVerifiableWorkExperienceMessageswebsocketVerus list verifiable work experience messages
verus:listWorkExperienceClaimswebsocketVerus list work experience claims
verus:listVerifiableEducationMessageswebsocketVerus list verifiable education messages
verus:listEducationClaimswebsocketVerus list education claims
verus:listVerifiableAchievementMessageswebsocketVerus list verifiable achievement messages
verus:listAchievementClaimswebsocketVerus list achievement claims
verus:searchSkillTagswebsocketVerus search skill tags
verus:listVerifiableMessageSignatureswebsocketVerus list verifiable message signatures
verus:listAttestationClaimSignatureswebsocketVerus list attestation claim signatures
verus:listUserEndorsementswebsocketVerus list user endorsements
verus:listUserEndorsementsWithClaimswebsocketVerus list user endorsements with claims
verus:getDeeplinkToVerifyMessagewebsocketVerus get deeplink to verify message
verus:getDeeplinkToVerifyAttestationClaimwebsocketVerus get deeplink to verify attestation claim
verus:listVerifiableSocialAccountswebsocketVerus list verifiable social accounts
verus:listSocialAccountsClaimswebsocketVerus list social accounts claims
verus:provideProofToVerifySocialAccountwebsocketVerus provide proof to verify social account
verus:getDeeplinkToSaveClaimswebsocketVerus get deeplink to save claims
verus:getDeeplinkToSignCredentialwebsocketVerus get deeplink to sign credential
verus:getDeeplinkToCreateEndorsementwebsocketVerus get deeplink to create endorsement
verus:saveEndorsementsToBlockchainwebsocketVerus save endorsements to blockchain
verus:getEndorsementHashwebsocketVerus get endorsement hash
verus:getEndorsementVerifyLinkwebsocketVerus get endorsement verify link
verus:createCredentialTemplatewebsocketVerus create credential template
verus:deleteCredentialTemplatewebsocketVerus delete credential template
verus:listCredentialTemplateswebsocketVerus list credential templates
verus:grantCredentialwebsocketVerus grant credential
verus:listCredentialswebsocketVerus list credentials
verus:revokeCredentialwebsocketVerus revoke credential
verus:synchronizeClaimsAndEndorsementswebsocketVerus synchronize claims and endorsements
verus:getDeeplinkForAttestationProofsFromWalletwebsocketVerus get deeplink for attestation proofs from wallet
verus:getDeeplinkForAttestationValuesFromWalletwebsocketVerus get deeplink for attestation values from wallet
verus:getDeeplinkForAttestationwebsocketVerus get deeplink for attestation
verus:getDeeplinkForAttestationProofswebsocketVerus get deeplink for attestation proofs
verus:getUserAttestationwebsocketVerus get user attestation
verus:createAttestationBlockwebsocketVerus create attestation block
verus:deleteAttestationBlockwebsocketVerus delete attestation block
verus:updateAttestationBlockwebsocketVerus update attestation block
verus:publishAttestationBlockwebsocketVerus publish attestation block
verus:listAttestationBlockswebsocketVerus list attestation blocks
verus:getAttestationBlocksForUserwebsocketVerus get attestation blocks for user
verus:listAttestationBlocksForUserwebsocketVerus list attestation blocks for user
verus:setAnswersForAttestationBlockwebsocketVerus set answers for attestation block
verus:setAnswersForBlockwebsocketVerus set answers for block
verus:getBlockVDXFKeysBySuffixwebsocketVerus get block vDXF keys by suffix
verus:createCurrencyIdentitywebsocketVerus create currency identity
verus:checkCurrencyIdentityNamewebsocketVerus check currency identity name
verus:changeCurrencyOwnerwebsocketVerus change currency owner
verus:mintNFTOnCurrencywebsocketVerus mint nFT on currency
verus:listIdentitiesFromWalletOnCurrencywebsocketVerus list identities from wallet on currency
verus:getAllIdentitiesInWalletOnCurrencywebsocketVerus get all identities in wallet on currency
verus:getProvisionDeeplinkwebsocketVerus get provision deeplink
verus:verifiableStatementCreatedwebsocketEventOn attestation statement claim created event: deprecated
verus:statementClaimCreatedwebsocketEventOn attestation statement claim created event
verus:verifiableSocialAccountCreatedwebsocketEventOn attestation social account claim created event: deprecated
verus:socialAccountClaimCreatedwebsocketEventOn attestation social account claim created event
verus:verifiableSkillCreatedwebsocketEventOn attestation skill claim created event: deprecated
verus:skillClaimCreatedwebsocketEventOn attestation skill claim created event
verus:verifiableWorkExperienceCreatedwebsocketEventOn attestation work experience claim created event: deprecated
verus:workExperienceClaimCreatedwebsocketEventOn attestation work experience claim created event
verus:verifiableEducationCreatedwebsocketEventOn attestation education claim created event: deprecated
verus:educationClaimCreatedwebsocketEventOn attestation education claim created event
verus:achievementClaimCreatedwebsocketEventOn attestation achievement claim created event
verus:attestationBlockClaimCreatedwebsocketEventOn attestation block claim created event
verus:attestationBlockClaimsCreatedwebsocketEventOn attestation block claims created event
verus:verifiableStatementDeletedwebsocketEventOn attestation statement claim deleted event: deprecated
verus:statementClaimDeletedwebsocketEventOn attestation statement claim deleted event
verus:verifiableSocialAccountDeletedwebsocketEventOn attestation social account claim deleted event deprecated
verus:socialAccountClaimDeletedwebsocketEventOn attestation social account claim deleted event
verus:verifiableSkillDeletedwebsocketEventOn attestation skill claim deleted event: deprecated
verus:skillClaimDeletedwebsocketEventOn attestation skill claim deleted event
verus:verifiableWorkExperienceDeletedwebsocketEventOn attestation work experience claim deleted event: deprecated
verus:workExperienceClaimDeletedwebsocketEventOn attestation work experience claim deleted event
verus:verifiableEducationDeletedwebsocketEventOn attestation education claim deleted event: deprecated
verus:educationClaimDeletedwebsocketEventOn attestation education claim deleted event
verus:achievementClaimDeletedwebsocketEventOn attestation achievement claim deleted event
verus:attestationBlockClaimDeletedwebsocketEventOn attestation block claim deleted event
verus:verifiableStatementUpdatedwebsocketEventOn attestation statement claim updated event: deprecated
verus:statementClaimUpdatedwebsocketEventOn attestation statement claim updated event
verus:verifiableSocialAccountUpdatedwebsocketEventOn attestation social account claim updated event: deprecated
verus:socialAccountClaimUpdatedwebsocketEventOn attestation social account claim updated event
verus:verifiableSkillUpdatedwebsocketEventOn attestation skill claim updated event: deprecated
verus:skillClaimUpdatedwebsocketEventOn attestation skill claim updated event
verus:verifiableWorkExperienceUpdatedwebsocketEventOn attestation work experience claim updated event: deprecated
verus:workExperienceClaimUpdatedwebsocketEventOn attestation work experience claim updated event
verus:verifiableEducationUpdatedwebsocketEventOn attestation education claim updated event: deprecated
verus:educationClaimUpdatedwebsocketEventOn attestation education claim updated event
verus:achievementClaimUpdatedwebsocketEventOn attestation achievement claim updated event
verus:blockClaimUpdatedwebsocketEventOn attestation block claim updated event
verus:verifySocialAccountProofResultEventwebsocketEventOn verify social account proof result event: deprecated
verus:socialAccountProofResultEventwebsocketEventOn verify social account proof result event
verus:signatureForVerifiableStatementCreatedwebsocketEventOn new signature for attestation statement claim event: deprecated
verus:signatureForStatementClaimCreatedwebsocketEventOn new signature for attestation statement claim event
verus:signatureForVerifiableSkillCreatedwebsocketEventOn new signature for attestation skill claim event: deprecated
verus:signatureForSkillClaimCreatedwebsocketEventOn new signature for attestation skill claim event
verus:signatureForVerifiableWorkExperienceCreatedwebsocketEventOn new signature for attestation work experience claim event: deprecated
verus:signatureForWorkExperienceClaimCreatedwebsocketEventOn new signature for attestation work experience claim event
verus:signatureForVerifiableEducationCreatedwebsocketEventOn new signature for attestation education claim event: deprecated
verus:signatureForEducationClaimCreatedwebsocketEventOn new signature for attestation education claim event
verus:signatureForAchievementClaimCreatedwebsocketEventOn new signature for attestation achievement claim event
verus:signatureForBlockClaimCreatedwebsocketEventOn new signature for attestation block claim event
verus:signDisclaimerSuccesswebsocketEventVerus sign disclaimer success event
verus:signDisclaimerErrorwebsocketEventVerus sign disclaimer error event
verus:purchaseContentSuccesswebsocketEventVerus purchase content success event
verus:purchaseContentErrorwebsocketEventVerus purchase content error event
verus:albumCreatedwebsocketEventVerus album created event
verus:albumCreateErrorwebsocketEventVerus album create error event
verus:albumPurchasedwebsocketEventVerus album purchased event
verus:albumPurchaseErrorwebsocketEventVerus album purchase error event
verus:createRoomSubscriptionwebsocketEventCreate room subscription with Verus
verus:createRoomSubscriptionSuccesswebsocketEventVerus create room subscription success event
verus:createRoomSubscriptionErrorwebsocketEventVerus create room subscription error event
verus:transactionStatusUpdatedwebsocketEventVerus transaction status updated event
verus:linkPersonaAccountResultEventwebsocketEventVerus link persona account result event
verus:getScopedRootKeyResultEventwebsocketEventVerus get scoped root key result event
verus:verifyMessageResultEventwebsocketEventOn verus verify message result event: deprecated
verus:verifyAttestationClaimResultEventwebsocketEventVerus verify attestation claim result event
verus:verifySocialAccountResultEventwebsocketEventOn verus verify social account result event: deprecated
verus:verifySocialAccountClaimResultEventwebsocketEventVerus verify social account result event
verus:saveClaimsResultEventwebsocketEventVerus save claims result event
verus:createEndorsementResultEventwebsocketEventVerus create endorsement result event
verus:saveEndorsementResultEventwebsocketEventVerus save endorsement result event
verus:getAttestationResultEventwebsocketEventVerus get attestation result event
verus:getAttestationProofsResultEventwebsocketEventVerus get attestation proofs result event
verus:getAttestationValuesResultEventwebsocketEventVerus get attestation values result event
verus:transferIdentityEventwebsocketEventOn verus transfer identity event
verus:nftMintedEventwebsocketEventOn verus nft minted event
verus:paymentReadyEventwebsocketEventOn verus payment ready event
verus:currencyReadyEventwebsocketEventOn verus currency ready event

Check Verus challenge

HTTP Method: POST

Path: /verus/checkChallenge

Description: Api returns error in case if Verus verification is not ready yet or failed. Api returns empty response if Verus verification succeeded.

Request:

{
    "challengeId": string
}

Response:

{ empty }

Sign disclaimer with Verus

HTTP Method: POST

Path: /verus/signDisclaimer

Description: Verus sign disclaimer for mobile platforms. Endpoint creates Verus challenge and returns challengeId and deeplink. Client opens Verus application with deeplink and authorizes with Verus account. After successful authorization, Verus application redirects client to redirectUrl. When client returned to Valuverse application it should call /verus/signDisclaimer/checkChallenge endpoint for checking Verus sign disclaimer result.

Request:

{
    "redirectUrl": string
    "isMobile": bool
    "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
    "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
    "encVersion": string  // encryption version, like 'verus.v0'
}

Response:

{
    "challengeId": string
    "deepLink": string
}

Check Verus challenge for sign disclaimer

HTTP Method: POST

Path: /verus/signDisclaimer/checkChallenge

Description: Checks Verus sign disclaimer result after /verus/signDisclaimer.

Request:

{
    "challengeId": string
}

Response:

{
    "signature": string
}

Purchase content with Verus

HTTP Method: POST

Path: /verus/purchaseContent

Description: Verus purchase content for mobile platforms. Endpoint creates Verus challenge and returns challengeId and deeplink. Client opens Verus application with deeplink and authorizes with Verus account. After successful authorization, Verus application redirects client to redirectUrl. When client returned to Valuverse application it should call /verus/purchaseContent/checkChallenge endpoint for checking Verus purchase content result.

Request:

{
    "redirectUrl": string
    "isMobile": bool
    "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
    "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
    "encVersion": string  // encryption version, like 'verus.v0'
    "contentIdentity": string
    "numCopies": int
}

Response:

{ empty }

Check Verus challenge for purchase content

HTTP Method: POST

Path: /verus/purchaseContent/checkChallenge

Description: Checks Verus purchase content result after /verus/purchaseContent.

Request:

{
    "challengeId": string
}

Response:

{ empty }

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/verusIdLoginResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server (Testnet).

HTTP Method: POST

Path: /verus/verusIdLoginResponseTestnet

Request:

JSON body

Response:

{ empty }

HTTP Method: POST

Path: /verus/getChallengeDeeplink

Request:

{
    "challengeId": string
}

Response:

{
    "deepLink": string
}

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/signMessageByUserResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/claimsSendResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server (Testnet).

HTTP Method: POST

Path: /verus/claimsSendResponseTestnet

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/createAndSignEndorsementResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server (Testnet).

HTTP Method: POST

Path: /verus/createAndSignEndorsementResponseTestnet

Request:

JSON body

Response:

{ empty }

Api returns claims data that should be saved by Verus wallet (using one time token).

HTTP Method: POST

Path: /verus/getClaimsData

Parameters:

token: string

Request:

{ empty }

Response:

JSON body

Api returns claims data that should be saved by Verus wallet (using challengeId).

HTTP Method: POST

Path: /verus/getClaimsData/

Request:

{ empty }

Response:

JSON body

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/getAttestationResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server.

HTTP Method: POST

Path: /verus/getAttestationProofsResponse

Request:

JSON body

Response:

{ empty }

Show agreement page.

HTTP Method: GET

Path: /agreement/{agreementType}?...queryParameters

Description: Path parameter agreementType could be one of: verusPurchaseRoom, verusRentRoom.

Parameters:

verusIdentity, subscriptionOption, priceInUsd, priceInVerus, roomName

Request:

{ empty }

Response:

{ empty }

Get scoped root key from Verus wallet

Method: websocket

Endpoint: verus:getScopedRootKey

Description: Endpoint returns deeplink that should be used for Verus authorization. After Verus authorization is finished, server sends verus:getScopedRootKeyResultEvent event.

Request:

{
    "data": {
        "redirectUrl": string
        "isMobile": bool
        "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
        "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
        "encVersion": string  // encryption version, like 'verus.v0'
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Create album using Verus

Method: websocket

Endpoint: verus:createAlbum

Request:

{
    "data": {
        "contentIdentity": string
        "contentData": {
            "artistName": string  // artist name
            "albumName": string  // album name
            "genre": string  // album genre
            "url": string  // url to album within valuverse application (set by server)
            "networkId": string  // metaverse network id (set by server)
            "signature": string  // disclaimer signed by verus account, HASH string
            "price": map[string]float  // album price per crypto currency
            "tracks": [{
                "resourceId": string
                "name": string
                "duration": float
            }]
            "albumCover": {
                "resourceId": string
            }
            "artistLogo": {
                "resourceId": string
            }
            "sleeveDocument": {  // table of contents, notes, lyrics
                "resourceId": string
            }
        }
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

List album for sale using Verus

Method: websocket

Endpoint: verus:listAlbumForSale

Request:

{
    "data": {
        "contentIdentity": string
        "price": map[string]float  // album price per crypto currency
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Gift album using Verus

Method: websocket

Endpoint: verus:giftAlbum

Request:

{
    "data": {
        "contentSubIdentity": string
        "recipientIdentity": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Get Created playlist using Verus

Method: websocket

Endpoint: verus:getCreatedPlaylist

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "playlist": [{
            "creatorIdentity": string  // verus identity of user who created an album
            "contentIdentity": string  // verus identity of album original
            "contentSubIdentity": string  // verus identity of album copy
            "contentData": {  // album content
                "artistName": string  // artist name
                "albumName": string  // album name
                "genre": string  // album genre
                "url": string  // url to album within valuverse application (set by server)
                "networkId": string  // metaverse network id (set by server)
                "signature": string  // disclaimer signed by verus account, HASH string
                "price": map[string]float  // album price per crypto currency
                "tracks": [{
                    "resourceId": string
                    "name": string
                    "duration": float
                }]
                "albumCover": {
                    "resourceId": string
                }
                "artistLogo": {
                    "resourceId": string
                }
                "sleeveDocument": {  // table of contents, notes, lyrics
                    "resourceId": string
                }
            }
            "copiesSold": int  // amount of sold copies of original album
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get New playlist using Verus

Method: websocket

Endpoint: verus:getNewPlaylist

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "playlist": [{
            "creatorIdentity": string  // verus identity of user who created an album
            "contentIdentity": string  // verus identity of album original
            "contentSubIdentity": string  // verus identity of album copy
            "contentData": {  // album content
                "artistName": string  // artist name
                "albumName": string  // album name
                "genre": string  // album genre
                "url": string  // url to album within valuverse application (set by server)
                "networkId": string  // metaverse network id (set by server)
                "signature": string  // disclaimer signed by verus account, HASH string
                "price": map[string]float  // album price per crypto currency
                "tracks": [{
                    "resourceId": string
                    "name": string
                    "duration": float
                }]
                "albumCover": {
                    "resourceId": string
                }
                "artistLogo": {
                    "resourceId": string
                }
                "sleeveDocument": {  // table of contents, notes, lyrics
                    "resourceId": string
                }
            }
            "copiesSold": int  // amount of sold copies of original album
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get My playlist using Verus

Method: websocket

Endpoint: verus:getMyPlaylist

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "playlist": [{
            "creatorIdentity": string  // verus identity of user who created an album
            "contentIdentity": string  // verus identity of album original
            "contentSubIdentity": string  // verus identity of album copy
            "contentData": {  // album content
                "artistName": string  // artist name
                "albumName": string  // album name
                "genre": string  // album genre
                "url": string  // url to album within valuverse application (set by server)
                "networkId": string  // metaverse network id (set by server)
                "signature": string  // disclaimer signed by verus account, HASH string
                "price": map[string]float  // album price per crypto currency
                "tracks": [{
                    "resourceId": string
                    "name": string
                    "duration": float
                }]
                "albumCover": {
                    "resourceId": string
                }
                "artistLogo": {
                    "resourceId": string
                }
                "sleeveDocument": {  // table of contents, notes, lyrics
                    "resourceId": string
                }
            }
            "copiesSold": int  // amount of sold copies of original album
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Sign disclaimer using Verus

Method: websocket

Endpoint: verus:signDisclaimer

Description: Endpoint returns deeplink that should be used for Verus authorization. After Verus authorization is finished, server sends verus:signDisclaimerSuccess or verus:signDisclaimerError event.

Request:

{
    "data": {
        "redirectUrl": string
        "isMobile": bool
        "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
        "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
        "encVersion": string  // encryption version, like 'verus.v0'
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Purchase content using Verus

Method: websocket

Endpoint: verus:purchaseContent

Description: Endpoint returns deeplink that should be used for Verus authorization. After Verus authorization is finished, server sends verus:purchaseContentSuccess or verus:purchaseContentError event.

Request:

{
    "data": {
        "redirectUrl": string
        "isMobile": bool
        "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
        "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
        "encVersion": string  // encryption version, like 'verus.v0'
        "contentIdentity": string
        "numCopies": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus send money to user

Method: websocket

Endpoint: verus:sendMoneyToUser

Description: Endpoint returns deeplink that should be used for Verus money transfer.

Request:

{
    "data": {
        "targetUser": string
        "amount": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus send money to identity

Method: websocket

Endpoint: verus:sendMoneyToIdentity

Description: Endpoint returns deeplink that should be used for Verus money transfer.

Request:

{
    "data": {
        "targetIAddress": string
        "targetIdentity": string
        "amount": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus exchange crypto

Method: websocket

Endpoint: verus:exchangeCrypto

Description: Endpoint returns deeplink that should be used for Verus exchange crypto.

Request:

{
    "data": {
        "cryptoWalletAddress": string
        "amount": string  // amount + fees
        "amountToSend": string  // actual amount to exchange
        "convertTo": string  // convert to crypto currency
        "transactionDescription": string
        "transactionSendDescription": string
        "transactionReceiveDescription": string
        "transactionFeesDescription": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get user balance

Method: websocket

Endpoint: verus:getUserBalance

Description: Endpoint returns Verus user balance.

Request:

{ empty }

Response:

{
    "data": {
        "balance": float
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get exchange rate

Method: websocket

Endpoint: verus:getExchangeRate

Description: Endpoint returns exchange rate + fees for Verus.

Request:

{ empty }

Response:

{
    "data": {
        "exchangeRate": float
        "feesInVerus": float
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get exchange rates

Method: websocket

Endpoint: verus:getExchangeRates

Description: Endpoint returns exchange rates + fees for Verus.

Request:

{ empty }

Response:

{
    "data": {
        "currencies": map[string]{
            "exchangeRate": float
            "feesInVerus": float
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Get verus coin price

Method: websocket

Endpoint: verus:getVerusCoinPrice

Request:

{ empty }

Response:

{
    "data": {
        "time_open": timestamp
        "time_close": timestamp
        "open": float
        "high": float
        "low": float
        "close": float
        "volume": int
        "market_cap": int
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get transaction status history

Method: websocket

Endpoint: verus:getTransactionStatusHistory

Description: Endpoint returns status history for a Verus transaction.

Request:

{
    "data": {
        "transactionId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "transaction": {
            "userId": string
            "transactionId": string
            "transactionDescription": string
            "transactionFrom": string
            "transactionTo": string
            "convertToCurrency": string
            "transactionSendDescription": string
            "transactionReceiveDescription": string
            "transactionFeesDescription": string
            "blockchainTransactionId": string
            "startDate": timestamp
            "lastUpdated": timestamp
            "statusHistory": [{
                "name": string
                "status": bool
                "error": string
                "timestamp": timestamp
            }]
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list transaction status history

Method: websocket

Endpoint: verus:listTransactionStatusHistory

Description: Endpoint returns status history for Verus transactions.

Request:

{
    "data": {
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "transactions": [{
            "userId": string
            "transactionId": string
            "transactionDescription": string
            "transactionFrom": string
            "transactionTo": string
            "convertToCurrency": string
            "transactionSendDescription": string
            "transactionReceiveDescription": string
            "transactionFeesDescription": string
            "blockchainTransactionId": string
            "startDate": timestamp
            "lastUpdated": timestamp
            "statusHistory": [{
                "name": string
                "status": bool
                "error": string
                "timestamp": timestamp
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable statement message

Method: websocket

Endpoint: verus:createVerifiableMessage

DEPRECATED

Request:

{
    "data": {
        "message": string  // statement claim message
        "title": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "title": string
            "statement": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create statement claim

Method: websocket

Endpoint: verus:createStatementClaim

Description: Endpoint creates statement claim that could be verified by other users using Verus identity.

Request:

{
    "data": {
        "message": string  // statement claim message
        "title": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "title": string
            "statement": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable social account

Method: websocket

Endpoint: verus:createVerifiableSocialAccount

DEPRECATED

Request:

{
    "data": {
        "socialType": string  // x/linkedin
        "socialUsername": string  // username in target social network
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create social account claim

Method: websocket

Endpoint: verus:createSocialAccountClaim

Description: Endpoint creates claim that represents social account and could be verified by user using Verus identity.

Request:

{
    "data": {
        "socialType": string  // x/linkedin
        "socialUsername": string  // username in target social network
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable skill message

Method: websocket

Endpoint: verus:createVerifiableSkillMessage

DEPRECATED

Request:

{
    "data": {
        "skillTag": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "category": string
            "skillTag": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create skill claim

Method: websocket

Endpoint: verus:createSkillClaim

Description: Endpoint creates claim that represent some skill and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "skillTag": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "category": string
            "skillTag": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable work experience message

Method: websocket

Endpoint: verus:createVerifiableWorkExperienceMessage

DEPRECATED

Request:

{
    "data": {
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create work experience claim

Method: websocket

Endpoint: verus:createWorkExperienceClaim

Description: Endpoint creates claim that represent work experience and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable education message

Method: websocket

Endpoint: verus:createVerifiableEducationMessage

DEPRECATED

Request:

{
    "data": {
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create education claim

Method: websocket

Endpoint: verus:createEducationClaim

Description: Endpoint creates claim that represent education and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create verifiable achievement message

Method: websocket

Endpoint: verus:createVerifiableAchievementMessage

DEPRECATED

Request:

{
    "data": {
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create achievement claim

Method: websocket

Endpoint: verus:createAchievementClaim

Description: Endpoint creates claim that represent achievement and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete verifiable message

Method: websocket

Endpoint: verus:deleteVerifiableMessage

DEPRECATED

Request:

{
    "data": {
        "messageId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete target attestation claim

Method: websocket

Endpoint: verus:deleteTargetAttestationClaim

Description: deletes any claim for admins

Request:

{
    "data": {
        "targetUser": string
        "claimId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete attestation claim

Method: websocket

Endpoint: verus:deleteAttestationClaim

Description: Endpoint deletes Verus verifiable claim.

Request:

{
    "data": {
        "claimId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus update verifiable work experience message

Method: websocket

Endpoint: verus:updateVerifiableWorkExperienceMessage

DEPRECATED

Request:

{
    "data": {
        "messageId": string
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus update work experience claim

Method: websocket

Endpoint: verus:updateWorkExperienceClaim

Description: Endpoint updates claim that represent work experience and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "claimId": string
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus update verifiable education message

Method: websocket

Endpoint: verus:updateVerifiableEducationMessage

DEPRECATED

Request:

{
    "data": {
        "messageId": string
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus update education claim

Method: websocket

Endpoint: verus:updateEducationClaim

Description: Endpoint updates claim that represent education and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "claimId": string
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus update verifiable achievement message

Method: websocket

Endpoint: verus:updateVerifiableAchievementMessage

DEPRECATED

Request:

{
    "data": {
        "messageId": string
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus update achievement claim

Method: websocket

Endpoint: verus:updateAchievementClaim

Description: Endpoint updates claim that represent achievement and could be verified by other users using Verus identity.

Request:

{
    "data": {
        "claimId": string
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable statement messages

Method: websocket

Endpoint: verus:listVerifiableMessages

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "messages": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "title": string
            "statement": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list attestation claims

Method: websocket

Endpoint: verus:listAttestationClaims

Description: Endpoint returns all statement claims for user.

Request:

{
    "data": {
        "targetUserId": string
        "claimType": string  // optional
        "attestationType": string  // optional
        "status": string  // optional
        "formReference": string  // optional
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claims": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
            "title": string
            "statement": string
            "category": string
            "skillTag": string
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
            "blockId": string
            "blockTitle": string
            "formReference": string
            "networkId": string
            "blockAnswers": [{
                "networkId": string
                "blockId": string
                "questionId": string
                "questionTitle": string
                "questionMessage": string
                "answerMessage": string
                "fieldReference": string
            }]
            "blockSchema": map[string]{ custom structure }
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list statement claims

Method: websocket

Endpoint: verus:listStatementClaims

Description: Endpoint returns all statement claims for user.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claims": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "title": string
            "statement": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable skill messages

Method: websocket

Endpoint: verus:listVerifiableSkillMessages

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "skills": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "category": string
            "skillTag": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list skill claims

Method: websocket

Endpoint: verus:listSkillClaims

Description: Endpoint returns all skill claims for user. Actual skillTag could be found by path.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "skills": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "category": string
            "skillTag": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable work experience messages

Method: websocket

Endpoint: verus:listVerifiableWorkExperienceMessages

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "experiences": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list work experience claims

Method: websocket

Endpoint: verus:listWorkExperienceClaims

Description: Endpoint returns all work experience claims for user.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "experiences": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "companyName": string
            "position": string
            "location": string
            "description": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable education messages

Method: websocket

Endpoint: verus:listVerifiableEducationMessages

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "educations": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list education claims

Method: websocket

Endpoint: verus:listEducationClaims

Description: Endpoint returns all education claims for user.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "educations": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "school": string
            "degree": string
            "fieldOfStudy": string
            "startDate": timestamp
            "endDate": timestamp
            "isContinuing": bool
            "educationStatus": string  // incomplete,enrolled,completed
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable achievement messages

Method: websocket

Endpoint: verus:listVerifiableAchievementMessages

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "achievements": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list achievement claims

Method: websocket

Endpoint: verus:listAchievementClaims

Description: Endpoint returns all achievement claims for user.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "achievements": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "title": string
            "organization": string
            "issueDate": timestamp
            "expirationDate": timestamp
            "credentialsId": string
            "credentialsUrl": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus search skill tags

Method: websocket

Endpoint: verus:searchSkillTags

Description: Endpoint searches for tags that were previously used for verifiable skill messages generation.

Request:

{
    "data": {
        "query": string
        "offset": int
        "size": int
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "skillTags": [ string ]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable message signatures

Method: websocket

Endpoint: verus:listVerifiableMessageSignatures

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
        "messageId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "signatures": [{
            "messageId": string
            "userId": string
            "verifyIdentity": string  // Verus identity name that signed the message
            "verifyIAddress": string  // Verus identity IAddress that signed the message
            "signature": string  // Verus generated signature to verify the message
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list attestation claim signatures

Method: websocket

Endpoint: verus:listAttestationClaimSignatures

Description: Endpoint returns all Verus signatures for attestation claim.

Request:

{
    "data": {
        "targetUser": string
        "claimId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "signatures": [{
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list user endorsements

Method: websocket

Endpoint: verus:listUserEndorsements

Description: Endpoint returns all the endorsements of the calling user.

Request:

{
    "data": {
        "cursorClaimId": string
        "limit": int
        "status": string
        "attestationType": string  // attestation/credential
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "endorsements": [{
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }]
        "hasMore": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list user endorsements with claims

Method: websocket

Endpoint: verus:listUserEndorsementsWithClaims

Description: Endpoint returns all the endorsements with claims of the calling user.

Request:

{
    "data": {
        "cursorClaimId": string
        "limit": int
        "status": string
        "attestationType": string  // attestation/credential
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "endorsementsWithClaims": [{
            "endorsement": {
                "claimId": string
                "claimAttestationType": string
                "claimType": string
                "claimUserId": string
                "userId": string  // endorser user id
                "verifyIdentity": string  // endorser Verus identity name
                "verifyIAddress": string  // endorser Verus identity IAddress
                "message": string  // endorsement message by endorser
                "signature": string  // Verus generated signature to verify the claim
                "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
            }
            "claim": {
                "claimId": string
                "claimMessage": string
                "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
                "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
                "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
                "signaturesCount": int  // total count of claim signatures
                "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
                "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
                "title": string
                "statement": string
                "category": string
                "skillTag": string
                "socialType": string  // x/linkedin/facebook
                "socialUsername": string  // username in target social network
                "socialName": string  // user first and last name in target social network
                "proofMessage": string  // proof message that should be posted in target social network
                "proofUrl": string  // link to post in target social network
                "proofStatus": string  // Verified / In Process / Not verified
                "companyName": string
                "position": string
                "location": string
                "description": string
                "startDate": timestamp
                "endDate": timestamp
                "isContinuing": bool
                "school": string
                "degree": string
                "fieldOfStudy": string
                "startDate": timestamp
                "endDate": timestamp
                "isContinuing": bool
                "educationStatus": string  // incomplete,enrolled,completed
                "title": string
                "organization": string
                "issueDate": timestamp
                "expirationDate": timestamp
                "credentialsId": string
                "credentialsUrl": string
                "blockId": string
                "blockTitle": string
                "formReference": string
                "networkId": string
                "blockAnswers": [{
                    "networkId": string
                    "blockId": string
                    "questionId": string
                    "questionTitle": string
                    "questionMessage": string
                    "answerMessage": string
                    "fieldReference": string
                }]
                "blockSchema": map[string]{ custom structure }
            }
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToVerifyMessage

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
        "messageId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToVerifyAttestationClaim

Description: Endpoint returns deeplink to user in order to verify attestation claim using Verus.

Request:

{
    "data": {
        "targetUser": string
        "claimId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list verifiable social accounts

Method: websocket

Endpoint: verus:listVerifiableSocialAccounts

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "socialAccounts": [{
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list social accounts claims

Method: websocket

Endpoint: verus:listSocialAccountsClaims

Description: Endpoint returns all Verus verifiable social accounts for user.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "socialAccounts": [{
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus provide proof to verify social account

Method: websocket

Endpoint: verus:provideProofToVerifySocialAccount

Description: Endpoint uses link to post in social network in order to verify that user actually controls provided account.

Request:

{
    "data": {
        "socialType": string  // x/linkedin/facebook
        "socialUsername": string  // username in target social network
        "proofUrl": string  // link to post in target social network
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToSaveClaims

Description: Endpoint returns deeplink to user in order to save attestation claims to Verus.

Request:

{
    "data": {
        "claimIds": [ string ]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToSignCredential

Description: Endpoint returns deeplink to user in order to save attestation claims to Verus.

Request:

{
    "data": {
        "targetUser": string  // user id of the claim
        "claimId": string
        "message": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToCreateEndorsement

Description: Endpoint returns deeplink to user in order to create and sign endorsement for attestation claim.

Request:

{
    "data": {
        "targetUser": string
        "claimId": string
        "message": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus save endorsements to blockchain

Method: websocket

Endpoint: verus:saveEndorsementsToBlockchain

Description: Endpoint saves endorsements to Verus blockchain.

Request:

{
    "data": {
        "endorsementMap": map[string][ string ]  // map of claimId->userIds (list of users who endorsed the claim)
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus get endorsement hash

Method: websocket

Endpoint: verus:getEndorsementHash

DEPRECATED

Request:

{
    "data": {
        "claimId": string
        "userId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "hash": string
        "claimId": string
        "userId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getEndorsementVerifyLink

Request:

{
    "data": {
        "claimId": string
        "userId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "claimId": string
        "userId": string
        "hash": string
        "identityName": string
        "signature": string
        "verifyLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create credential template

Method: websocket

Endpoint: verus:createCredentialTemplate

Request:

{
    "data": {
        "signatoryIds": [ string ]  // list of verus IDs who will sign the credentials from the template.
        "blockId": string
        "blockAnswers": map[string]string  // map[questionId]answerString
        "claimId": string  // in case of updating existing claim
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "userId": string
        "attestationType": string  // attestation/credential/credentialTemplate
        "networkId": string  // only for credentials
        "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
        "referenceId": string  // blockchain reference id (64 length hexadecimal string)
        "formReference": string  // form reference to filter the claim-blocks
        "customData": { json data }  // in case if claim has additional data
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete credential template

Method: websocket

Endpoint: verus:deleteCredentialTemplate

Request:

{
    "data": {
        "claimId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus list credential templates

Method: websocket

Endpoint: verus:listCredentialTemplates

Request:

{
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "credentialTemplates": [{
            "userId": string
            "attestationType": string  // attestation/credential/credentialTemplate
            "networkId": string  // only for credentials
            "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
            "referenceId": string  // blockchain reference id (64 length hexadecimal string)
            "formReference": string  // form reference to filter the claim-blocks
            "customData": { json data }  // in case if claim has additional data
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus grant credential

Method: websocket

Endpoint: verus:grantCredential

Request:

{
    "data": {
        "claimId": string  // id of the credential template
        "userIds": [ string ]  // user ids of the recipients of the credential from the template
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "credentials": [{
            "userId": string
            "attestationType": string  // attestation/credential/credentialTemplate
            "networkId": string  // only for credentials
            "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
            "referenceId": string  // blockchain reference id (64 length hexadecimal string)
            "formReference": string  // form reference to filter the claim-blocks
            "customData": { json data }  // in case if claim has additional data
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list credentials

Method: websocket

Endpoint: verus:listCredentials

Request:

{
    "data": {
        "cursorClaimId": string
        "limit": int
        "status": string  // optional status of a claim
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "credentials": [{
            "claim": {
                "userId": string
                "attestationType": string  // attestation/credential/credentialTemplate
                "networkId": string  // only for credentials
                "claimType": string  // statement/socialAccount/skill/workExperience/education/achievement/block
                "referenceId": string  // blockchain reference id (64 length hexadecimal string)
                "formReference": string  // form reference to filter the claim-blocks
                "customData": { json data }  // in case if claim has additional data
                "claimId": string
                "claimMessage": string
                "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
                "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
                "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
                "signaturesCount": int  // total count of claim signatures
                "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            }
            "endorsements": [{
                "claimId": string
                "claimAttestationType": string
                "claimType": string
                "claimUserId": string
                "userId": string  // endorser user id
                "verifyIdentity": string  // endorser Verus identity name
                "verifyIAddress": string  // endorser Verus identity IAddress
                "message": string  // endorsement message by endorser
                "signature": string  // Verus generated signature to verify the claim
                "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
                "added": timestamp  // timestamp when endorsement has been added to database, not actual time of creation (used for ordering)
                "blockchainData": { json data }  // blockchain endorsement model as JSON
            }]
        }]
        "hasMore": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus revoke credential

Method: websocket

Endpoint: verus:revokeCredential

Request:

{
    "data": {
        "claimId": string
        "userId": string  // only available for admins
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus synchronize claims and endorsements

Method: websocket

Endpoint: verus:synchronizeClaimsAndEndorsements

Description: Endpoint synchronizes claims and endorsements with Verus blockchain.

Request:

{ empty }

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkForAttestationProofsFromWallet

Description: Endpoint returns deeplink to user in order to retrieve attestation proofs using Verus.

Request:

{
    "data": {
        "signer": string  // optional, ValuID iAddress is used by default
        "requestedKeys": [ string ]  // VDXF keys (or suffix that will be used to fetch keys)
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkForAttestationValuesFromWallet

Description: Endpoint returns deeplink to user in order to retrieve attestation values (by requested keys) using Verus. Result attestation values could be used in order to autofill attestation block form.

Request:

{
    "data": {
        "signer": string  // optional, ValuID iAddress is used by default
        "requestedKeys": [ string ]  // VDXF keys (or suffix that will be used to fetch keys)
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkForAttestation

DEPRECATED

Description: Endpoint returns deeplink to user in order to retrieve attestation using Verus.

Request:

{
    "data": {
        "permissionsSet": [ string ]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkForAttestationProofs

DEPRECATED

Description: Endpoint returns deeplink to user in order to retrieve attestation using Verus.

Request:

{
    "data": {
        "permissionsSet": [ string ]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get user attestation

Method: websocket

Endpoint: verus:getUserAttestation

Description: Endpoint returns user attestation from database.

Request:

{
    "data": {
        "targetUser": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "userId": string
        "attestation": map[sectionName]{ attestation JSON }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create attestation block

Method: websocket

Endpoint: verus:createAttestationBlock

Request:

{
    "data": {
        "blockSchema": map[string]{ custom structure }
        "blockTitle": string
        "blockType": string  // attestation/credential
        "usageType": string  // single/multiple
        "formReference": string
        "approveOptions": [ string ]
        "requiredAttestations": [ string ]
        "blockQuestions": [{
            "isRequired": bool
            "fieldReference": string
            "questionTitle": string
            "questionType": string
            "questionMessage": string
            "multipleChoice": [{
                "answerMessage": string
                "needUpload": bool
            }]
        }]
        "isGlobal": bool  // if true, block will be available for all networks
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "block": {
            "networkId": string  // network where this custom attestation block should be shown
            "isGlobal": bool  // if true, block will be available for all networks
            "blockId": string
            "blockStatus": string  // draft/published
            "blockType": string  // attestation/credential
            "usageType": string  // single/multiple
            "blockTitle": string
            "formReference": string
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]
            "requiredAttestations": [ string ]
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete attestation block

Method: websocket

Endpoint: verus:deleteAttestationBlock

Request:

{
    "data": {
        "blockId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus update attestation block

Method: websocket

Endpoint: verus:updateAttestationBlock

Request:

{
    "data": {
        "blockSchema": map[string]{ custom structure }
        "blockId": string
        "blockTitle": string
        "formReference": string
        "approveOptions": [ string ]
        "requiredAttestations": [ string ]
        "blockQuestions": [{
            "isRequired": bool
            "fieldReference": string
            "questionTitle": string
            "questionType": string
            "questionMessage": string
            "multipleChoice": [{
                "answerMessage": string
                "needUpload": bool
            }]
        }]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus publish attestation block

Method: websocket

Endpoint: verus:publishAttestationBlock

Request:

{
    "data": {
        "blockId": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus list attestation blocks

Method: websocket

Endpoint: verus:listAttestationBlocks

Request:

{
    "data": {
        "blockType": string  // attestation/credential
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "blocks": [{  // network specific attestation blocks
            "networkId": string  // network where this custom attestation block should be shown
            "isGlobal": bool  // if true, block will be available for all networks
            "blockId": string
            "blockStatus": string  // draft/published
            "blockType": string  // attestation/credential
            "usageType": string  // single/multiple
            "blockTitle": string
            "formReference": string
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]
            "requiredAttestations": [ string ]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get attestation blocks for user

Method: websocket

Endpoint: verus:getAttestationBlocksForUser

DEPRECATED

Request:

{
    "data": {
        "targetUser": string
        "attestationType": string  // optional, attestation/credential/credentialTemplate
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "blocks": [{  // network specific attestation blocks
            "networkId": string  // network where this custom attestation block should be shown
            "isGlobal": bool  // if true, block will be available for all networks
            "blockId": string
            "blockStatus": string  // draft/published
            "blockType": string  // attestation/credential
            "usageType": string  // single/multiple
            "blockTitle": string
            "formReference": string
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]
            "requiredAttestations": [ string ]
        }]
        "claims": map[blockId]{ attestation claim }  // user claims (answers) per blockId per questionId
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list attestation blocks for user

Method: websocket

Endpoint: verus:listAttestationBlocksForUser

Request:

{
    "data": {
        "targetUser": string
        "attestationType": string  // optional, attestation/credential/credentialTemplate
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "blocks": [{  // network specific attestation blocks
            "networkId": string  // network where this custom attestation block should be shown
            "isGlobal": bool  // if true, block will be available for all networks
            "blockId": string
            "blockStatus": string  // draft/published
            "blockType": string  // attestation/credential
            "usageType": string  // single/multiple
            "blockTitle": string
            "formReference": string
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]
            "requiredAttestations": [ string ]
        }]
        "claims": [{  // user claims (answers) for blocks
            "attestationType": string
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "blockId": string
            "blockTitle": string
            "formReference": string
            "networkId": string
            "blockAnswers": [{
                "networkId": string
                "blockId": string
                "questionId": string
                "questionTitle": string
                "questionMessage": string
                "answerMessage": string
                "fieldReference": string
            }]
            "blockSchema": map[string]{ custom structure }
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus set answers for attestation block

Method: websocket

Endpoint: verus:setAnswersForAttestationBlock

Description: Deprecated, sets answers in old way: one claim (claimType: 'attestationBlock') per answer. Use setAnswersForBlock.

Request:

{
    "data": {
        "blockId": string
        "blockAnswers": map[string]string  // map[questionId]answerString
        "claimId": string  // in case of updating existing claim
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus set answers for block

Method: websocket

Endpoint: verus:setAnswersForBlock

Description: creates a claim with answers (claimType: 'block') for the whole attestation block.

Request:

{
    "data": {
        "blockId": string
        "blockAnswers": map[string]string  // map[questionId]answerString
        "claimId": string  // in case of updating existing claim
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus get block vDXF keys by suffix

Method: websocket

Endpoint: verus:getBlockVDXFKeysBySuffix

Description: Endpoint returns available VDXF keys from network attestation blocks by provided suffix.

Request:

{
    "data": {
        "suffix": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "keys": [ string ]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create currency identity

Method: websocket

Endpoint: verus:createCurrencyIdentity

Request:

{
    "data": {
        "identityName": string  // Name of the namespace and associated currency
        "fees": float  // Cost to mint the NFT identity
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus check currency identity name

Method: websocket

Endpoint: verus:checkCurrencyIdentityName

Request:

{
    "data": {
        "identityName": string  // Identity name within the namespace (currency) to check for availability
        "currency": string  // Namespace (currency) to check for identity name availability
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "status": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus change currency owner

Method: websocket

Endpoint: verus:changeCurrencyOwner

Request:

{
    "data": {
        "curr": string  // Namespace (currency) whose ownership is to be changed
        "toId": string  // Identity that will become the new owner
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus mint nFT on currency

Method: websocket

Endpoint: verus:mintNFTOnCurrency

Request:

{
    "data": {
        "nfts": [{  // List of NFTs to be minted
            "nftName": string  // Name of the NFT
            "onCurrency": string  // Namespace under which the NFT is minted
            "data": map[string]{ custom structure }  // JSON object containing metadata for the NFT (e.g., name, description, price)
        }]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "nfts": [{  // List of NFTs to be minted
            "challengeId": string  // ID related to the challenge or minting process
            "nft": {  // NFT to be minted
                "nftName": string  // Name of the NFT
                "onCurrency": string  // Namespace under which the NFT is minted
                "data": map[string]{ custom structure }  // JSON object containing metadata for the NFT (e.g., name, description, price)
            }
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list identities from wallet on currency

Method: websocket

Endpoint: verus:listIdentitiesFromWalletOnCurrency

Request:

{
    "data": {
        "identity": string
        "currency": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "identitiesList": [{
            "identity": string
            "identityaddress": string
            "metadata": string
            "parent": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get all identities in wallet on currency

Method: websocket

Endpoint: verus:getAllIdentitiesInWalletOnCurrency

Request:

{
    "data": {
        "identity": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getProvisionDeeplink

Description: Endpoint returns deeplink that should be used for Verus provision process. After Verus provision is finished, server links new Verus account to user and sends auth:verusLinkSuccess or auth:verusLinkError event.

Request:

{
    "data": {
        "redirectUrl": string
        "isMobile": bool
        "publicKey": string  // public key to securely fetch scoped root key from Verus wallet using RSA encryption
        "zAddress": string  // zAddress to securely fetch scoped root key from Verus wallet using zAddess encryption
        "encVersion": string  // encryption version, like 'verus.v0'
        "identityName": string  // example.RoomID@
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim created event: deprecated

Event: verus:verifiableStatementCreated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim created event

Event: verus:statementClaimCreated

Description: Event is triggered when new statement claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim created event: deprecated

Event: verus:verifiableSocialAccountCreated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "socialType": string  // x/linkedin/facebook
        "socialUsername": string  // username in target social network
        "socialName": string  // user first and last name in target social network
        "proofMessage": string  // proof message that should be posted in target social network
        "proofUrl": string  // link to post in target social network
        "proofStatus": string  // Verified / In Process / Not verified
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim created event

Event: verus:socialAccountClaimCreated

Description: Event is triggered when new social account claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "socialType": string  // x/linkedin/facebook
        "socialUsername": string  // username in target social network
        "socialName": string  // user first and last name in target social network
        "proofMessage": string  // proof message that should be posted in target social network
        "proofUrl": string  // link to post in target social network
        "proofStatus": string  // Verified / In Process / Not verified
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim created event: deprecated

Event: verus:verifiableSkillCreated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "category": string
        "skillTag": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim created event

Event: verus:skillClaimCreated

Description: Event is triggered when new skill claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "category": string
        "skillTag": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim created event: deprecated

Event: verus:verifiableWorkExperienceCreated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim created event

Event: verus:workExperienceClaimCreated

Description: Event is triggered when new work experience claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim created event: deprecated

Event: verus:verifiableEducationCreated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim created event

Event: verus:educationClaimCreated

Description: Event is triggered when new education claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation achievement claim created event

Event: verus:achievementClaimCreated

Description: Event is triggered when new achievement claim is created for user.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation block claim created event

Event: verus:attestationBlockClaimCreated

Description: Event is triggered when new claims are created for a block-claim.

Data:

{
    "data": {
        "attestationType": string
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "blockId": string
        "blockTitle": string
        "formReference": string
        "networkId": string
        "blockAnswers": [{
            "networkId": string
            "blockId": string
            "questionId": string
            "questionTitle": string
            "questionMessage": string
            "answerMessage": string
            "fieldReference": string
        }]
        "blockSchema": map[string]{ custom structure }
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation block claims created event

Event: verus:attestationBlockClaimsCreated

Description: Event is triggered when new claims are created for attestation block.

Data:

{
    "data": {
        "claims": map[blockId]{ attestation claim }  // user claims (answers) per blockId per questionId
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim deleted event: deprecated

Event: verus:verifiableStatementDeleted

DEPRECATED

Data:

{
    "data": {
        "messageId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim deleted event

Event: verus:statementClaimDeleted

Description: Event is triggered when statement claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim deleted event deprecated

Event: verus:verifiableSocialAccountDeleted

DEPRECATED

Data:

{
    "data": {
        "messageId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim deleted event

Event: verus:socialAccountClaimDeleted

Description: Event is triggered when social account claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim deleted event: deprecated

Event: verus:verifiableSkillDeleted

DEPRECATED

Data:

{
    "data": {
        "messageId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim deleted event

Event: verus:skillClaimDeleted

Description: Event is triggered when skill claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim deleted event: deprecated

Event: verus:verifiableWorkExperienceDeleted

DEPRECATED

Data:

{
    "data": {
        "messageId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim deleted event

Event: verus:workExperienceClaimDeleted

Description: Event is triggered when work experience claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim deleted event: deprecated

Event: verus:verifiableEducationDeleted

DEPRECATED

Data:

{
    "data": {
        "messageId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim deleted event

Event: verus:educationClaimDeleted

Description: Event is triggered when education claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation achievement claim deleted event

Event: verus:achievementClaimDeleted

Description: Event is triggered when achievement claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation block claim deleted event

Event: verus:attestationBlockClaimDeleted

Description: Event is triggered when attestation block claim is deleted.

Data:

{
    "data": {
        "claimId": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim updated event: deprecated

Event: verus:verifiableStatementUpdated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation statement claim updated event

Event: verus:statementClaimUpdated

Description: Event is triggered when statement claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim updated event: deprecated

Event: verus:verifiableSocialAccountUpdated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "socialType": string  // x/linkedin/facebook
        "socialUsername": string  // username in target social network
        "socialName": string  // user first and last name in target social network
        "proofMessage": string  // proof message that should be posted in target social network
        "proofUrl": string  // link to post in target social network
        "proofStatus": string  // Verified / In Process / Not verified
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation social account claim updated event

Event: verus:socialAccountClaimUpdated

Description: Event is triggered when social account claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "socialType": string  // x/linkedin/facebook
        "socialUsername": string  // username in target social network
        "socialName": string  // user first and last name in target social network
        "proofMessage": string  // proof message that should be posted in target social network
        "proofUrl": string  // link to post in target social network
        "proofStatus": string  // Verified / In Process / Not verified
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim updated event: deprecated

Event: verus:verifiableSkillUpdated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "category": string
        "skillTag": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation skill claim updated event

Event: verus:skillClaimUpdated

Description: Event is triggered when skill claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "category": string
        "skillTag": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim updated event: deprecated

Event: verus:verifiableWorkExperienceUpdated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation work experience claim updated event

Event: verus:workExperienceClaimUpdated

Description: Event is triggered when work experience claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "companyName": string
        "position": string
        "location": string
        "description": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim updated event: deprecated

Event: verus:verifiableEducationUpdated

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "message": string
        "status": string  // message verification status by Verus signatures (Verified / Not verified)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
        "signaturesCount": int  // total count of message signatures
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation education claim updated event

Event: verus:educationClaimUpdated

Description: Event is triggered when education claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "school": string
        "degree": string
        "fieldOfStudy": string
        "startDate": timestamp
        "endDate": timestamp
        "isContinuing": bool
        "educationStatus": string  // incomplete,enrolled,completed
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation achievement claim updated event

Event: verus:achievementClaimUpdated

Description: Event is triggered when achievement claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On attestation block claim updated event

Event: verus:blockClaimUpdated

Description: Event is triggered when achievement claim is updated.

Data:

{
    "data": {
        "claimId": string
        "claimMessage": string
        "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
        "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
        "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
        "signaturesCount": int  // total count of claim signatures
        "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
        "title": string
        "organization": string
        "issueDate": timestamp
        "expirationDate": timestamp
        "credentialsId": string
        "credentialsUrl": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verify social account proof result event: deprecated

Event: verus:verifySocialAccountProofResultEvent

DEPRECATED

Data:

{
    "data": {
        "message": {
            "messageId": string
            "message": string
            "status": string  // message verification status by Verus signatures (Verified / Not verified)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign the message
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign the message
            "signaturesCount": int  // total count of message signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verify social account proof result event

Event: verus:socialAccountProofResultEvent

Description: Event is triggered when social account proof url verification completed (or failed).

Data:

{
    "data": {
        "claim": {
            "claimId": string
            "claimMessage": string
            "status": string  // claim verification status by Verus signatures (Not Saved / Saved / Verified / Verified And Persisted)
            "verifyIdentities": [ string ]  // Verus identities that are requested to sign (approve) the claim
            "verifyIAddresses": [ string ]  // Verus identity IAddresses that are requested to sign (approve) the claim
            "signaturesCount": int  // total count of claim signatures
            "savedSignaturesCount": int  // count of saved (to blockchain) claim signatures
            "socialType": string  // x/linkedin/facebook
            "socialUsername": string  // username in target social network
            "socialName": string  // user first and last name in target social network
            "proofMessage": string  // proof message that should be posted in target social network
            "proofUrl": string  // link to post in target social network
            "proofStatus": string  // Verified / In Process / Not verified
        }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation statement claim event: deprecated

Event: verus:signatureForVerifiableStatementCreated

DEPRECATED

Data:

{
    "data": {
        "signature": {
            "messageId": string
            "userId": string
            "verifyIdentity": string  // Verus identity name that signed the message
            "verifyIAddress": string  // Verus identity IAddress that signed the message
            "signature": string  // Verus generated signature to verify the message
        }
        "message": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation statement claim event

Event: verus:signatureForStatementClaimCreated

Description: Event is triggered when new signature is created for statement claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation skill claim event: deprecated

Event: verus:signatureForVerifiableSkillCreated

DEPRECATED

Data:

{
    "data": {
        "signature": {
            "messageId": string
            "userId": string
            "verifyIdentity": string  // Verus identity name that signed the message
            "verifyIAddress": string  // Verus identity IAddress that signed the message
            "signature": string  // Verus generated signature to verify the message
        }
        "message": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation skill claim event

Event: verus:signatureForSkillClaimCreated

Description: Event is triggered when new signature is created for skill claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation work experience claim event: deprecated

Event: verus:signatureForVerifiableWorkExperienceCreated

DEPRECATED

Data:

{
    "data": {
        "signature": {
            "messageId": string
            "userId": string
            "verifyIdentity": string  // Verus identity name that signed the message
            "verifyIAddress": string  // Verus identity IAddress that signed the message
            "signature": string  // Verus generated signature to verify the message
        }
        "message": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation work experience claim event

Event: verus:signatureForWorkExperienceClaimCreated

Description: Event is triggered when new signature is created for work experience claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation education claim event: deprecated

Event: verus:signatureForVerifiableEducationCreated

DEPRECATED

Data:

{
    "data": {
        "signature": {
            "messageId": string
            "userId": string
            "verifyIdentity": string  // Verus identity name that signed the message
            "verifyIAddress": string  // Verus identity IAddress that signed the message
            "signature": string  // Verus generated signature to verify the message
        }
        "message": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation education claim event

Event: verus:signatureForEducationClaimCreated

Description: Event is triggered when new signature is created for education claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation achievement claim event

Event: verus:signatureForAchievementClaimCreated

Description: Event is triggered when new signature is created for achievement claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On new signature for attestation block claim event

Event: verus:signatureForBlockClaimCreated

Description: Event is triggered when new signature is created for achievement claim.

Data:

{
    "data": {
        "signature": {
            "claimId": string
            "claimAttestationType": string
            "claimType": string
            "claimUserId": string
            "userId": string  // endorser user id
            "verifyIdentity": string  // endorser Verus identity name
            "verifyIAddress": string  // endorser Verus identity IAddress
            "message": string  // endorsement message by endorser
            "signature": string  // Verus generated signature to verify the claim
            "status": string  // endorsement status (Saved/Not Saved/Signed/Revoked)
        }
        "claimMessage": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus sign disclaimer success event

Event: verus:signDisclaimerSuccess

Description: Event is emitted after Verus sign disclaimer have been completed and crypto server verifies challengeId.

Data:

{
    "data": {
        "signature": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus sign disclaimer error event

Event: verus:signDisclaimerError

Description: Event is emitted in case if Verus sign disclaimer fails or challengeId verification fails.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus purchase content success event

Event: verus:purchaseContentSuccess

Description: Event is emitted after Verus purchase content have been completed and crypto server verifies challengeId.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus purchase content error event

Event: verus:purchaseContentError

Description: Event is emitted in case if Verus purchase content fails or challengeId verification fails.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus album created event

Event: verus:albumCreated

Description: Event is emitted when album is created.

Data:

{
    "data": {
        "contentIdentity": string
        "contentData": {
            "artistName": string  // artist name
            "albumName": string  // album name
            "genre": string  // album genre
            "url": string  // url to album within valuverse application (set by server)
            "networkId": string  // metaverse network id (set by server)
            "signature": string  // disclaimer signed by verus account, HASH string
            "price": map[string]float  // album price per crypto currency
            "tracks": [{
                "resourceId": string
                "name": string
                "duration": float
            }]
            "albumCover": {
                "resourceId": string
            }
            "artistLogo": {
                "resourceId": string
            }
            "sleeveDocument": {  // table of contents, notes, lyrics
                "resourceId": string
            }
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus album create error event

Event: verus:albumCreateError

Description: Event is emitted when album create is failed.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus album purchased event

Event: verus:albumPurchased

Description: Event is emitted when album is purchased.

Data:

{
    "data": {
        "contentSubIdentities": [ string ]
        "contentData": {
            "artistName": string  // artist name
            "albumName": string  // album name
            "genre": string  // album genre
            "url": string  // url to album within valuverse application (set by server)
            "networkId": string  // metaverse network id (set by server)
            "signature": string  // disclaimer signed by verus account, HASH string
            "price": map[string]float  // album price per crypto currency
            "tracks": [{
                "resourceId": string
                "name": string
                "duration": float
            }]
            "albumCover": {
                "resourceId": string
            }
            "artistLogo": {
                "resourceId": string
            }
            "sleeveDocument": {  // table of contents, notes, lyrics
                "resourceId": string
            }
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus album purchase error event

Event: verus:albumPurchaseError

Description: Event is emitted when album purchase is failed.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Create room subscription with Verus

Event: verus:createRoomSubscription

Description: Event provides deeplink that should be used for Verus payment. After Verus payment is finished, server sends verus:createRoomSubscriptionSuccess or verus:createRoomSubscriptionError event.

Data:

{
    "data": {
        "roomId": string
        "challengeId": string
        "deepLink": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create room subscription success event

Event: verus:createRoomSubscriptionSuccess

Description: Event is emitted after Verus payment have been completed and crypto server verifies challengeId.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus create room subscription error event

Event: verus:createRoomSubscriptionError

Description: Event is emitted in case if Verus payment fails or challengeId verification fails.

Data:

{
    "error": { "status": bool, "code": int, "message": string }
}

Verus transaction status updated event

Event: verus:transactionStatusUpdated

Description: Event is emitted when Verus transaction status updated.

Data:

{
    "data": {
        "userId": string
        "transactionId": string
        "blockchainTransactionId": string
        "status": {
            "name": string
            "status": bool
            "error": string
            "timestamp": timestamp
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Event: verus:linkPersonaAccountResultEvent

Description: Event is emitted after Verus persona account linking have been completed (or failed).

Data:

{
    "data": {
        "linkedAccount": {
            "id": string
            "firstName": string
            "lastName": string
            "privacyMode": int  // 0 - Default, 1 - Incognito
            "avatar": string
            "avatar3D": {  // field is not returned if empty
                "assetId": string
                "assetSkins": map[string]string  // map of selected skins per variants
                "avatarUrl": string  // url to gbl file (Ready Player Me)
                "avatarUserId": string  // user id for session recovery (Ready Player Me)
            }
            "companyName": string  // name of company that user represents
            "companyTitle": string  // user title in the company
            "identityType": int  // 0 - Not Assigned, 1 - SSID, 2 - VSSID
            "identityName": string  // Verus identity name
        }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get scoped root key result event

Event: verus:getScopedRootKeyResultEvent

Description: Event is emitted after Verus get scoped root key process have been completed (or failed).

Data:

{
    "data": {
        "cypherData": string  // data from wallet encrypted for client public key or zAddress
        "epk": string  // encryption epk, if used cypherData
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus verify message result event: deprecated

Event: verus:verifyMessageResultEvent

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus verify attestation claim result event

Event: verus:verifyAttestationClaimResultEvent

Description: Event is emitted after Verus attestation claim verification have been completed (or failed).

Data:

{
    "data": {
        "claimId": string
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus verify social account result event: deprecated

Event: verus:verifySocialAccountResultEvent

DEPRECATED

Data:

{
    "data": {
        "messageId": string
        "proofMessage": string  // message to post in social network
        "socialType": string  // x/linkedin
        "socialUsername": string  // username in target social network
        "signature": string
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus verify social account result event

Event: verus:verifySocialAccountClaimResultEvent

Description: Event is emitted after Verus social account message verification have been completed (or failed).

Data:

{
    "data": {
        "claimId": string
        "proofMessage": string  // message to post in social network
        "socialType": string  // x/linkedin
        "socialUsername": string  // username in target social network
        "signature": string
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus save claims result event

Event: verus:saveClaimsResultEvent

Description: Event is emitted after Verus save claims have been completed (or failed).

Data:

{
    "data": {
        "claimIds": [ string ]
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create endorsement result event

Event: verus:createEndorsementResultEvent

Description: Event is emitted after Verus create endorsement challenge have been completed (or failed).

Data:

{
    "data": {
        "claimId": string
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus save endorsement result event

Event: verus:saveEndorsementResultEvent

Description: Event is emitted after endorsement have been saved to blockchain (or failed).

Data:

{
    "data": {
        "endorsementMap": map[string][ string ]
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get attestation result event

Event: verus:getAttestationResultEvent

Description: Event is emitted after Verus attestation retrieval have been completed (or failed).

Data:

{
    "data": {
        "attestation": map[sectionName]{ attestation JSON }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get attestation proofs result event

Event: verus:getAttestationProofsResultEvent

Description: Event is emitted after Verus attestation proofs retrieval have been completed (or failed).

Data:

{
    "data": {
        "attestation": map[sectionName]{ attestation JSON }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get attestation values result event

Event: verus:getAttestationValuesResultEvent

Description: Event is emitted after Verus attestation values (by requested keys) retrieval have been completed (or failed).

Data:

{
    "data": {
        "attestationValues": map[string]{ custom structure }
        "isSuccess": bool
        "errorCode": int
        "errorString": string
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus transfer identity event

Event: verus:transferIdentityEvent

Data:

{
    "data": {
        "error": string  // Error message if any occurred during the transfer
        "objectId": string  // Identifier of the object (namespace/currency)
        "toId": string  // Identity that became the new owner
        "challengeId": string  // Challenge ID for the transfer
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus nft minted event

Event: verus:nftMintedEvent

Data:

{
    "data": {
        "error": string  // Error message if any
        "identityName": string  // Name of the minted NFT identity
        "challengeId": string  // ID related to the challenge or minting process
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus payment ready event

Event: verus:paymentReadyEvent

Data:

{
    "data": {
        "error": string  // Error message if any
        "challengeId": string  // ID associated with the payment process
    }
    "error": { "status": bool, "code": int, "message": string }
}

On verus currency ready event

Event: verus:currencyReadyEvent

Data:

{
    "data": {
        "error": string  // Error message if any
        "challengeId": string  // ID related to the namespace/currency setup
    }
    "error": { "status": bool, "code": int, "message": string }
}