Hey Eric,
Setting the param value to the string null should unset the budget (or any other param on a PUT endpoint). Can you share a call that is not resulting in the correct behavior? I was just able to test and get the expected results:
twurl -H ads-api.twitter.com "/0/accounts/18ce53uo8cb/campaigns/1x17x"
{
"data_type": "campaign",
"data": {
"name": "Test campaign",
"start_time": "2015-11-19T08:00:00Z",
"reasons_not_servable": [
"STARTS_IN_FUTURE"
],
"servable": false,
"daily_budget_amount_local_micro": 15000000000,
"end_time": null,
"funding_instrument_id": "i7o2d",
"standard_delivery": true,
"total_budget_amount_local_micro": 150000000000,
"id": "1x17x",
"paused": false,
"account_id": "18ce53uo8cb",
"currency": "USD",
"created_at": "2014-12-18T17:36:51Z",
"updated_at": "2015-09-21T21:57:24Z",
"deleted": false
},
"request": {
"params": {
"campaign_id": "1x17x",
"account_id": "18ce53uo8cb"
}
}
}
twurl -H ads-api.twitter.com "/0/accounts/18ce53uo8cb/campaigns/1x17x" -X PUT -d "total_budget_amount_local_micro=null"
{
"data_type": "campaign",
"data": {
"name": "Test campaign",
"start_time": "2015-11-19T08:00:00Z",
"reasons_not_servable": [
"STARTS_IN_FUTURE"
],
"servable": false,
"daily_budget_amount_local_micro": 15000000000,
"end_time": null,
"funding_instrument_id": "i7o2d",
"standard_delivery": true,
"total_budget_amount_local_micro": null,
"id": "1x17x",
"paused": false,
"account_id": "18ce53uo8cb",
"currency": "USD",
"created_at": "2014-12-18T17:36:51Z",
"updated_at": "2015-09-21T21:57:41Z",
"deleted": false
},
"request": {
"params": {
"campaign_id": "1x17x",
"total_budget_amount_local_micro": "",
"account_id": "18ce53uo8cb"
}
}
}
Jacob