createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,"data":"hex",...} ( locktime ) ( replaceable )

Create a transaction spending the given inputs and creating new outputs.
Outputs can be addresses or data.
Returns hex-encoded raw transaction.
Note that the transaction's inputs are not signed, and
it is not stored in the wallet or transmitted to the network.

1. "inputs" (array, required) A json array of json objects
"txid":"id", (string, required) The transaction id
"vout":n, (numeric, required) The output number
"sequence":n (numeric, optional) The sequence number
2. "outputs" (object, required) a json object with outputs
"address":, (numeric or string, required) The key is the bitcoin address, the numeric value (can be string) is the " + CURRENCY_UNIT + " amount
"data": "hex" (string, required) The key is "data", the value is hex encoded data
3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs
4. replaceable (boolean, optional, default=false) Marks this transaction as BIP125 replaceable.
Allows this transaction to be replaced by a transaction with higher fees. If provided, it is an error if explicit sequence numbers are incompatible.

"transaction" (string) hex string of the transaction

> bitcoin-cli createrawtransaction "[{\\"txid\\":\\"myid\\",\\"vout\\":0}]" "{\\"address\\":0.01}"
> bitcoin-cli createrawtransaction "[{\\"txid\\":\\"myid\\",\\"vout\\":0}]" "{\\"data\\":\\"00010203\\"}"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "createrawtransaction", "params": ["[{\\"txid\\":\\"myid\\",\\"vout\\":0}]", "{\\"address\\":0.01}"] }' -H 'content-type: text/plain;'
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "createrawtransaction", "params": ["[{\\"txid\\":\\"myid\\",\\"vout\\":0}]", "{\\"data\\":\\"00010203\\"}"] }' -H 'content-type: text/plain;'
Don't trust. Verify. Docs extracted from src/rpc/rawtransaction.cpp#L316-L354.