<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.7kas.com/index.php?action=history&amp;feed=atom&amp;title=TuCloudAPI_setextpassword</id>
	<title>TuCloudAPI setextpassword - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.7kas.com/index.php?action=history&amp;feed=atom&amp;title=TuCloudAPI_setextpassword"/>
	<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_setextpassword&amp;action=history"/>
	<updated>2026-11-07T01:23:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.7kas.com/index.php?title=TuCloudAPI_setextpassword&amp;diff=1198&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference regenerated from func=help: tenancy rule, pbx notes on every PBX-scoped function, error codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_setextpassword&amp;diff=1198&amp;oldid=prev"/>
		<updated>2026-10-08T21:17:01Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference regenerated from func=help: tenancy rule, pbx notes on every PBX-scoped function, error codes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: &amp;#039;&amp;#039;&amp;#039;SuperRoot, Operator, Client&amp;#039;&amp;#039;&amp;#039;.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{Note|1=Requires the &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; parameter (the PBX &amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039;, e.g. &amp;lt;code&amp;gt;tucall&amp;lt;/code&amp;gt;). The server verifies that your &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt;&amp;#039;s own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns &amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:false,&amp;quot;code&amp;quot;:&amp;quot;forbidden&amp;quot;}&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Rotate ONE extension&amp;#039;s SIP password. Writes a single column (tucloud_pbx_ext.password); the database trigger propagates it to the SIP peer, so there is no second write and no window in which the two disagree. Blank/absent password = server-generated (10 chars), same as at create. Requires a non-readonly ukey. Send-to (TOEXT) extensions have no registrable account -&amp;gt; {ok:false,not_registrable}. NOT LIVE ON THE DEVICE THE INSTANT THIS RETURNS: the call engine holds the previous credential in its caches until they turn over, and this endpoint does not (and must not) invalidate them. Do NOT tell the user their phone is updated — tell them the password has been changed and the device must re-register with it.&lt;br /&gt;
&lt;br /&gt;
== Call ==&lt;br /&gt;
 https://tucloudapi.7kas.com:9087/tucloud?func=setextpassword&amp;amp;ukey=YOUR_KEY&amp;amp;pbx=PBX_NAME&lt;br /&gt;
GET, or POST with the parameters form-urlencoded in the body. Requires the &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt; parameter. Always HTTP 200; the response is a JSON envelope.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Parameter !! Type !! Required !! Default !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pbx&amp;lt;/code&amp;gt; || string || Yes || — || FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; || integer || Yes || — || Extension id (_id).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; || string || No || — || New SIP password (max 32). Blank = generate one server-side.&lt;br /&gt;
|}&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://tucloudapi.7kas.com:9087/tucloud?func=setextpassword&amp;amp;ukey=KEY&amp;amp;pbx=tucall&amp;amp;id=87365&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response ==&lt;br /&gt;
{ok, password:&amp;quot;...&amp;quot;} or {ok:false,not_found} / {ok:false,not_registrable}.&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
Always HTTP 200. On failure the body is &amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:false,&amp;quot;code&amp;quot;:&amp;quot;...&amp;quot;,&amp;quot;message&amp;quot;:&amp;quot;...&amp;quot;}&amp;lt;/code&amp;gt;. Common codes: &amp;lt;code&amp;gt;missing_pbx&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;forbidden&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;invalid_param&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;not_found&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;conflict&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;in_use&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;db_error&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;server_busy&amp;lt;/code&amp;gt;; the Response section above lists any specific to this function.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[TuCloudAPI]]&lt;br /&gt;
[[Category:TuCloudAPI SuperRoot]][[Category:TuCloudAPI Operator]][[Category:TuCloudAPI Client]][[Category:TuCloudAPI]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>