Skip to main content
Set NEURON_REFERER to your application’s HTTPS URL. Include this header on every request, including backend calls. See required request headers. POST /Agent/Legal/SendProposal does not exist in the Neuron server. AgentAPI.Legal.SendProposal(...) is a JavaScript convenience function that builds XML and calls the real HTTP operation, POST /Agent/Xmpp/SendXmlMessage.

Request

The current contract namespace is urn:nf:iot:leg:sc:1.0. XML-escape every attribute value.
to is Bob’s bare or full XMPP JID. contractId is the ID returned by CreateContract, and role must exactly match the role Bob is expected to sign. A successful response reports only that the stanza was sent:
sent: true is not acceptance and does not prove that Bob reviewed the contract. Bob can receive queued messages with POST /Agent/Xmpp/PopMessages or use a supported XMPP/event client. The proposal is accepted when Bob retrieves the exact contract, explicitly approves it in the application, and successfully signs the proposed role.

JavaScript helper

When the Neuron’s /Agent.js is loaded, the equivalent call is:
The helper uses the same current namespace and delegates to AgentAPI.Xmpp.SendXmlMessage.
The plain helper does not include a shared secret for encrypted contract parameters. Use a contract client with end-to-end proposal support for contracts containing confidential parameters.

Continue

Follow the two-party contract lifecycle, including receipt confirmation, both signatures, and final-state verification.