Retrieve question set for a flow by id
curl --request GET \
--url https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}', 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.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}",
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://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}"
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://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}")
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{
"id": "QS1",
"questions": [
{
"id": "isTerminatingMilitarySpouseExemption",
"questionText": "Do you currently have a military spouse exemption that you no longer qualify for OR no longer wish to claim?",
"validationErrorMessage": "Please select an option",
"htmlType": "INPUT",
"displayType": "RADIO",
"required": {
"whenRequired": "ALWAYS"
},
"questionOptions": [
{
"label": "Yes",
"value": true,
"formsToComplete": [
{
"id": "AZ101",
"name": "A-4",
"title": "Employee's Arizona Withholding Election",
"formVersion": "2020.12.0",
"formLocality": "AZ",
"initialQuestionSet": "QS1"
},
{
"id": "AZ102",
"name": "WEC",
"title": "Employee Withholding Exemption Certificate",
"formVersion": "2020.12.0",
"formLocality": "AZ",
"initialQuestionSet": "QS1"
}
]
},
{
"label": "No",
"value": false
}
],
"isCalculated": false
}
],
"breadcrumbTitle": "Military Spouse Exemption",
"navigation": {
"navigationType": "VARIABLE",
"questionId": "isTerminatingMilitarySpouseExemption",
"navigationMappings": {
"false": {
"nextQuestionSetId": "QS2",
"hasMoreQuestions": true
},
"true": {
"hasMoreQuestions": false
}
}
}
}This response has no body data.{
"path": "<string>",
"status": "<string>",
"statusCode": 123,
"timestamp": "2023-11-07T05:31:56Z",
"errors": [
{
"field": "<string>",
"message": "<string>",
"rejectedValue": "<string>"
}
],
"errorCount": 123
}{
"path": "uri=/spf/flowQuestionSet/FL_RESIDENT/QS3",
"status": "Not Found",
"statusCode": 404,
"timestamp": "2020-09-15 15:50:55",
"errors": [
{
"message": "Flow does not exist",
"rejectedValue": "FL_RESIDENT"
}
],
"errorCount": 1
}{
"path": "<string>",
"status": "<string>",
"statusCode": 123,
"timestamp": "2023-11-07T05:31:56Z",
"errors": [
{
"field": "<string>",
"message": "<string>",
"rejectedValue": "<string>"
}
],
"errorCount": 123
}Return a question set for a given flow, used to filter potentially applicable forms down to a list of required forms.
GET
/
flowQuestionSet
/
{flowId}
/
{questionSetId}
Retrieve question set for a flow by id
curl --request GET \
--url https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}', 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.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}",
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://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}"
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://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.symmetry.com/spf/flowQuestionSet/{flowId}/{questionSetId}")
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{
"id": "QS1",
"questions": [
{
"id": "isTerminatingMilitarySpouseExemption",
"questionText": "Do you currently have a military spouse exemption that you no longer qualify for OR no longer wish to claim?",
"validationErrorMessage": "Please select an option",
"htmlType": "INPUT",
"displayType": "RADIO",
"required": {
"whenRequired": "ALWAYS"
},
"questionOptions": [
{
"label": "Yes",
"value": true,
"formsToComplete": [
{
"id": "AZ101",
"name": "A-4",
"title": "Employee's Arizona Withholding Election",
"formVersion": "2020.12.0",
"formLocality": "AZ",
"initialQuestionSet": "QS1"
},
{
"id": "AZ102",
"name": "WEC",
"title": "Employee Withholding Exemption Certificate",
"formVersion": "2020.12.0",
"formLocality": "AZ",
"initialQuestionSet": "QS1"
}
]
},
{
"label": "No",
"value": false
}
],
"isCalculated": false
}
],
"breadcrumbTitle": "Military Spouse Exemption",
"navigation": {
"navigationType": "VARIABLE",
"questionId": "isTerminatingMilitarySpouseExemption",
"navigationMappings": {
"false": {
"nextQuestionSetId": "QS2",
"hasMoreQuestions": true
},
"true": {
"hasMoreQuestions": false
}
}
}
}This response has no body data.{
"path": "<string>",
"status": "<string>",
"statusCode": 123,
"timestamp": "2023-11-07T05:31:56Z",
"errors": [
{
"field": "<string>",
"message": "<string>",
"rejectedValue": "<string>"
}
],
"errorCount": 123
}{
"path": "uri=/spf/flowQuestionSet/FL_RESIDENT/QS3",
"status": "Not Found",
"statusCode": 404,
"timestamp": "2020-09-15 15:50:55",
"errors": [
{
"message": "Flow does not exist",
"rejectedValue": "FL_RESIDENT"
}
],
"errorCount": 1
}{
"path": "<string>",
"status": "<string>",
"statusCode": 123,
"timestamp": "2023-11-07T05:31:56Z",
"errors": [
{
"field": "<string>",
"message": "<string>",
"rejectedValue": "<string>"
}
],
"errorCount": 123
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
When true, includes warning rules for the question set. Warnings are disabled by default.
When true, reorders Federal W-4 survey questions to prioritize Standard Federal Withholding first, followed by Foreign Earned Income Exclusion, then Nonresident Alien Exempt
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Stable key identifying this question set's breadcrumb title for copy customization. Format: {formId}.{questionSetId}.breadcrumbTitle. Omitted when not applicable.
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
⌘I

