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.
/verus/timelockResponsewebRequestProxy response from Verus to crypto server.
/verus/revokeResponsewebRequestProxy response from Verus to crypto server.
/verus/recoverResponsewebRequestProxy 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:getDeeplinkToSignCredentialswebsocketVerus get deeplink to sign credentials
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:getIdentityProvisionStatuswebsocketVerus get identity provision status
verus:checkValuLightIdentityNamewebsocketVerus check valu light identity name
verus:provisionValuLightIdentitywebsocketVerus provision valu light identity
verus:getValuLightIdentityProvisionStatuswebsocketVerus get valu light identity provision status
verus:createIdentityMarketplaceSellOfferwebsocketVerus create identity marketplace sell offer
verus:deleteIdentityMarketplaceSellOfferwebsocketVerus delete identity marketplace sell offer
verus:listIdentityMarketplaceSellOffersOfCurrentUserwebsocketVerus list identity marketplace sell offers of current user
verus:listIdentityMarketplaceSellOffersOfTargetUserwebsocketVerus list identity marketplace sell offers of target user
verus:createIdentityMarketplaceBuyOfferwebsocketVerus create identity marketplace buy offer
verus:deleteIdentityMarketplaceBuyOfferwebsocketVerus delete identity marketplace buy offer
verus:listIdentityMarketplaceOutgoingBuyOfferswebsocketVerus list identity marketplace outgoing buy offers
verus:listIdentityMarketplaceIncomingBuyOfferswebsocketVerus list identity marketplace incoming buy offers
verus:getDeeplinkToPayForIdentityMarketplaceBuyOfferwebsocketVerus get deeplink to pay for identity marketplace buy offer
verus:simulatePaymentForIdentityMarketplaceBuyOfferwebsocketVerus simulate payment for identity marketplace buy offer
verus:acceptIdentityMarketplaceBuyOfferwebsocketVerus accept identity marketplace buy offer
verus:listIdentityMarketplaceBuyOfferValueswebsocketVerus list identity marketplace buy offer values
verus:listAmbassadorswebsocketVerus list ambassadors
verus:listIdentitieswebsocketVerus list identities
verus:getIdentityStatuswebsocketVerus get identity status
verus:listIdentityTransactionswebsocketVerus list identity transactions
verus:listIdentityBalanceswebsocketVerus list identity balances
verus:getBlockHeightwebsocketVerus get block height
verus:getTimelockDeeplinkwebsocketVerus get timelock deeplink
verus:getRevokeDeeplinkwebsocketVerus get revoke deeplink
verus:getRevokeIdentitieswebsocketVerus get revoke identities
verus:getRecoveryDeeplinkwebsocketVerus get recovery deeplink
verus:getRecoveryIdentitieswebsocketVerus get recovery identities
verus:createAgentIdwebsocketVerus create agent id
verus:getAgentsBalancewebsocketVerus get agents balance
verus:agentSendMoneywebsocketVerus agent send money
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:identityMarketplaceBuyOfferCreatedEventwebsocketEventOn identity marketplace buy offer created event
verus:identityMarketplaceBuyOfferUpdatedEventwebsocketEventOn identity marketplace buy offer updated event
verus:identityMarketplaceBuyOfferAutoAcceptEventwebsocketEventOn identity marketplace buy offer auto accept 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
verus:provisionStartedEventwebsocketEventOn provision started event
verus:provisionEndedEventwebsocketEventOn provision ended event
verus:valuLightProvisionStartedEventwebsocketEventOn valu light provision started event
verus:valuLightProvisionEndedEventwebsocketEventOn valu light provision ended event
verus:timelockResultEventwebsocketEventOn timelock result event
verus:revokeResultEventwebsocketEventOn revoke result event
verus:recoveryResultEventwebsocketEventOn recovery result event
verus:agentIdCreatedEventwebsocketEventOn verus agent id created event
verus:agentBalancesEventwebsocketEventOn verus agent balances 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: GET

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: GET

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 }

Proxy response from Verus to crypto server. ​

HTTP Method: POST

Path: /verus/timelockResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server. ​

HTTP Method: POST

Path: /verus/revokeResponse

Request:

JSON body

Response:

{ empty }

Proxy response from Verus to crypto server. ​

HTTP Method: POST

Path: /verus/recoverResponse

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
            "badgeId": string
            "blockAnswers": [{
                "networkId": string
                "blockId": string
                "questionId": string
                "questionTitle": string
                "questionType": 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
                "badgeId": string
                "blockAnswers": [{
                    "networkId": string
                    "blockId": string
                    "questionId": string
                    "questionTitle": string
                    "questionType": 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:getDeeplinkToSignCredentials

Description: Endpoint returns a single deeplink for signing multiple credentials at once.

Request:

{
    "data": {
        "requests": [{
            "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
        "credentialTemplateId": string  // only for credentials, id of the credential template claim it was granted from
        "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
            "credentialTemplateId": string  // only for credentials, id of the credential template claim it was granted from
            "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
        "issuingId": string  // special case for issuing Verus ID (i.e. ambassadors)
    }
    "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
            "credentialTemplateId": string  // only for credentials, id of the credential template claim it was granted from
            "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
                "credentialTemplateId": string  // only for credentials, id of the credential template claim it was granted from
                "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
        "badgeId": string  // if present, badge is granted to user when block claim is verified
        "approveOptions": [ string ]
        "requiredAttestations": [ string ]
        "blockQuestions": [{
            "isRequired": bool
            "fieldReference": string
            "questionTitle": string
            "questionType": string  // statement/skill/multipleChoice/issuingId
            "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
            "badgeId": string  // if present, badge is granted to user when block claim is verified
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string  // statement/skill/multipleChoice/issuingId
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]  // who can approve attestation block claim: all/verusIAddress/userId (example: ['userId:123456', 'verusIAddress:q1w2e3r4t5y6'])
            "requiredAttestations": [ string ]  // attestations required for this block to appear, like ['personalDataProofs.has_age_of_birth', 'locationProofs.has_physical_addresses']
        }
    }
    "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
        "badgeId": string  // if present, badge is granted to user when block claim is verified
        "approveOptions": [ string ]
        "requiredAttestations": [ string ]
        "blockQuestions": [{
            "isRequired": bool
            "fieldReference": string
            "questionTitle": string
            "questionType": string  // statement/skill/multipleChoice/issuingId
            "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
            "badgeId": string  // if present, badge is granted to user when block claim is verified
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string  // statement/skill/multipleChoice/issuingId
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]  // who can approve attestation block claim: all/verusIAddress/userId (example: ['userId:123456', 'verusIAddress:q1w2e3r4t5y6'])
            "requiredAttestations": [ string ]  // attestations required for this block to appear, like ['personalDataProofs.has_age_of_birth', 'locationProofs.has_physical_addresses']
        }]
    }
    "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
            "badgeId": string  // if present, badge is granted to user when block claim is verified
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string  // statement/skill/multipleChoice/issuingId
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]  // who can approve attestation block claim: all/verusIAddress/userId (example: ['userId:123456', 'verusIAddress:q1w2e3r4t5y6'])
            "requiredAttestations": [ string ]  // attestations required for this block to appear, like ['personalDataProofs.has_age_of_birth', 'locationProofs.has_physical_addresses']
        }]
        "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
            "badgeId": string  // if present, badge is granted to user when block claim is verified
            "blockSchema": map[string]{ custom structure }  // client side visual information about the form
            "blockQuestions": [{
                "questionId": string
                "isRequired": bool
                "fieldReference": string
                "questionTitle": string
                "questionType": string  // statement/skill/multipleChoice/issuingId
                "questionMessage": string
                "multipleChoice": [{
                    "answerMessage": string
                    "needUpload": bool
                }]
            }]
            "approveOptions": [ string ]  // who can approve attestation block claim: all/verusIAddress/userId (example: ['userId:123456', 'verusIAddress:q1w2e3r4t5y6'])
            "requiredAttestations": [ string ]  // attestations required for this block to appear, like ['personalDataProofs.has_age_of_birth', 'locationProofs.has_physical_addresses']
        }]
        "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
            "badgeId": string
            "blockAnswers": [{
                "networkId": string
                "blockId": string
                "questionId": string
                "questionTitle": string
                "questionType": 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": {
        "identitiesList": map[string][{
            "identity": string
            "identityaddress": string
            "metadata": string
            "parent": string
        }]
    }
    "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 }
}

Verus get identity provision status ​

Method: websocket

Endpoint: verus:getIdentityProvisionStatus

Request:

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

Response:

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

Verus check valu light identity name ​

Method: websocket

Endpoint: verus:checkValuLightIdentityName

Description: Tells whether a name can be provisioned right now through ValuLight. Does not reserve it.

Request:

{
    "data": {
        "name": string  // alice, alice.valuid or alice.valuid@
        "currency": string  // parent currency, e.g. valuid@; must match a parent written in name; defaults to valuid
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "status": bool  // true when the name can be provisioned
        "identity": string  // full name that was checked, e.g. alice.valuid@
        "error": string  // empty when the name can be provisioned; otherwise why not
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus provision valu light identity ​

Method: websocket

Endpoint: verus:provisionValuLightIdentity

Description: Queues one identity for ValuLight's hot-wallet-funded provisioning; no action is required in the user's own wallet. Once registered, server links the identity to user and sends verus:valuLightProvisionStartedEvent / verus:valuLightProvisionEndedEvent events.

Request:

{
    "data": {
        "name": string  // alice, alice.valuid or alice.valuid@
        "primaryAddress": string  // the user's rAddress
        "currency": string  // parent currency; defaults to valuid
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "error": string  // why the identity was rejected, or a request-level problem; empty when queued
        "identity": string  // full name, e.g. vss100.valuid@; empty when not queued
        "challengeId": string  // id in the provisionStarted/provisionEnded callbacks; empty when not queued
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get valu light identity provision status ​

Method: websocket

Endpoint: verus:getValuLightIdentityProvisionStatus

Description: Returns the progress of the identity the current user last queued via verus:provisionValuLightIdentity.

Request:

{ empty }

Response:

{
    "data": {
        "error": string  // call-level problem, falling back to the job's own failure reason; empty when there is none
        "identity": string  // full name, e.g. vss100.valuid@; empty when no job matched
        "name": string  // vss100; empty when no job matched
        "currency": string  // valuid; empty when no job matched
        "createdAt": string  // UTC timestamp; empty when no job matched
        "status": string  // pending, registernamecommitment, registeridentity, ready or error; empty when no job matched
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create identity marketplace sell offer ​

Method: websocket

Endpoint: verus:createIdentityMarketplaceSellOffer

Description: Endpoint creates/updates an offer from user attestation data that could be sold on identity marketplace.

When creating/updating sell offer, user must increase encryption epoch (targetType: identitySellOffer, targetId: userId:identityKey).

Request:

{
    "data": {
        "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
        "identityKeyValue": string  // encrypted value (cipher-text) of the identity key
        "price": float  // price in $cents for which the identity key value is being sold
        "encryptionVersion": string  // encryption version, like 'verus.v1'
        "encryptionEpoch": int  // epoch defines key bundle that was used for encryption
        "encryptionEpk": string  // ephemeral public key that should be used to decrypt cypher data
    }
    "event": { "id": string, "date": timestamp }
}

Response:

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

Verus delete identity marketplace sell offer ​

Method: websocket

Endpoint: verus:deleteIdentityMarketplaceSellOffer

Request:

{
    "data": {
        "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
    }
    "event": { "id": string, "date": timestamp }
}

Response:

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

Verus list identity marketplace sell offers of current user ​

Method: websocket

Endpoint: verus:listIdentityMarketplaceSellOffersOfCurrentUser

Description: Endpoint returns list of identity marketplace sell offers created by current user.

Request:

{ empty }

Response:

{
    "data": {
        "offers": [{
            "userId": string  // user who is sharing data with the rest of the world
            "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
            "price": float  // price in $cents for which the identity key value is being sold
            "encryptionVersion": string  // encryption version, like 'verus.v1'
            "encryptionEpoch": int  // epoch defines key bundle that was used for encryption
            "encryptionEpk": string  // ephemeral public key that should be used to decrypt cypher data
            "identityKeyValue": string  // encrypted value (cipher-text) of the identity key
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list identity marketplace sell offers of target user ​

Method: websocket

Endpoint: verus:listIdentityMarketplaceSellOffersOfTargetUser

Description: Endpoint returns list of identity marketplace sell offers created by target user.

Request:

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

Response:

{
    "data": {
        "offers": [{
            "userId": string  // user who is sharing data with the rest of the world
            "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
            "price": float  // price in $cents for which the identity key value is being sold
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus create identity marketplace buy offer ​

Method: websocket

Endpoint: verus:createIdentityMarketplaceBuyOffer

Description: Endpoint creates identity marketplace buy offer for target user's identity sell offer.

When creating buy offer, user must create new encryption epoch. (targetType: identityBuyOffer, targetId: offerId). Later, this epoch should be used to access purchased identity values.

Request:

{
    "data": {
        "targetUserId": string  // user who is being requested to share data
        "identityListings": [{  // list of identities that user wants to buy
            "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
            "price": float  // price in $cents for which the identity key value is being sold
        }]
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "offer": {
            "userId": string  // user who is requesting to buy data
            "targetUserId": string  // user who is being requested to share data
            "offerId": string  // unique offer id
            "offerStatus": string  // status of the buy offer (e.g., waitingForTransaction, transactionInProcess, waitingForAccept, accepted, expired)
            "created": timestamp  // timestamp when the buy offer was created
            "totalPrice": float  // total price in $cents for all requested identity keys
            "transactionId": string  // transaction id of the payment for this buy offer
            "transactionStatus": string  // status of the payment transaction (e.g., pending, completed, failed)
            "autoAccept": bool  // indicates whether the buy offer should be automatically accepted when payment is completed
            "identityListings": [{  // list of identities that user wants to buy
                "offerId": string  // unique offer id
                "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
                "price": float  // price in $cents for which the identity key value is being sold
            }]
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus delete identity marketplace buy offer ​

Method: websocket

Endpoint: verus:deleteIdentityMarketplaceBuyOffer

Request:

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

Response:

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

Verus list identity marketplace outgoing buy offers ​

Method: websocket

Endpoint: verus:listIdentityMarketplaceOutgoingBuyOffers

Description: Endpoint returns list of identity marketplace buy offers created by current user.

Request:

{ empty }

Response:

{
    "data": {
        "offers": [{
            "userId": string  // user who is requesting to buy data
            "targetUserId": string  // user who is being requested to share data
            "offerId": string  // unique offer id
            "offerStatus": string  // status of the buy offer (e.g., waitingForTransaction, transactionInProcess, waitingForAccept, accepted, expired)
            "created": timestamp  // timestamp when the buy offer was created
            "totalPrice": float  // total price in $cents for all requested identity keys
            "transactionId": string  // transaction id of the payment for this buy offer
            "transactionStatus": string  // status of the payment transaction (e.g., pending, completed, failed)
            "autoAccept": bool  // indicates whether the buy offer should be automatically accepted when payment is completed
            "identityListings": [{  // list of identities that user wants to buy
                "offerId": string  // unique offer id
                "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
                "price": float  // price in $cents for which the identity key value is being sold
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list identity marketplace incoming buy offers ​

Method: websocket

Endpoint: verus:listIdentityMarketplaceIncomingBuyOffers

Description: Endpoint returns list of identity marketplace buy offers addressed to current user.

Request:

{ empty }

Response:

{
    "data": {
        "offers": [{
            "userId": string  // user who is requesting to buy data
            "targetUserId": string  // user who is being requested to share data
            "offerId": string  // unique offer id
            "offerStatus": string  // status of the buy offer (e.g., waitingForTransaction, transactionInProcess, waitingForAccept, accepted, expired)
            "created": timestamp  // timestamp when the buy offer was created
            "totalPrice": float  // total price in $cents for all requested identity keys
            "transactionId": string  // transaction id of the payment for this buy offer
            "transactionStatus": string  // status of the payment transaction (e.g., pending, completed, failed)
            "autoAccept": bool  // indicates whether the buy offer should be automatically accepted when payment is completed
            "identityListings": [{  // list of identities that user wants to buy
                "offerId": string  // unique offer id
                "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
                "price": float  // price in $cents for which the identity key value is being sold
            }]
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Method: websocket

Endpoint: verus:getDeeplinkToPayForIdentityMarketplaceBuyOffer

Description: Endpoint returns deeplink to user in order to pay for identity marketplace buy offer using Verus.

Request:

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

Response:

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

Verus simulate payment for identity marketplace buy offer ​

Method: websocket

Endpoint: verus:simulatePaymentForIdentityMarketplaceBuyOffer

Description: Endpoint simulates payment for identity marketplace buy offer. DEVELOPERS ONLY.

Request:

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

Response:

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

Verus accept identity marketplace buy offer ​

Method: websocket

Endpoint: verus:acceptIdentityMarketplaceBuyOffer

Description: Endpoint accepts identity marketplace buy offer after payment is completed.

When accepting the offer, user must set an additional owner for an encryption epoch for each sold identity value (ownerType: identityBuyOffer, ownerId: offerId).

Request:

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

Response:

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

Verus list identity marketplace buy offer values ​

Method: websocket

Endpoint: verus:listIdentityMarketplaceBuyOfferValues

Description: Endpoint returns list of values for identity marketplace buy offer after payment is completed and offer is accepted.

Request:

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

Response:

{
    "data": {
        "offers": [{
            "offerId": string  // unique offer id
            "userId": string  // user who is sharing data with the rest of the world
            "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
            "price": float  // price in $cents for which the identity key value is being sold
            "encryptionVersion": string  // encryption version, like 'verus.v1'
            "encryptionEpoch": int  // epoch defines key bundle that was used for encryption
            "encryptionEpk": string  // ephemeral public key that should be used to decrypt cypher data
            "identityKeyValue": string  // encrypted value (cipher-text) of the identity key
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list ambassadors ​

Method: websocket

Endpoint: verus:listAmbassadors

Description: Endpoint returns list of predefined ambassador ids.

Request:

{ empty }

Response:

{
    "data": {
        "ambassadors": [{
            "place": string
            "id": string
            "token": string
            "status": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list identities ​

Method: websocket

Endpoint: verus:listIdentities

Request:

{ empty }

Response:

{
    "data": {
        "identitiesList": [{
            "type": string
            "address": string
            "status": string
            "timelock": int
            "timelockStatus": string
            "lockType": string
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get identity status ​

Method: websocket

Endpoint: verus:getIdentityStatus

Request:

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

Response:

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

Verus list identity transactions ​

Method: websocket

Endpoint: verus:listIdentityTransactions

Request:

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

Response:

{
    "data": {
        "transactions": [{
            "type": string
            "amount": float
            "addresses": [ string ]
            "txid": string
            "timestamp": timestamp
        }]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus list identity balances ​

Method: websocket

Endpoint: verus:listIdentityBalances

Request:

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

Response:

{
    "data": {
        "balance": [ map[string]float64 ]
    }
    "error": { "status": bool, "code": int, "message": string }
}

Verus get block height ​

Method: websocket

Endpoint: verus:getBlockHeight

Request:

{ empty }

Response:

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

Method: websocket

Endpoint: verus:getTimelockDeeplink

Description: Endpoint returns deeplink that should be used for Verus timelock process. After Verus timelock process is finished, server sends verus:timelockResultEvent.

Request:

{
    "data": {
        "identityName": string
        "hours": int
        "isDelay": bool
    }
    "event": { "id": string, "date": timestamp }
}

Response:

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

Method: websocket

Endpoint: verus:getRevokeDeeplink

Description: Endpoint returns deeplink that should be used for Verus revocation process. After Verus timelock process is finished, server sends verus:revokeResultEvent.

Request:

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

Response:

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

Verus get revoke identities ​

Method: websocket

Endpoint: verus:getRevokeIdentities

Request:

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

Response:

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

Method: websocket

Endpoint: verus:getRecoveryDeeplink

Description: Endpoint returns deeplink that should be used for Verus recovery process. After Verus timelock process is finished, server sends verus:recoveryResultEvent.

Request:

{
    "data": {
        "identityName": string
        "primaryaddress": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

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

Verus get recovery identities ​

Method: websocket

Endpoint: verus:getRecoveryIdentities

Request:

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

Response:

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

Verus create agent id ​

Method: websocket

Endpoint: verus:createAgentId

Description: Results are sent asynchronously through verus:agentIdCreatedEvent event.

Request:

{
    "data": {
        "identityName": string
        "ownerIdentity": string
    }
    "event": { "id": string, "date": timestamp }
}

Response:

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

Verus get agents balance ​

Method: websocket

Endpoint: verus:getAgentsBalance

Description: Results are sent asynchronously through verus:agentsBalanceResultEvent event.

Request:

{ empty }

Response:

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

Verus agent send money ​

Method: websocket

Endpoint: verus:agentSendMoney

Request:

{
    "data": {
        "fromAddress": string
        "to": string
        "amount": float
    }
    "event": { "id": string, "date": timestamp }
}

Response:

{
    "data": {
        "transactionId": 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
        "badgeId": string
        "blockAnswers": [{
            "networkId": string
            "blockId": string
            "questionId": string
            "questionTitle": string
            "questionType": 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 }
}

On identity marketplace buy offer created event ​

Event: verus:identityMarketplaceBuyOfferCreatedEvent

Data:

{
    "data": {
        "offer": {
            "userId": string  // user who is requesting to buy data
            "targetUserId": string  // user who is being requested to share data
            "offerId": string  // unique offer id
            "offerStatus": string  // status of the buy offer (e.g., waitingForTransaction, transactionInProcess, waitingForAccept, accepted, expired)
            "created": timestamp  // timestamp when the buy offer was created
            "totalPrice": float  // total price in $cents for all requested identity keys
            "transactionId": string  // transaction id of the payment for this buy offer
            "transactionStatus": string  // status of the payment transaction (e.g., pending, completed, failed)
            "autoAccept": bool  // indicates whether the buy offer should be automatically accepted when payment is completed
            "identityListings": [{  // list of identities that user wants to buy
                "offerId": string  // unique offer id
                "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
                "price": float  // price in $cents for which the identity key value is being sold
            }]
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

On identity marketplace buy offer updated event ​

Event: verus:identityMarketplaceBuyOfferUpdatedEvent

Data:

{
    "data": {
        "offer": {
            "userId": string  // user who is requesting to buy data
            "targetUserId": string  // user who is being requested to share data
            "offerId": string  // unique offer id
            "offerStatus": string  // status of the buy offer (e.g., waitingForTransaction, transactionInProcess, waitingForAccept, accepted, expired)
            "created": timestamp  // timestamp when the buy offer was created
            "totalPrice": float  // total price in $cents for all requested identity keys
            "transactionId": string  // transaction id of the payment for this buy offer
            "transactionStatus": string  // status of the payment transaction (e.g., pending, completed, failed)
            "autoAccept": bool  // indicates whether the buy offer should be automatically accepted when payment is completed
            "identityListings": [{  // list of identities that user wants to buy
                "offerId": string  // unique offer id
                "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
                "price": float  // price in $cents for which the identity key value is being sold
            }]
        }
    }
    "error": { "status": bool, "code": int, "message": string }
}

On identity marketplace buy offer auto accept event ​

Event: verus:identityMarketplaceBuyOfferAutoAcceptEvent

Description: Triggered when payment is completed for buy offer with auto accept flag. When target user device receives an event, it should automatically accept an offer and disclose identity listings to a buyer.

Data:

{
    "data": {
        "offerId": string
        "buyerUserId": string
        "listings": [{
            "userId": string  // user who is sharing data with the rest of the world
            "identityKey": string  // vdxf intent key (e.g., vrsc::identity.firstname)
            "price": float  // price in $cents for which the identity key value is being sold
            "encryptionVersion": string  // encryption version, like 'verus.v1'
            "encryptionEpoch": int  // epoch defines key bundle that was used for encryption
            "encryptionEpk": string  // ephemeral public key that should be used to decrypt cypher data
            "identityKeyValue": string  // encrypted value (cipher-text) of the identity key
        }]
    }
    "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
                "avatarResourceId": string  // resource id (in case of avatar uploaded to user3DAvatar belonging)
                "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
        "verifyLink": 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
        "verifyLink": 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 }
}

On provision started event ​

Event: verus:provisionStartedEvent

Data:

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

On provision ended event ​

Event: verus:provisionEndedEvent

Data:

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

On valu light provision started event ​

Event: verus:valuLightProvisionStartedEvent

Data:

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

On valu light provision ended event ​

Event: verus:valuLightProvisionEndedEvent

Data:

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

On timelock result event ​

Event: verus:timelockResultEvent

Data:

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

On revoke result event ​

Event: verus:revokeResultEvent

Data:

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

On recovery result event ​

Event: verus:recoveryResultEvent

Data:

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

On verus agent id created event ​

Event: verus:agentIdCreatedEvent

Data:

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

On verus agent balances event ​

Event: verus:agentBalancesEvent

Data:

{
    "data": {
        "agents": [{  // list of agents with their balances
            "iAddress": string
            "identityName": string
            "balance": float
        }]
        "error": string
    }
    "error": { "status": bool, "code": int, "message": string }
}