Get Investor Questionnaire
curl --request GET \
--url https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/', 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://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"version": 1,
"questions": [
{
"questionId": "familiarity_experience",
"questionText": "Como você descreveria sua experiência e seu conhecimento com ativos virtuais?",
"answers": [
{
"answerId": "never_invested",
"answerText": "Nunca investi"
},
{
"answerId": "invested_occasionally",
"answerText": "Já investi algumas vezes"
},
{
"answerId": "invests_regularly",
"answerText": "Invisto regularmente"
}
]
},
{
"questionId": "investment_goal",
"questionText": "Quando você investe, qual é o seu principal objetivo?",
"answers": [
{
"answerId": "preserve_value",
"answerText": "Proteger o valor do meu dinheiro"
},
{
"answerId": "grow_medium_term",
"answerText": "Fazer meu dinheiro crescer no médio prazo"
},
{
"answerId": "maximize_returns",
"answerText": "Maximizar os ganhos, mesmo correndo algum risco"
}
]
},
{
"questionId": "investment_horizon",
"questionText": "Por quanto tempo você pretende manter seus ativos virtuais?",
"answers": [
{
"answerId": "less_than_1_year",
"answerText": "Menos de um ano"
},
{
"answerId": "from_1_to_3_years",
"answerText": "De 1 a 3 anos"
},
{
"answerId": "more_than_3_years",
"answerText": "Mais de 3 anos"
}
]
},
{
"questionId": "drawdown_reaction",
"questionText": "Se o seu investimento caísse 30% em um mês, o que você faria?",
"answers": [
{
"answerId": "sell_everything",
"answerText": "Venderia tudo para não perder mais"
},
{
"answerId": "wait_recovery",
"answerText": "Esperaria a recuperação"
},
{
"answerId": "buy_more",
"answerText": "Aproveitaria para comprar mais barato"
}
]
},
{
"questionId": "savings_allocation",
"questionText": "Que parte das suas economias você pretende destinar a investimentos?",
"answers": [
{
"answerId": "small_portion",
"answerText": "Uma parte pequena (menos de 20%)"
},
{
"answerId": "significant_portion",
"answerText": "Uma parte significativa (de 20% a 50%)"
},
{
"answerId": "most_savings",
"answerText": "A maior parte (mais de 50%)"
}
]
}
]
}{
"code": 40001,
"type": "NotAuthenticated",
"detail": {
"message": "Authentication credentials were not provided.",
"code": "not_authenticated"
},
"status": 401
}{
"code": 40004,
"type": "NotFound",
"detail": {
"message": "Not found.",
"code": "not_found"
},
"status": 404
}Investor Profile (Brazil)
Get Investor Questionnaire
Brazilian accounts only. Returns the active investor-profile (suitability) questionnaire for your account’s country, required by Resolução BCB nº 520/2025.
Texts are always in Portuguese; there is no language parameter. Every question and answer carries a stable id (questionId, answerId) you can use as a translation key. Scores are not exposed.
It answers for any Brazilian account, even before the investor profile is enabled for it, so you can build the questionnaire screens ahead of time.
Keep the version: you send it back as questionnaireVersion when submitting the answers. See Investor Profile (Brazil).
GET
/
api
/
v1
/
investorProfile
/
questionnaire
/
Get Investor Questionnaire
curl --request GET \
--url https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/', 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://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://skala-sandbox.ripio.com/api/v1/investorProfile/questionnaire/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"version": 1,
"questions": [
{
"questionId": "familiarity_experience",
"questionText": "Como você descreveria sua experiência e seu conhecimento com ativos virtuais?",
"answers": [
{
"answerId": "never_invested",
"answerText": "Nunca investi"
},
{
"answerId": "invested_occasionally",
"answerText": "Já investi algumas vezes"
},
{
"answerId": "invests_regularly",
"answerText": "Invisto regularmente"
}
]
},
{
"questionId": "investment_goal",
"questionText": "Quando você investe, qual é o seu principal objetivo?",
"answers": [
{
"answerId": "preserve_value",
"answerText": "Proteger o valor do meu dinheiro"
},
{
"answerId": "grow_medium_term",
"answerText": "Fazer meu dinheiro crescer no médio prazo"
},
{
"answerId": "maximize_returns",
"answerText": "Maximizar os ganhos, mesmo correndo algum risco"
}
]
},
{
"questionId": "investment_horizon",
"questionText": "Por quanto tempo você pretende manter seus ativos virtuais?",
"answers": [
{
"answerId": "less_than_1_year",
"answerText": "Menos de um ano"
},
{
"answerId": "from_1_to_3_years",
"answerText": "De 1 a 3 anos"
},
{
"answerId": "more_than_3_years",
"answerText": "Mais de 3 anos"
}
]
},
{
"questionId": "drawdown_reaction",
"questionText": "Se o seu investimento caísse 30% em um mês, o que você faria?",
"answers": [
{
"answerId": "sell_everything",
"answerText": "Venderia tudo para não perder mais"
},
{
"answerId": "wait_recovery",
"answerText": "Esperaria a recuperação"
},
{
"answerId": "buy_more",
"answerText": "Aproveitaria para comprar mais barato"
}
]
},
{
"questionId": "savings_allocation",
"questionText": "Que parte das suas economias você pretende destinar a investimentos?",
"answers": [
{
"answerId": "small_portion",
"answerText": "Uma parte pequena (menos de 20%)"
},
{
"answerId": "significant_portion",
"answerText": "Uma parte significativa (de 20% a 50%)"
},
{
"answerId": "most_savings",
"answerText": "A maior parte (mais de 50%)"
}
]
}
]
}{
"code": 40001,
"type": "NotAuthenticated",
"detail": {
"message": "Authentication credentials were not provided.",
"code": "not_authenticated"
},
"status": 401
}{
"code": 40004,
"type": "NotFound",
"detail": {
"message": "Not found.",
"code": "not_found"
},
"status": 404
}Authorizations
Access token obtained via /oauth2/token/. Use as Authorization: Bearer <access_token>.
Was this page helpful?