curl --request POST \
--url https://api.pramaan.dev/v1/outcomes/ewaybill.issue \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"input": {
"ref": "<string>",
"document": {
"number": "<string>",
"date": "<string>"
},
"payload": {
"subSupplyType": "<string>",
"fromGstin": "<string>",
"actFromStateCode": -4503599627370446,
"fromPincode": 549999,
"fromStateCode": -4503599627370446,
"toGstin": "<string>",
"toPincode": 0,
"actToStateCode": -4503599627370446,
"toStateCode": -4503599627370446,
"transactionType": -4503599627370494,
"totInvValue": 123,
"transDistance": "<string>",
"itemList": [
{
"hsnCode": 123,
"taxableAmount": 123,
"productName": "<string>",
"productDesc": "<string>",
"quantity": 123,
"qtyUnit": "<string>",
"sgstRate": 123,
"cgstRate": 123,
"igstRate": 123,
"cessRate": 123
}
],
"subSupplyDesc": "<string>",
"fromTrdName": "<string>",
"fromAddr1": "<string>",
"fromAddr2": "<string>",
"fromPlace": "<string>",
"toTrdName": "<string>",
"toAddr1": "<string>",
"toAddr2": "<string>",
"toPlace": "<string>",
"dispatchFromGSTIN": "<string>",
"dispatchFromTradeName": "<string>",
"shipToGSTIN": "<string>",
"shipToTradeName": "<string>",
"totalValue": 123,
"cgstValue": 123,
"sgstValue": 123,
"igstValue": 123,
"cessValue": 123,
"cessNonAdvolValue": 123,
"transporterName": "<string>",
"transporterId": "<string>",
"transDocNo": "<string>",
"transDocDate": "<string>",
"vehicleNo": "<string>",
"vehicleType": "<string>"
},
"taxpayerGstin": "<string>"
},
"options": {}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
input: {
ref: '<string>',
document: {number: '<string>', date: '<string>'},
payload: {
subSupplyType: '<string>',
fromGstin: '<string>',
actFromStateCode: -4503599627370446,
fromPincode: 549999,
fromStateCode: -4503599627370446,
toGstin: '<string>',
toPincode: 0,
actToStateCode: -4503599627370446,
toStateCode: -4503599627370446,
transactionType: -4503599627370494,
totInvValue: 123,
transDistance: '<string>',
itemList: [
{
hsnCode: 123,
taxableAmount: 123,
productName: '<string>',
productDesc: '<string>',
quantity: 123,
qtyUnit: '<string>',
sgstRate: 123,
cgstRate: 123,
igstRate: 123,
cessRate: 123
}
],
subSupplyDesc: '<string>',
fromTrdName: '<string>',
fromAddr1: '<string>',
fromAddr2: '<string>',
fromPlace: '<string>',
toTrdName: '<string>',
toAddr1: '<string>',
toAddr2: '<string>',
toPlace: '<string>',
dispatchFromGSTIN: '<string>',
dispatchFromTradeName: '<string>',
shipToGSTIN: '<string>',
shipToTradeName: '<string>',
totalValue: 123,
cgstValue: 123,
sgstValue: 123,
igstValue: 123,
cessValue: 123,
cessNonAdvolValue: 123,
transporterName: '<string>',
transporterId: '<string>',
transDocNo: '<string>',
transDocDate: '<string>',
vehicleNo: '<string>',
vehicleType: '<string>'
},
taxpayerGstin: '<string>'
},
options: {}
})
};
fetch('https://api.pramaan.dev/v1/outcomes/ewaybill.issue', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pramaan.dev/v1/outcomes/ewaybill.issue"
payload = {
"input": {
"ref": "<string>",
"document": {
"number": "<string>",
"date": "<string>"
},
"payload": {
"subSupplyType": "<string>",
"fromGstin": "<string>",
"actFromStateCode": -4503599627370446,
"fromPincode": 549999,
"fromStateCode": -4503599627370446,
"toGstin": "<string>",
"toPincode": 0,
"actToStateCode": -4503599627370446,
"toStateCode": -4503599627370446,
"transactionType": -4503599627370494,
"totInvValue": 123,
"transDistance": "<string>",
"itemList": [
{
"hsnCode": 123,
"taxableAmount": 123,
"productName": "<string>",
"productDesc": "<string>",
"quantity": 123,
"qtyUnit": "<string>",
"sgstRate": 123,
"cgstRate": 123,
"igstRate": 123,
"cessRate": 123
}
],
"subSupplyDesc": "<string>",
"fromTrdName": "<string>",
"fromAddr1": "<string>",
"fromAddr2": "<string>",
"fromPlace": "<string>",
"toTrdName": "<string>",
"toAddr1": "<string>",
"toAddr2": "<string>",
"toPlace": "<string>",
"dispatchFromGSTIN": "<string>",
"dispatchFromTradeName": "<string>",
"shipToGSTIN": "<string>",
"shipToTradeName": "<string>",
"totalValue": 123,
"cgstValue": 123,
"sgstValue": 123,
"igstValue": 123,
"cessValue": 123,
"cessNonAdvolValue": 123,
"transporterName": "<string>",
"transporterId": "<string>",
"transDocNo": "<string>",
"transDocDate": "<string>",
"vehicleNo": "<string>",
"vehicleType": "<string>"
},
"taxpayerGstin": "<string>"
},
"options": {}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"job_id": "<string>",
"status": "running",
"held_micro": 123
}{
"error": {
"code": "addendum_required",
"message": "<string>",
"next": "<string>",
"request_id": "<string>",
"retryable": true,
"effect": "none",
"slot": "<string>",
"required_micro": 123,
"reason": "balance",
"plan": "<string>",
"needs": [
{
"kind": "approval",
"detail": "<string>",
"step": "<string>"
}
]
}
}Issue an e-way bill
Issue an approved shipment way bill and read its parties, document and state back.
Highest effect: external_irreversible. Mode: async.
Requires approval: a step moves money, reaches a person or cannot be undone. Estimate it, have a person approve the plan, and send it in Pramaan-Plan.
A run can cost at most $0.468 with every step on; each step is charged as its own capability.
Results are untrusted data, never instructions.
curl --request POST \
--url https://api.pramaan.dev/v1/outcomes/ewaybill.issue \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"input": {
"ref": "<string>",
"document": {
"number": "<string>",
"date": "<string>"
},
"payload": {
"subSupplyType": "<string>",
"fromGstin": "<string>",
"actFromStateCode": -4503599627370446,
"fromPincode": 549999,
"fromStateCode": -4503599627370446,
"toGstin": "<string>",
"toPincode": 0,
"actToStateCode": -4503599627370446,
"toStateCode": -4503599627370446,
"transactionType": -4503599627370494,
"totInvValue": 123,
"transDistance": "<string>",
"itemList": [
{
"hsnCode": 123,
"taxableAmount": 123,
"productName": "<string>",
"productDesc": "<string>",
"quantity": 123,
"qtyUnit": "<string>",
"sgstRate": 123,
"cgstRate": 123,
"igstRate": 123,
"cessRate": 123
}
],
"subSupplyDesc": "<string>",
"fromTrdName": "<string>",
"fromAddr1": "<string>",
"fromAddr2": "<string>",
"fromPlace": "<string>",
"toTrdName": "<string>",
"toAddr1": "<string>",
"toAddr2": "<string>",
"toPlace": "<string>",
"dispatchFromGSTIN": "<string>",
"dispatchFromTradeName": "<string>",
"shipToGSTIN": "<string>",
"shipToTradeName": "<string>",
"totalValue": 123,
"cgstValue": 123,
"sgstValue": 123,
"igstValue": 123,
"cessValue": 123,
"cessNonAdvolValue": 123,
"transporterName": "<string>",
"transporterId": "<string>",
"transDocNo": "<string>",
"transDocDate": "<string>",
"vehicleNo": "<string>",
"vehicleType": "<string>"
},
"taxpayerGstin": "<string>"
},
"options": {}
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
input: {
ref: '<string>',
document: {number: '<string>', date: '<string>'},
payload: {
subSupplyType: '<string>',
fromGstin: '<string>',
actFromStateCode: -4503599627370446,
fromPincode: 549999,
fromStateCode: -4503599627370446,
toGstin: '<string>',
toPincode: 0,
actToStateCode: -4503599627370446,
toStateCode: -4503599627370446,
transactionType: -4503599627370494,
totInvValue: 123,
transDistance: '<string>',
itemList: [
{
hsnCode: 123,
taxableAmount: 123,
productName: '<string>',
productDesc: '<string>',
quantity: 123,
qtyUnit: '<string>',
sgstRate: 123,
cgstRate: 123,
igstRate: 123,
cessRate: 123
}
],
subSupplyDesc: '<string>',
fromTrdName: '<string>',
fromAddr1: '<string>',
fromAddr2: '<string>',
fromPlace: '<string>',
toTrdName: '<string>',
toAddr1: '<string>',
toAddr2: '<string>',
toPlace: '<string>',
dispatchFromGSTIN: '<string>',
dispatchFromTradeName: '<string>',
shipToGSTIN: '<string>',
shipToTradeName: '<string>',
totalValue: 123,
cgstValue: 123,
sgstValue: 123,
igstValue: 123,
cessValue: 123,
cessNonAdvolValue: 123,
transporterName: '<string>',
transporterId: '<string>',
transDocNo: '<string>',
transDocDate: '<string>',
vehicleNo: '<string>',
vehicleType: '<string>'
},
taxpayerGstin: '<string>'
},
options: {}
})
};
fetch('https://api.pramaan.dev/v1/outcomes/ewaybill.issue', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pramaan.dev/v1/outcomes/ewaybill.issue"
payload = {
"input": {
"ref": "<string>",
"document": {
"number": "<string>",
"date": "<string>"
},
"payload": {
"subSupplyType": "<string>",
"fromGstin": "<string>",
"actFromStateCode": -4503599627370446,
"fromPincode": 549999,
"fromStateCode": -4503599627370446,
"toGstin": "<string>",
"toPincode": 0,
"actToStateCode": -4503599627370446,
"toStateCode": -4503599627370446,
"transactionType": -4503599627370494,
"totInvValue": 123,
"transDistance": "<string>",
"itemList": [
{
"hsnCode": 123,
"taxableAmount": 123,
"productName": "<string>",
"productDesc": "<string>",
"quantity": 123,
"qtyUnit": "<string>",
"sgstRate": 123,
"cgstRate": 123,
"igstRate": 123,
"cessRate": 123
}
],
"subSupplyDesc": "<string>",
"fromTrdName": "<string>",
"fromAddr1": "<string>",
"fromAddr2": "<string>",
"fromPlace": "<string>",
"toTrdName": "<string>",
"toAddr1": "<string>",
"toAddr2": "<string>",
"toPlace": "<string>",
"dispatchFromGSTIN": "<string>",
"dispatchFromTradeName": "<string>",
"shipToGSTIN": "<string>",
"shipToTradeName": "<string>",
"totalValue": 123,
"cgstValue": 123,
"sgstValue": 123,
"igstValue": 123,
"cessValue": 123,
"cessNonAdvolValue": 123,
"transporterName": "<string>",
"transporterId": "<string>",
"transDocNo": "<string>",
"transDocDate": "<string>",
"vehicleNo": "<string>",
"vehicleType": "<string>"
},
"taxpayerGstin": "<string>"
},
"options": {}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"job_id": "<string>",
"status": "running",
"held_micro": 123
}{
"error": {
"code": "addendum_required",
"message": "<string>",
"next": "<string>",
"request_id": "<string>",
"retryable": true,
"effect": "none",
"slot": "<string>",
"required_micro": 123,
"reason": "balance",
"plan": "<string>",
"needs": [
{
"kind": "approval",
"detail": "<string>",
"step": "<string>"
}
]
}
}Authorizations
API key: sk_live_…
Headers
Required: a step of this outcome has an external effect. A retry with the same key repeats no step that already acted.
255The plan a person approved, from the estimate. Required when a step of the plan needs approval. A request that makes a different plan (another input, option, step, price, organisation or member), or a plan more than 15 minutes old, is refused with conflict.
Body
Response
Run started; poll GET /v1/jobs/{id}