Reject Transfer Holder

This endpoint initiates the rejection of a pending transfer as the current holder of a document managed under a Title Escrow smart contract. Rejecting a transfer is an explicit action taken by the existing holder to decline an incoming transfer request initiated by another party.

When the document file is submitted, the system extracts the embedded metadata—specifically the token identifier—required to determine the Title Escrow contract instance associated with the document. Using the extracted token hash and the registry address provided in the request, the system locates the corresponding Title Escrow contract on-chain.

The operation requires authentication via the user's wallet, whose credentials must be supplied through the Authorization header. The system validates that the authenticated wallet corresponds to the current recognized holder of the document within the Title Escrow contract. If the caller is not the legitimate holder, the transfer rejection request is denied.

Before preparing the contract call, the system processes any optional remarks supplied in the request. These remarks are encoded into a structured payload that becomes part of the transaction data, serving as an auditable and immutable explanation for the rejection.

The system then encodes the appropriate smart contract —using the contract's ABI. After generating the transaction call data, the system estimates gas usage and constructs a fully prepared unsigned transaction object. A transaction hash is generated from this unsigned transaction and is used to initiate a signing challenge.

All contextual information related to the rejection request, including the unsigned transaction, token metadata, challenge details, session parameters, and document contents, is securely stored in the backend session store.

The endpoint returns a redirect URL pointing to the signing interface. The caller must open this link and complete the authentication challenge to authorize the rejection action on-chain.

File Upload Format (Base64 Data URI)

For endpoints that accept file inputs, files must be submitted as a Base64-encoded Data URI string in the document field.

Format
data:<mimeType>;name=<filename>;base64,<base64EncodedContent>

Example
json
{ "document": "data:application/octet-stream;name=BL-0xd7.tt;base64,ewogICJAY29udGV4dCI6IFsKICAgICJodHRwcz..." }

Notes

  • Requires End User approval
  • Reverts the pending transfer request
  • No control change occurs

This API returns a URL with sessionId.
Use GET /auth/session-response?sessionId=<sessionId> to retrieve the session result.

Body Params
string
required

Identifier of the wallet that will attempt to reject the transfer and sign the transaction.

string

Optional remarks that describe the reason for rejecting the transfer. These remarks are encoded and included in the transaction data.

file
required

Signed document file containing metadata required to extract the token identifier associated with the Title Escrow contract.

Headers
string

Unique key to ensure idempotency for API requests.

string

Unique external ID for tracking purposes, can be used for debugging and analytics.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json