curl --request POST \
--url https://api.example.com/api/v1/contracts/create/manual \
--header 'Content-Type: application/json' \
--data '
{
"product": "<string>",
"quantity": "<string>",
"unit": "<string>",
"unit_price": 123,
"total_amount": 123,
"currency": "<string>",
"delivery_location": "<string>",
"delivery_deadline": "<string>",
"quality_requirements": "<string>",
"parties": [
{}
],
"contract_type": "<string>"
}
'{
"contract_id": "<string>",
"status": "<string>",
"created_at": "<string>",
"expires_at": "<string>",
"total_amount": 123,
"currency": "<string>",
"parties": [
{}
],
"contract_hash": "<string>"
}Create a contract manually without voice processing
curl --request POST \
--url https://api.example.com/api/v1/contracts/create/manual \
--header 'Content-Type: application/json' \
--data '
{
"product": "<string>",
"quantity": "<string>",
"unit": "<string>",
"unit_price": 123,
"total_amount": 123,
"currency": "<string>",
"delivery_location": "<string>",
"delivery_deadline": "<string>",
"quality_requirements": "<string>",
"parties": [
{}
],
"contract_type": "<string>"
}
'{
"contract_id": "<string>",
"status": "<string>",
"created_at": "<string>",
"expires_at": "<string>",
"total_amount": 123,
"currency": "<string>",
"parties": [
{}
],
"contract_hash": "<string>"
}curl -X POST http://localhost:8000/api/v1/contracts/create/manual \
-H "Content-Type: application/json" \
-d '{
"product": "Maize",
"quantity": "100",
"unit": "bags",
"unit_price": 500,
"total_amount": 50000,
"currency": "KES",
"delivery_location": "Nairobi Central Market",
"delivery_deadline": "2024-02-15",
"quality_requirements": "Grade A, moisture content <13%",
"parties": [
{
"phone": "+254712345678",
"role": "seller",
"name": "John Farmer"
},
{
"phone": "+254798765432",
"role": "buyer",
"name": "ABC Traders Ltd"
}
],
"contract_type": "agricultural_supply"
}'
{
"contract_id": "AG-2024-001",
"status": "pending",
"created_at": "2024-01-15T10:30:00.000Z",
"expires_at": null,
"total_amount": 50000.0,
"currency": "KES",
"parties": [
{
"phone_number": "+254712345678",
"role": "seller",
"name": "John Farmer"
},
{
"phone_number": "+254798765432",
"role": "buyer",
"name": "ABC Traders Ltd"
}
],
"contract_hash": "blake2b:a1b2c3d4e5f6..."
}
201 - Contract created successfully400 - Invalid request (missing required fields)422 - Validation error (e.g., invalid phone numbers)500 - Server error during contract creationManual contract creation: Maize - 100 bags for KES 50,000
POST /api/v1/contracts/create) by converting manual input into the internal contract format.
Source: contracts.py:134-183