Skip to Content

GET

/api/fetchQuestions


Try Me!

GET /api/fetchQuestions

Query Parameters

Response Schema

FieldTypeDescription
questionsarrayA list of environmental questions for the given industry

Summary

Returns a list of questions given industry

This endpoint is designed for read-only access and is commonly used by client applications to populate selectors such as dropdowns, filters, and search facets.


Description

The Fetch Questions API retrieves question records from the database and returns them as a JSON array.

Key characteristics of this endpoint:

  • Publicly accessible (no authentication required)
  • No query parameters or request body
  • Database identifiers (_id) are excluded from responses
  • Empty results are treated as a valid, non-error response
  • Clear separation between database errors and unexpected server failures

This endpoint serves as the authoritative source of question data across the platform.


Endpoint

GET /api/fetchQuestions

Request

This endpoint accepts a singular parameter: industry

Parameters

ParametersRequiredDescription
industrymandatoryThe industry whose questions are needed

Headers

This endpoint accepts one parameter

HeaderRequiredDescription
AcceptOptionalDefaults to application/json

Response Schema

Success - 200 OK

string[]

Example Response
[ "Helloabc", "Helloabc" ]
Empty Response

If the questions or industry does/do not exist, an empty array is returned:

[]

Error Codes & Response Types

503 Service Unavailable

Returned when the database is temporarily unavailable, or a query fails due to a database issue

Response Body
{ "detail" : "Database temporarily unavailable" }
Typical Causes
  1. MongoDB Connection Issues
  2. Database timeout or query failure for a non-general reason

500 Internal Server Error

Returned when an unexpected server-side error occurs.

Response Body
{ "detail" : "Internal server error" }
Typical Causes
  1. Unhandled runtime exception
  2. Application-level failure outside database operations.

Implementation Notes

  1. Uses a MongoDB find() query with projection to exclude _id
  2. Materializes the cursor before returning the response
  3. Logs both database-specific and unexpected errors for observability
  4. Treats empty datasets as a valid state, not an error condition
Last updated on