Change Milestone Status
Responsible for changing the milestone status of an escrow through the service provider.
Headers
Content-Type
application/json
x-api-key
<token>
Open API
ID (address) that identifies the escrow contract
CAZ6UQX7...milestone within the group of milestones in the escrow
1New value for the evidence property within the escrow milestone
EvidenceNew value for the status property within the escrow milestone
CompletedAddress of the entity providing the service
CompletedThis endpoint returns an unsigned transaction in XDR format. This XDR is then used to sign the transaction using the “/helper/send-transaction” endpoint.
Bad request
Unauthorized access
Too Many Requests
Possible errors:
- Escrow not found
- Only the service provider can change milestone status
- Invalid milestone index
- Escrow initialized without milestone
- An unexpected error occurred
POST /escrow/single-release/change-milestone-status HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 177
{
"contractId": "CAZ6UQX7...",
"milestoneIndex": "1",
"newEvidence": "Any evidence that the milestone is completed",
"newStatus": "Completed",
"serviceProvider": "GAPPROVER1234567890..."
}{
"status": "SUCCESS",
"unsignedTransaction": "AAAAAgAAAAAtWsgedQ...."
}
What this Endpoint returns?
This endpoint returns the transaction unsigned so that the transaction can be signed by means of a customer wallet.
Use example:
import axios from "axios";
const http = axios.create({
baseURL: "https://dev.api.trustlesswork.com",
timeout: 10000,
headers: {
"Content-Type": "application/json",
"x-api-key": your_api_key,
},
});
export const useExample = async () => {
// Get the signer address
const { address } = await kit.getAddress();
const response = await http.post(
"/escrow/single-release/change-milestone-status",
{
// body requested for the endpoint
},
);
// Get the unsigned transaction hash
const { unsignedTransaction } = response.data;
// Sign the transaction by wallet
const { signedTxXdr } = await signTransaction(unsignedTransaction, {
address,
networkPassphrase: WalletNetwork.TESTNET,
});
// Send the transaction to Stellar Network
const tx = await http.post("/helper/send-transaction", {
signedXdr: signedTxXdr,
});
const { data } = tx;
return data;
}Last updated
Was this helpful?