KAZOO 5.1 to 5.3 API Breaking Changes

Change in response data of some APIs

Historically, Kazoo would set some useful but internal and/or unchangeable data under data._read_only when fetching a single entity. Starting from the Kazoo 5.3 release, some APIs response data have been changed in which the internal and/or non-changeable fields are moved to a top level field called metadata.

The change also may include any fields that previously where under _read_only in data field of response.

This change does not applied to any API that returns a list of entities, unless otherwise is noted.

🔥 Please be informed that this only affects the APIs that returned a single entity (an account object for example), and not endpoints that operates on a list of entities, for example fetching a list of users, conferences unless otherwise noted.

All API response now should include an extra field in response payload like:

{
  "data": {
    // ... some field from here are moved to metadata
    "_read_only": {
      // these fields are now moved to metadata, _read_only does not be exists anymore
    }
	},
  "metadata": {
    // new in 5.3, includes internal fields previously included in data
  }
  // ... as before
}

metadata also now includes generic fields (if there are any) such as:

  • id: ID of the document
  • created: the UTC Gregorian seconds the document is created
  • modified: the UTC Gregorian seconds the document is last updated
  • deleted: Indicates the document is deleted, presents on DELETE operations (soft delete or hard delete)

Impacted fields

Here you can find a list of all fields.

/accounts

Single account object returned by this API is changed.

From under dataFrom under data._read_onlyTo metadata
wnm_allow_additionswnm_allow_additions
superduper_adminsuperduper_admin
api_keyapi_key
createdcreated
enabledenabled
reseller_idreseller_id
is_reselleris_reseller
billing_modebilling_mode

/conferences

All real time data of conference are moved to metadata when fetching a single conference object.

From under dataFrom under data._read_onlyTo metadata
-membersmembers
moderatorsmoderators
durationduration
is_lockedis_locked
participantsparticipants
conferencesconferences
conference_idconference_id
answeredanswered
custom_conference_varscustom_conference_vars
dynamicdynamic
lockedlocked
participants_countparticipants_count
run_timerun_time
runningrunning
start_timestart_time
switch_external_ipswitch_external_ip
switch_hostnameswitch_hostname
switch_urlswitch_url
uuiduuid
zonezone
call_interaction_idcall_interaction_id
(ANY Other conference real time)(ANY Other conference real time)

/desktop

From under dataFrom under data._read_onlyTo metadata
-switch_hostnameswitch_hostname

/faxes

From under dataFrom under data._read_onlyTo metadata
-createdcreated
statusstatus

/faxboxes

Single entity Fax box object has been changed.

From under dataFrom under data._read_onlyTo metadata
-custom_smtp_addresscustom_smtp_address

/limits

From under dataFrom under data._read_onlyTo metadata
allow_postpay-allow_postpay
max_postpay_amount-max_postpay_amount

/ips

From under dataFrom under data._read_onlyTo metadata
idid
createdcreated
modifiedmodified
vsnpvt_vsn
statuspvt_status
typepvt_type
zonepvt_zone
hostpvt_host
rev_rev

/multi_factor

From under dataFrom under data._read_onlyTo metadata
idid
createdcreated
modifiedmodified

/notifications

From under dataFrom under data._read_onlyTo metadata
idid

/phone_numbers

From under dataFrom under data._read_onlyTo metadata
id (unchanged, still accessible under data)id
carrier_modulecarrier_module
createdcreated
features (unchanged, still accessible under data)featuresfeatures
is_deletedis_deleted
modifiedmodified
port_idport_id
port_stateport_state

/port_requests

From under dataFrom under data._read_onlyTo metadata
account_idaccount_id
account_nameaccount_name
port_authorityport_authority
port_authority_nameport_authority_name
ported_numbersported_numbers
id (unchanged)-
created (unchanged)-
modified (unchanged)-
updated (unchanged)

/screenpops

From under dataFrom under data._read_onlyTo metadata
idid
createcreate
modifiedmodified

/tasks

From under dataFrom under data._read_onlyTo metadata
idid
nodenode
account_idaccount_id
auth_account_idauth_account_id
categorycategory
actionaction
file_namefile_name
createdcreated
start_timestampstart_timestamp
end_timestampend_timestamp
total_counttotal_count
failure_countfailure_count
success_countsuccess_count
statusstatus
csvscsvs
submit_timestampsubmit_timestamp

/webhooks

From under dataFrom under data._read_onlyTo metadata
disable_reasondisable_reason