<?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_authchallenge</id>
	<title>TuCloudAPI authchallenge - 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_authchallenge"/>
	<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_authchallenge&amp;action=history"/>
	<updated>2026-11-07T04:43:32Z</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_authchallenge&amp;diff=1241&amp;oldid=prev</id>
		<title>Maintenance script: TuCloudAPI reference (generated from func=help; ringinuse 2026-10-31)</title>
		<link rel="alternate" type="text/html" href="https://wiki.7kas.com/index.php?title=TuCloudAPI_authchallenge&amp;diff=1241&amp;oldid=prev"/>
		<updated>2026-10-31T11:47:54Z</updated>

		<summary type="html">&lt;p&gt;TuCloudAPI reference (generated from func=help; ringinuse 2026-10-31)&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;
== Description ==&lt;br /&gt;
A proof-of-work captcha challenge (ALTCHA protocol, SHA-256). PUBLIC. The browser finds the number in [0, maxnumber] such that sha256_hex(salt + number) = challenge, then sends base64(JSON {algorithm, challenge, number, salt, signature}) as `captcha` to authlogin or authrequest. A challenge lives 5 minutes (the expiry is inside the salt, signed) and is accepted once. Per IP 60 per window.&lt;br /&gt;
&lt;br /&gt;
== Call ==&lt;br /&gt;
 https://tucloudapi.7kas.com:9087/tucloud?func=authchallenge&amp;amp;ukey=YOUR_KEY&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.&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
None beyond &amp;lt;code&amp;gt;ukey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;func=authchallenge&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://tucloudapi.7kas.com:9087/tucloud?func=authchallenge&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response ==&lt;br /&gt;
{ok, algorithm:&amp;quot;SHA-256&amp;quot;, challenge (64 hex), maxnumber, salt (&amp;quot;&amp;lt;32 hex&amp;gt;?expires=&amp;lt;unix&amp;gt;&amp;quot;), signature (64 hex)}.&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>