Skip to main content
POST
/
fem
cURL
curl --request POST \
  --url https://api-v2.production.higg.org/api/v1/modulecsv/fem \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-developer-request-token: <api-key>' \
  --data '
{
  "from": 123,
  "size": 123,
  "oarIds": [
    "<string>"
  ],
  "assessmentIds": [
    "<string>"
  ],
  "accountIds": [
    "<string>"
  ],
  "accountSacIds": [
    "<string>"
  ],
  "status": [],
  "verified": true,
  "include": [
    "<string>"
  ],
  "lastUpdated": 123,
  "lastActivityDate": 123,
  "lastStatusChange": 123,
  "lastASCStatusDate": 123,
  "greaterThanYear": 123,
  "dctVersion": "<string>",
  "filters": [
    {
      "field": "<string>",
      "operator": "<string>",
      "value": {}
    }
  ],
  "nextPage": "<string>",
  "facilityPosted": true,
  "sipfacilitytype": [
    "<string>"
  ],
  "sort": [
    {
      "field": "<string>"
    }
  ],
  "verificationPosted": 123,
  "wildcardSearch": {
    "sacId": "<string>",
    "accountName": "<string>",
    "oarId": "<string>",
    "tags": "<string>",
    "accountId": "<string>",
    "customId": "<string>",
    "ffcId": "<string>"
  },
  "reportingPeriodStart": 123,
  "reportingPeriodEnd": 123,
  "isBaseMaterialFilter": true
}
'
import requests

url = "https://api-v2.production.higg.org/api/v1/modulecsv/fem"

payload = {
"from": 123,
"size": 123,
"oarIds": ["<string>"],
"assessmentIds": ["<string>"],
"accountIds": ["<string>"],
"accountSacIds": ["<string>"],
"status": [],
"verified": True,
"include": ["<string>"],
"lastUpdated": 123,
"lastActivityDate": 123,
"lastStatusChange": 123,
"lastASCStatusDate": 123,
"greaterThanYear": 123,
"dctVersion": "<string>",
"filters": [
{
"field": "<string>",
"operator": "<string>",
"value": {}
}
],
"nextPage": "<string>",
"facilityPosted": True,
"sipfacilitytype": ["<string>"],
"sort": [{ "field": "<string>" }],
"verificationPosted": 123,
"wildcardSearch": {
"sacId": "<string>",
"accountName": "<string>",
"oarId": "<string>",
"tags": "<string>",
"accountId": "<string>",
"customId": "<string>",
"ffcId": "<string>"
},
"reportingPeriodStart": 123,
"reportingPeriodEnd": 123,
"isBaseMaterialFilter": True
}
headers = {
"x-api-key": "<api-key>",
"x-developer-request-token": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
'x-developer-request-token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
from: 123,
size: 123,
oarIds: ['<string>'],
assessmentIds: ['<string>'],
accountIds: ['<string>'],
accountSacIds: ['<string>'],
status: [],
verified: true,
include: ['<string>'],
lastUpdated: 123,
lastActivityDate: 123,
lastStatusChange: 123,
lastASCStatusDate: 123,
greaterThanYear: 123,
dctVersion: '<string>',
filters: [{field: '<string>', operator: '<string>', value: {}}],
nextPage: '<string>',
facilityPosted: true,
sipfacilitytype: ['<string>'],
sort: [{field: '<string>'}],
verificationPosted: 123,
wildcardSearch: {
sacId: '<string>',
accountName: '<string>',
oarId: '<string>',
tags: '<string>',
accountId: '<string>',
customId: '<string>',
ffcId: '<string>'
},
reportingPeriodStart: 123,
reportingPeriodEnd: 123,
isBaseMaterialFilter: true
})
};

fetch('https://api-v2.production.higg.org/api/v1/modulecsv/fem', 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-v2.production.higg.org/api/v1/modulecsv/fem",
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([
'from' => 123,
'size' => 123,
'oarIds' => [
'<string>'
],
'assessmentIds' => [
'<string>'
],
'accountIds' => [
'<string>'
],
'accountSacIds' => [
'<string>'
],
'status' => [

],
'verified' => true,
'include' => [
'<string>'
],
'lastUpdated' => 123,
'lastActivityDate' => 123,
'lastStatusChange' => 123,
'lastASCStatusDate' => 123,
'greaterThanYear' => 123,
'dctVersion' => '<string>',
'filters' => [
[
'field' => '<string>',
'operator' => '<string>',
'value' => [

]
]
],
'nextPage' => '<string>',
'facilityPosted' => true,
'sipfacilitytype' => [
'<string>'
],
'sort' => [
[
'field' => '<string>'
]
],
'verificationPosted' => 123,
'wildcardSearch' => [
'sacId' => '<string>',
'accountName' => '<string>',
'oarId' => '<string>',
'tags' => '<string>',
'accountId' => '<string>',
'customId' => '<string>',
'ffcId' => '<string>'
],
'reportingPeriodStart' => 123,
'reportingPeriodEnd' => 123,
'isBaseMaterialFilter' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-developer-request-token: <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-v2.production.higg.org/api/v1/modulecsv/fem"

payload := strings.NewReader("{\n \"from\": 123,\n \"size\": 123,\n \"oarIds\": [\n \"<string>\"\n ],\n \"assessmentIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"accountSacIds\": [\n \"<string>\"\n ],\n \"status\": [],\n \"verified\": true,\n \"include\": [\n \"<string>\"\n ],\n \"lastUpdated\": 123,\n \"lastActivityDate\": 123,\n \"lastStatusChange\": 123,\n \"lastASCStatusDate\": 123,\n \"greaterThanYear\": 123,\n \"dctVersion\": \"<string>\",\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": {}\n }\n ],\n \"nextPage\": \"<string>\",\n \"facilityPosted\": true,\n \"sipfacilitytype\": [\n \"<string>\"\n ],\n \"sort\": [\n {\n \"field\": \"<string>\"\n }\n ],\n \"verificationPosted\": 123,\n \"wildcardSearch\": {\n \"sacId\": \"<string>\",\n \"accountName\": \"<string>\",\n \"oarId\": \"<string>\",\n \"tags\": \"<string>\",\n \"accountId\": \"<string>\",\n \"customId\": \"<string>\",\n \"ffcId\": \"<string>\"\n },\n \"reportingPeriodStart\": 123,\n \"reportingPeriodEnd\": 123,\n \"isBaseMaterialFilter\": true\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-developer-request-token", "<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-v2.production.higg.org/api/v1/modulecsv/fem")
.header("x-api-key", "<api-key>")
.header("x-developer-request-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": 123,\n \"size\": 123,\n \"oarIds\": [\n \"<string>\"\n ],\n \"assessmentIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"accountSacIds\": [\n \"<string>\"\n ],\n \"status\": [],\n \"verified\": true,\n \"include\": [\n \"<string>\"\n ],\n \"lastUpdated\": 123,\n \"lastActivityDate\": 123,\n \"lastStatusChange\": 123,\n \"lastASCStatusDate\": 123,\n \"greaterThanYear\": 123,\n \"dctVersion\": \"<string>\",\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": {}\n }\n ],\n \"nextPage\": \"<string>\",\n \"facilityPosted\": true,\n \"sipfacilitytype\": [\n \"<string>\"\n ],\n \"sort\": [\n {\n \"field\": \"<string>\"\n }\n ],\n \"verificationPosted\": 123,\n \"wildcardSearch\": {\n \"sacId\": \"<string>\",\n \"accountName\": \"<string>\",\n \"oarId\": \"<string>\",\n \"tags\": \"<string>\",\n \"accountId\": \"<string>\",\n \"customId\": \"<string>\",\n \"ffcId\": \"<string>\"\n },\n \"reportingPeriodStart\": 123,\n \"reportingPeriodEnd\": 123,\n \"isBaseMaterialFilter\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api-v2.production.higg.org/api/v1/modulecsv/fem")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-developer-request-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": 123,\n \"size\": 123,\n \"oarIds\": [\n \"<string>\"\n ],\n \"assessmentIds\": [\n \"<string>\"\n ],\n \"accountIds\": [\n \"<string>\"\n ],\n \"accountSacIds\": [\n \"<string>\"\n ],\n \"status\": [],\n \"verified\": true,\n \"include\": [\n \"<string>\"\n ],\n \"lastUpdated\": 123,\n \"lastActivityDate\": 123,\n \"lastStatusChange\": 123,\n \"lastASCStatusDate\": 123,\n \"greaterThanYear\": 123,\n \"dctVersion\": \"<string>\",\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"operator\": \"<string>\",\n \"value\": {}\n }\n ],\n \"nextPage\": \"<string>\",\n \"facilityPosted\": true,\n \"sipfacilitytype\": [\n \"<string>\"\n ],\n \"sort\": [\n {\n \"field\": \"<string>\"\n }\n ],\n \"verificationPosted\": 123,\n \"wildcardSearch\": {\n \"sacId\": \"<string>\",\n \"accountName\": \"<string>\",\n \"oarId\": \"<string>\",\n \"tags\": \"<string>\",\n \"accountId\": \"<string>\",\n \"customId\": \"<string>\",\n \"ffcId\": \"<string>\"\n },\n \"reportingPeriodStart\": 123,\n \"reportingPeriodEnd\": 123,\n \"isBaseMaterialFilter\": true\n}"

response = http.request(request)
puts response.read_body
Retrieve all FEM assessment data as a CSV stream.
This endpoint returns data in the legacy Bulk CSV V2 format, which was primarily designed for FEM 3.0.With the introduction of FEM 4.0 (FEM 2023), the assessment expanded significantly — too large to fit in a single CSV file. As a result, FEM 4.0 data is broken out into section-level exports (Raw Responses). These section-level exports are only available for download in the Worldly UI and are not accessible via the API.FEM 4.0 data is mapped into the legacy CSV V2 columns on a best-effort basis to support backwards compatibility, but this format is not being updated to reflect the full scope of FEM 4.0 changes. It is not comprehensive of all FEM 4.0 questions.For most integration use cases, we recommend using the Module Data API instead. The Module Data API is comprehensive, provides access to all FEM data for all versions, and returns data in JSON.

Request body properties

An array of assessment statuses to query for. Example:
{
  "status": ["ASI"]
}
Filter for records that changed status since the provided timestamp. The timestamp must be in Unix time in milliseconds.
Filter for records updated since the provided timestamp. The timestamp must be in Unix time in milliseconds.
Boolean filter for verified (true) or unverified (false) assessments.

Authorizations

x-api-key
string
header
required
x-developer-request-token
string
header
required

Body

application/json
from
number<double> | null
size
number<double> | null
oarIds
string[] | null
assessmentIds
string[] | null
accountIds
string[] | null
accountSacIds
string[] | null
version
enum<string>

This interface was referenced by Exports's JSON-Schema via the definition "assessmentRfiPid".

Available options:
fem2017,
fem2018,
fem2019,
fem2020,
fem2021,
fem2022,
fem2023,
fem2024,
fem2025,
fem2026,
fslm,
brm2019,
brm2020,
brm2021,
brm2022,
brm2023,
brm2024,
brm2025,
dct,
one2022,
ffc
status
enum<string>[] | null

This interface was referenced by Exports's JSON-Schema via the definition "assessmentStatus".

Available options:
NS,
ASI,
ASC,
VRP,
VRQ,
VRE,
VRC,
VRD,
VRF,
VRI,
ASD
verified
boolean | null
include
string[] | null
lastUpdated
number<double> | null
lastActivityDate
number<double> | null
lastStatusChange
number<double> | null
lastASCStatusDate
number<double> | null
greaterThanYear
number<double> | null
cafVersion
enum<string>
Available options:
2.0,
1.7,
1.6,
1.5,
1.4,
1.3
dctVersion
string | null
filters
object[] | null
nextPage
string | null
facilityPosted
boolean | null
sipfacilitytype
string[] | null
sort
object[] | null
verificationPosted
number<double> | null
rfi_pid
enum<string>

This interface was referenced by Exports's JSON-Schema via the definition "assessmentRfiPid".

Available options:
fem2017,
fem2018,
fem2019,
fem2020,
fem2021,
fem2022,
fem2023,
fem2024,
fem2025,
fem2026,
fslm,
brm2019,
brm2020,
brm2021,
brm2022,
brm2023,
brm2024,
brm2025,
dct,
one2022,
ffc
wildcardSearch
object | null
reportingPeriodStart
number<double> | null
reportingPeriodEnd
number<double> | null
isBaseMaterialFilter
boolean | null

Response

204

No content