Dry run a function
curl --request POST \
--url https://api.nango.dev/functions/dryruns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integration_id": "<string>",
"code": "<string>",
"connection_id": "<string>",
"input": "<unknown>",
"metadata": {},
"checkpoint": {},
"last_sync_date": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.nango.dev/functions/dryruns"
payload = {
"integration_id": "<string>",
"code": "<string>",
"connection_id": "<string>",
"input": "<unknown>",
"metadata": {},
"checkpoint": {},
"last_sync_date": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
integration_id: '<string>',
code: '<string>',
connection_id: '<string>',
input: '<unknown>',
metadata: {},
checkpoint: {},
last_sync_date: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.nango.dev/functions/dryruns', 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://api.nango.dev/functions/dryruns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'integration_id' => '<string>',
'code' => '<string>',
'connection_id' => '<string>',
'input' => '<unknown>',
'metadata' => [
],
'checkpoint' => [
],
'last_sync_date' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.nango.dev/functions/dryruns"
payload := strings.NewReader("{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nango.dev/functions/dryruns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nango.dev/functions/dryruns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}Functions
Dry run a function
Starts an asynchronous dry run for TypeScript function source code against a connection without deploying it.
POST
/
functions
/
dryruns
Dry run a function
curl --request POST \
--url https://api.nango.dev/functions/dryruns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integration_id": "<string>",
"code": "<string>",
"connection_id": "<string>",
"input": "<unknown>",
"metadata": {},
"checkpoint": {},
"last_sync_date": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.nango.dev/functions/dryruns"
payload = {
"integration_id": "<string>",
"code": "<string>",
"connection_id": "<string>",
"input": "<unknown>",
"metadata": {},
"checkpoint": {},
"last_sync_date": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
integration_id: '<string>',
code: '<string>',
connection_id: '<string>',
input: '<unknown>',
metadata: {},
checkpoint: {},
last_sync_date: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.nango.dev/functions/dryruns', 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://api.nango.dev/functions/dryruns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'integration_id' => '<string>',
'code' => '<string>',
'connection_id' => '<string>',
'input' => '<unknown>',
'metadata' => [
],
'checkpoint' => [
],
'last_sync_date' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.nango.dev/functions/dryruns"
payload := strings.NewReader("{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nango.dev/functions/dryruns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nango.dev/functions/dryruns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integration_id\": \"<string>\",\n \"code\": \"<string>\",\n \"connection_id\": \"<string>\",\n \"input\": \"<unknown>\",\n \"metadata\": {},\n \"checkpoint\": {},\n \"last_sync_date\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"errors": [
{}
]
}
}Requires an API key with the
environment:functions:dryrun scope. Learn more about API key scopes.Authorizations
The secret key from your Nango environment.
Body
application/json
The integration ID (unique_key) that you created in Nango.
Available options:
action, sync The TypeScript source code for the function.
Minimum string length:
1The connection ID to use for the dry run.
Optional JSON input payload passed to the function.
Optional metadata available to the function during the dry run.
Optional checkpoint payload available to sync functions during the dry run.
Optional last sync date available to sync functions during the dry run.
Was this page helpful?
⌘I