Update a function
Update function code, metadata, and caching settings
Authentication: required
PUT
/
workspace
/
{workspace_id}
/
function
/
{function_id}
Update a function
curl --request PUT \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: text/x-xanoscript' \
--data 'function foo {
input {
int score
}
stack {
var $x1 {
value = $input.score + 1
}
}
response = $x1
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}"
payload = "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "text/x-xanoscript"
}
response = requests.put(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'text/x-xanoscript'},
body: 'function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n'
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: text/x-xanoscript"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}"
payload := strings.NewReader("function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "text/x-xanoscript")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "text/x-xanoscript")
.body("function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'text/x-xanoscript'
request.body = "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n"
response = http.request(request)
puts response.read_body{
"id": 1,
"created_at": "2023-04-19 21:01:32+0000",
"updated_at": "2023-04-19 21:01:32+0000",
"name": "Function Test",
"description": "My functions description",
"docs": "Documentation",
"guid": "YE1fwVhQ-enRlc6Sb42Gqru58-0",
"branch": "v1",
"cache": {
"active": true,
"ttl": 3600,
"input": true,
"auth": true,
"datasource": true,
"ip": true,
"headers": [
""
],
"env": [
""
]
},
"tag": [
"example tag"
],
"xanoscript": {
"value": "<string>",
"message": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
text/x-xanoscriptmultipart/form-dataapplication/json
The body is of type string.
Example:
"function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n"
Response
Success!
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Related topics
Update function security settingsUpdate function code, metadata, and caching settingsUpdate function security configuration and access controlsWas this page helpful?
⌘I
Update a function
curl --request PUT \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: text/x-xanoscript' \
--data 'function foo {
input {
int score
}
stack {
var $x1 {
value = $input.score + 1
}
}
response = $x1
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}"
payload = "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "text/x-xanoscript"
}
response = requests.put(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'text/x-xanoscript'},
body: 'function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n'
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: text/x-xanoscript"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}"
payload := strings.NewReader("function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "text/x-xanoscript")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "text/x-xanoscript")
.body("function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/function/{function_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'text/x-xanoscript'
request.body = "function foo {\n input {\n int score\n }\n stack {\n var $x1 {\n value = $input.score + 1\n }\n }\n response = $x1\n}\n"
response = http.request(request)
puts response.read_body{
"id": 1,
"created_at": "2023-04-19 21:01:32+0000",
"updated_at": "2023-04-19 21:01:32+0000",
"name": "Function Test",
"description": "My functions description",
"docs": "Documentation",
"guid": "YE1fwVhQ-enRlc6Sb42Gqru58-0",
"branch": "v1",
"cache": {
"active": true,
"ttl": 3600,
"input": true,
"auth": true,
"datasource": true,
"ip": true,
"headers": [
""
],
"env": [
""
]
},
"tag": [
"example tag"
],
"xanoscript": {
"value": "<string>",
"message": "<string>"
}
}