Onboard - Preapproval for external party creation

Hi guys,

So I’m about to make the last step of my external party allocation, I hold my own private key, I’ve made a wallet, permission to custodian, and I can internal transfer between my parties. All good, the thing is that my last scenario is to receive funds from an external node.

I would like to stick with the preapproval contract that should be added to each newly added external party. I can make a preapproval contract using the endpoint from the wallet for my custodian

https://{domain}/api/validator/v0/wallet/transfer-preapproval

For the rest of my implementation, I’ve been using gRPC to allocate to an external party, grant user rights, and create a wallet. How is it possible for my external parties to get the contract either using gRPC (seems not possible) or using the wallet API?

I tried with this, resulting in a 409 error code.

curl -v -X POST https://{domain}/api/validator/v0/wallet/transfer-preapproval
-H “Authorization: Bearer {Token}”
-H “Content-Type: application/json”
-d ‘{“party_id”: “8996F10C30967E8403D7EE4998967D133638E4C116EC02CF8D3C84137C32D078::1220daa4365aafd65a37214e23c7eea4068e97e87f3f804c4a34388b3d3336dde76c”}’

So questions:

  1. How do we create a TransferPreapproval for an externally-allocated party? The wallet API (POST /v0/wallet/transfer-preapproval) only creates one for the JWT-authenticated user (our custodian). We need one per external party so senders can use TransferPreapproval_Send directly to each address.
  2. Does the External Signing API support AmuletRules_CreateTransferPreapproval? If so, what’s the endpoint/flow? We have ActAs rights on each external party and can sign with their key