Skip to content

Respond to one of the caller's own event invitations (user)

Records the caller's own answer to an invitation on their own mailbox. response accepts only accepted, declined, or tentativelyAccepted

  • the other values of the same enum (none, organizer, notResponded) describe states a caller cannot set directly and are rejected by validation.

On success the response body carries a message only; there is no data key.

Rate limited to 15 requests/minute (throttle:calendar-write).

HTTP: bearerAuth

User bearer token. Default authentication for customer-facing endpoints. Obtain a token by calling POST /login with your credentials, then send it on every subsequent request as Authorization: Bearer <token>. The token inherits the permissions and PBX scope of the authenticated user.

HTTP Authorization Scheme
bearer
Bearer format
Bearer <token>
event path · string *
accept header · string
example: application/json

Request body · required · application/json

Request schema
response*string
enum: accepted declined tentativelyAccepted
commentstring | null
length: 0–2000

Responses

OK. No `data` key.
Response schema
messagestring
Unauthenticated. The `Authorization: Bearer <token>` header was missing, malformed, or names a token that has been revoked or deleted.
Response schema
messagestring
The calendar assistant is not enabled for this account. Returned when there is no `user_provider_mappings` row for the caller carrying the assistant capability, or the capability is present but switched off. There is deliberately no fallback to "assume Microsoft" here, unlike other capabilities on the same table.
Response schema
messagestring
`response` missing or not one of `accepted`, `declined`, `tentativelyAccepted`.
Response schema
messagestring
errorsobject
Free-form object
Too Many Requests. The rate limit for this action has been exceeded. Retry after the window indicated by the Retry-After header.
Response schema
messagestring
post https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}/respond
Base URL
Request sample
curl -X POST 'https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}/respond' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  --data '{"response":"accepted"}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}/respond', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${YOUR_TOKEN}`,
  },
  body: JSON.stringify({
    "response": "accepted"
}),
});

const data = await response.json();
console.log(data);
import requests

response = requests.post('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}/respond',
    headers={'Authorization': f'Bearer {YOUR_TOKEN}'},
    json={
    "response": "accepted"
}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
        'content' => '{
    \"response\": \"accepted\"
}',
    ],
]);

$response = file_get_contents('https://cockpit.voxbi.com/api/v1/me/calendar/events/{event}/respond', false, $context);
$data = json_decode($response, true);
print_r($data);
Sample request
{ … }
"response": "accepted"
}
{ … }
"message": "Your response was sent."
}
{ … }
"message": "Unauthenticated."
}
Content-Type string
example: application/json
{ … }
"message": "The calendar assistant is not enabled for this account."
}
{ … }
"message": "The given data was invalid.",
"errors": { … }
"response": [ … ]
"The selected response is invalid."
]
}
}
{ … }
"message": "Too Many Attempts."
}
Retry-After integer
Seconds to wait before retrying.
example: 60
Content-Type string
example: application/json