`POST /v1/orgs/{org}/proposals/{proposal_id}/snooze`.
const url = 'https://api.updawg.net/v1/orgs/example/proposals/example/snooze';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"until":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.updawg.net/v1/orgs/example/proposals/example/snooze \ --header 'Content-Type: application/json' \ --data '{ "until": "2026-04-15T12:00:00Z" }'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization slug.
The prp_… id.
Request Bodyrequired
Section titled “Request Bodyrequired”object
RFC 3339, as every other timestamp this API takes or gives.
Examplegenerated
{ "until": "2026-04-15T12:00:00Z"}Responses
Section titled “Responses”Snoozed until the time given.
The body every one of the three answers with.
Named for what it is rather than for the endpoint, because all three return it and a portal that has just clicked a button wants the same three facts whichever button it was: where the proposal is now, and how the approval count stands.
object
Distinct people who have approved. A rejected proposal keeps the count it had: it is a record of who had agreed before somebody said no.
How many more approvals this needs before it can go ahead.
Zero once there are enough, and zero once there is nothing left to go
ahead with — see [ok].
What the policy asked for, via proposals.required_approvals.
When a proposal that is scheduled may start (DAWG-92).
Present only on that status, and omitted rather than null everywhere else: it is not “unknown”, it is “does not apply”, and a portal that renders a date field will render something for a null.
Examplegenerated
{ "approvals": 1, "id": "example", "outstanding": 1, "required": 1, "scheduled_for": "2026-04-15T12:00:00Z", "status": "example"}A time in the past.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No session.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}An operator’s, deliberately: taking a proposal off the dashboard for a month is the same power as rejecting it without the audit trail saying no.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No such proposal here.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}No longer yours to decide.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.
object
Examplegenerated
{ "detail": "example", "status": 1, "title": "example", "type": "example"}