Fieldprint API – /v5/SAICalculator
Access to the Fieldprint Platform and API requires Field to Market membership and an active Data Management Licensing Agreement. Learn more about membership and our data partner program to get started. Access to the Fieldprint API requires an authorized API key issued by Field to Market.
The SaiCalculator endpoint evaluates a set of 22 yes/no survey responses against the SAI Platform’s Farm Sustainability Assessment (FSA) framework and returns an equivalency determination. This endpoint is used by QDMPs integrating the FSA Equivalency option into their platforms on behalf of Fieldprint Project participants.
Endpoint Details
| Endpoint | POST https://api.fieldtomarket.org/v5/SaiCalculator |
|---|---|
| Authentication | API Key (provided by Field to Market) |
| Content-Type | application/json |
| Response Format | JSON |
Prerequisites
The SAI Platform’s FSA Equivalency requires active platform usage and association with an active Fieldprint Project. Before submitting a survey via this endpoint, ensure that:
- The farmer has at least one field with one crop interval finalized for the year in which the survey is being requested.
- At least one of those crop intervals is associated with the registered Fieldprint Project for which the survey is being requested.
Request Body
The request body is a JSON object containing a questions object with 22 survey questions (q_1 through q_22). Each question maps to a specific SAI Platform FSA topic area.
Top-Level Fields
| Field | Type | Required | Description |
|---|---|---|---|
questions |
object | Yes | Object containing all 22 FSA survey questions (q_1 through q_22). |
project |
string | No | Deprecated. Previously used for project code. If provided, a deprecation warning is returned. |
Question Fields
Each question accepts a string value. Some questions accept only "T" (True) or "F" (False), while others also accept "N" (Not Applicable). The table below lists all 22 questions, their accepted values, and the FSA topic they correspond to.
| Field | Accepted Values | FSA Topic |
|---|---|---|
q_1 |
"T", "F" |
Compliance with laws |
q_2 |
"T", "F" |
Documentation |
q_3 |
"T", "F" |
Training |
q_4 |
"T", "F" |
Record keeping |
q_5 |
"T", "F", "N" |
Environmental impacts |
q_6 |
"T", "F", "N" |
Insurance |
q_7 |
"T", "F", "N" |
GMO management |
q_8 |
"T", "F", "N" |
Worker safety |
q_9 |
"T", "F", "N" |
Worker health |
q_10 |
"T", "F" |
Equipment maintenance |
q_11 |
"T", "F" |
Integrated Pest Management (IPM) |
q_12 |
"T", "F" |
Waste disposal |
q_13 |
"T", "F" |
Recycling |
q_14 |
"T", "F", "N" |
Irrigation management |
q_15 |
"T", "F", "N" |
Manure management |
q_16 |
"T", "F", "N" |
Conservation practices |
q_17 |
"T", "F" |
Biodiversity |
q_18 |
"T", "F", "N" |
Paid time off (PTO) |
q_19 |
"T", "F", "N" |
Worker sanitation |
q_20 |
"T", "F", "N" |
Union / collective bargaining |
q_21 |
"T", "F", "N" |
Emergency contact |
q_22 |
"T", "F", "N" |
Minors / child labor protections |
"N" (Not Applicable) correspond to topics that may not apply to all farming operations. For example, q_14 (irrigation management) would be "N" for dryland operations that do not irrigate.
Example Request
POST https://api.fieldtomarket.org/v5/SaiCalculator Content-Type: application/json Authorization: Bearer {your_api_key} { "questions": { "q_1": "T", "q_2": "T", "q_3": "F", "q_4": "F", "q_5": "T", "q_6": "T", "q_7": "F", "q_8": "F", "q_9": "N", "q_10": "T", "q_11": "T", "q_12": "F", "q_13": "T", "q_14": "N", "q_15": "F", "q_16": "T", "q_17": "T", "q_18": "F", "q_19": "F", "q_20": "N", "q_21": "T", "q_22": "T" } }
Example Response
{
"fsa_equivalency": "Equivalency Not Met"
}
Response Fields
| Field | Type | Description |
|---|---|---|
fsa_equivalency |
string | The FSA equivalency determination based on the submitted answers. Possible values include equivalency status results such as "Equivalency Not Met". |
Validation & Error Handling
The API validates each question value against its allowed choices. If an invalid value is submitted, the response will include a CHOICE error indicating the field and the valid options.
Example: Invalid Value for a T/F-Only Question
If you submit "N" for a question that only accepts "T" or "F" (such as q_1):
{
"questions": {
"q_1": "N",
"q_2": "T",
...
}
}
The API returns an error response:
{
"questions": {
"q_1": [
{
"message": "\"N\" is not a valid choice.",
"code": "CHOICE"
}
]
}
}
Example: Deprecated project Field Warning
If the project field is included in the request, the API processes the request but returns a deprecation warning:
{
"project": "ProjectCode",
"questions": { ... }
}
Response includes:
{
"warnings": [
{
"message": "The 'project' field is deprecated.",
"code": "DEPRECATED"
}
],
"fsa_equivalency": "Equivalency Not Met"
}
project field was previously used to associate survey responses with a Fieldprint Project code. This field is now deprecated. If included, the API will still process the request but will return a DEPRECATED warning.
Usage Notes
"T"/"F" and which also accept "N". Submitting "N" for a T/F-only question will trigger a CHOICE validation error. Refer to the Question Fields table above for the accepted values per question.
Related Endpoints
| Endpoint | Description |
|---|---|
/v5/Calculator |
Submit crop interval data and calculate Fieldprint metric results. |
/v5/ScaledBenchmarks |
Get scaled sustainability scores (0–100) with state and national benchmarks. |
/v5/FieldData/PrefillFieldHistory |
Generate baseline crop interval data from USDA Cropland Data Layer history. |
Reach out to support@fieldtomarket.org with additional questions on implementation.