Verus partner API
| Endpoint | Method | Description |
|---|---|---|
| /api/v0/partnerRpc/verus.verifyChallenge | jsonRpc | Verify challenge |
| /api/v0/partnerRpc/verus.verifyPayment | jsonRpc | Verify payment |
| /api/v0/partnerRpc/verus.musicCreated | jsonRpc | Music created |
| /api/v0/partnerRpc/verus.musicPurchased | jsonRpc | Music purchased |
| /api/v0/partnerRpc/verus.transactionUpdated | jsonRpc | Transaction updated |
| /api/v0/partnerRpc/verus.dataSigned | jsonRpc | Data signed |
| /api/v0/partnerRpc/verus.attestationFromWallet | jsonRpc | Attestation from wallet |
| jsonRpc | Attestation fetched | |
| jsonRpc | Attestation proofs fetched | |
| /api/v0/partnerRpc/verus.verifyEndorsementSigned | jsonRpc | Verify endorsement signed |
| /api/v0/partnerRpc/verus.transferIdentity | jsonRpc | Transfer identity |
| /api/v0/partnerRpc/verus.nftMinted | jsonRpc | Nft minted |
| /api/v0/partnerRpc/verus.paymentReady | jsonRpc | Payment ready |
| /api/v0/partnerRpc/verus.currencyReady | jsonRpc | Currency ready |
Verify challenge
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.verifyChallenge
Description: Endpoint is used by crypto server to verify user authorization with VerusId.
Request:
{
"challengeId": string // challenge id is unique for each challenge
"verificationStatus": bool // true when challenge is successful
"error": string // not empty when challenge failed
"identity": { // client verus identity
"address": string // Verus identity iAddress
"name": string // Verus identity name
}
"signature": string // in case of sign message challenge
"attestations": map[sectionName]{ attestation JSON } // in case of attestations challenge
"cypherData": string // data from wallet encrypted for client public key or zAddress
"epk": string // encryption epk, if used cypherData
}
Response:
{ empty }
Verify payment
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.verifyPayment
Description: Endpoint is used by crypto server to verify user payment with VerusId.
Request:
{
"challengeId": string // challenge id is unique for each payment attempt
"paymentStatus": bool // true when payment is successful
"productIdentity": string // verus identity of purchased product
"error": string // not empty when authorization failed
}
Response:
{ empty }
Music created
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.musicCreated
Description: Endpoint is used by crypto server to notify user that Verus music has been created (or failed).
Request:
{
"identity": string
"iAddress": string
"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": string
}
Response:
{ empty }
Music purchased
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.musicPurchased
Description: Endpoint is used by crypto server to notify user that Verus music has been purchased (or failed).
Request:
{
"challengeId": string
"identity": string
"iAddress": string
"contentSubIdentities": [ string ] // subIdentity names for each copy of content (eg. copy1.album1@)
"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": string
}
Response:
{ empty }
Transaction updated
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.transactionUpdated
Description: Endpoint is used by crypto server to notify server and user that Verus transaction has been updated.
Request:
{
"challengeId": string
"name": string
"blockchainTransactionId": string
"status": bool
"error": string
}
Response:
{ empty }
Data signed
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.dataSigned
Description: Endpoint is used by crypto server to notify server and user that Verus data has been signed.
Request:
{
"challengeId": string // challenge id is unique for each challenge
"status": bool // true when challenge is successful
"error": string // not empty when challenge failed
"identityName": string // Verus identity that signed the message
"iAddress": string // Verus identity IAddress that signed the message
"signature": string // Verus verification signature
}
Response:
{ empty }
Attestation from wallet
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.attestationFromWallet
Description: Endpoint is used by crypto server to provide attestation data from wallet to server.
Request:
{
"challengeId": string
"error": string
"iAddress": string
"attestations": [{
"attestationName": string
"attestationData": map[string]{ custom structure }
}]
}
Response:
{ empty }
Attestation fetched
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.attestationFetched
DEPRECATED
Description: Endpoint is used by crypto server to notify server and user that Verus attestation has been fetched.
Request:
{
"challengeId": string // challenge id is unique for each challenge
"error": string // not empty when challenge failed
"attestation": map[sectionName]{ attestation JSON } // Verus attestation
"iAddress": string // Verus attestation identity IAddress
}
Response:
{ empty }
Attestation proofs fetched
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.attestationProofsFetched
DEPRECATED
Description: Endpoint is used by crypto server to notify server and user that Verus attestation proofs has been fetched.
Request:
{
"challengeId": string // challenge id is unique for each challenge
"error": string // not empty when challenge failed
"attestationProofs": map[sectionName]{ attestation JSON } // Verus attestation proofs
"iAddress": string // Verus attestation identity IAddress
}
Response:
{ empty }
Verify endorsement signed
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.verifyEndorsementSigned
Description: Endpoint is used by crypto server to verify endorsement signed by Verus user.
Request:
{
"challengeId": string // challenge id is unique for each challenge
"error": string // not empty when challenge failed
"endorsement": { // endorsement blockchain model
"version": string
"flags": string
"endorsee": string
"message": string
"reference": string
"signature": map[string]{ custom structure }
"txid": string
}
}
Response:
{ empty }
Transfer identity
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.transferIdentity
Request:
{
"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
}
Response:
{ empty }
Nft minted
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.nftMinted
Request:
{
"error": string // Error message if any
"identityName": string // Name of the minted NFT identity
"challengeId": string // ID related to the challenge or minting process
}
Response:
{ empty }
Payment ready
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.paymentReady
Request:
{
"error": string // Error message if any
"challengeId": string // ID associated with the payment process
}
Response:
{ empty }
Currency ready
Method: jsonRpc
HTTP Method: POST
Path: /api/v0/partnerRpc/verus.currencyReady
Request:
{
"error": string // Error message if any
"challengeId": string // ID related to the namespace/currency setup
}
Response:
{ empty }