Initialize a Link session
curl --request POST \
--url https://api.ofauth.com/v2/link/init \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--data '
{
"clientAppId": "<string>",
"options": {
"returnRawSession": true
},
"redirectUrl": "<string>",
"origin": "<string>",
"clientReferenceId": "<string>",
"connectionId": "<string>"
}
'import requests
url = "https://api.ofauth.com/v2/link/init"
payload = {
"clientAppId": "<string>",
"options": { "returnRawSession": True },
"redirectUrl": "<string>",
"origin": "<string>",
"clientReferenceId": "<string>",
"connectionId": "<string>"
}
headers = {
"apiKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apiKey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientAppId: '<string>',
options: {returnRawSession: true},
redirectUrl: '<string>',
origin: '<string>',
clientReferenceId: '<string>',
connectionId: '<string>'
})
};
fetch('https://api.ofauth.com/v2/link/init', 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.ofauth.com/v2/link/init",
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([
'clientAppId' => '<string>',
'options' => [
'returnRawSession' => true
],
'redirectUrl' => '<string>',
'origin' => '<string>',
'clientReferenceId' => '<string>',
'connectionId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apiKey: <api-key>"
],
]);
$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.ofauth.com/v2/link/init"
payload := strings.NewReader("{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apiKey", "<api-key>")
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.ofauth.com/v2/link/init")
.header("apiKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ofauth.com/v2/link/init")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apiKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"mode": "hosted",
"url": "<string>",
"expiresAt": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Link API
Initialize a Link session
Initialize a Link session for authentication.
POST
/
v2
/
link
/
init
Initialize a Link session
curl --request POST \
--url https://api.ofauth.com/v2/link/init \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--data '
{
"clientAppId": "<string>",
"options": {
"returnRawSession": true
},
"redirectUrl": "<string>",
"origin": "<string>",
"clientReferenceId": "<string>",
"connectionId": "<string>"
}
'import requests
url = "https://api.ofauth.com/v2/link/init"
payload = {
"clientAppId": "<string>",
"options": { "returnRawSession": True },
"redirectUrl": "<string>",
"origin": "<string>",
"clientReferenceId": "<string>",
"connectionId": "<string>"
}
headers = {
"apiKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apiKey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientAppId: '<string>',
options: {returnRawSession: true},
redirectUrl: '<string>',
origin: '<string>',
clientReferenceId: '<string>',
connectionId: '<string>'
})
};
fetch('https://api.ofauth.com/v2/link/init', 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.ofauth.com/v2/link/init",
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([
'clientAppId' => '<string>',
'options' => [
'returnRawSession' => true
],
'redirectUrl' => '<string>',
'origin' => '<string>',
'clientReferenceId' => '<string>',
'connectionId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apiKey: <api-key>"
],
]);
$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.ofauth.com/v2/link/init"
payload := strings.NewReader("{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apiKey", "<api-key>")
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.ofauth.com/v2/link/init")
.header("apiKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ofauth.com/v2/link/init")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apiKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientAppId\": \"<string>\",\n \"options\": {\n \"returnRawSession\": true\n },\n \"redirectUrl\": \"<string>\",\n \"origin\": \"<string>\",\n \"clientReferenceId\": \"<string>\",\n \"connectionId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"mode": "hosted",
"url": "<string>",
"expiresAt": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Body
application/json
Client app id.
Pattern:
^app_[a-zA-Z0-9]+$Optional mode hint when clientAppId is omitted. Migrate to explicit clientAppId and configure type on the client app.
Available options:
redirect, embed, hosted, whitelabel Optional session flags. Migrate to client app configuration and omit this field.
Show child attributes
Show child attributes
URL to redirect to after completion. URL must be included in the client app settings. If omitted, Link uses the default redirect URI from the resolved client app when available.
Optional embed origin override. Migrate to explicit clientAppId with allowed origins configured on the client app.
Your internal reference ID for webhook correlation.
Existing connection ID to reconnect.
Show child attributes
Show child attributes
Was this page helpful?
⌘I