Geo-GPT.org - Demographic Research Tool
Geo-GPT.org - Demographic Research Tool · Ações GPT
Geo-GPT API
API for retrieving geodata information based on location and data fields, including user authentication.
POST /geodata/q1getGeodataMultiRetrieve geographic data based on location and data fields. ALWAYS read the DatasetField Text file by searching for knowledge before this getGeodataMulti operation.
POST /geodata/loginUser loginThis endpoint allows a user to log in to the system using the registered Email Address and 6 digit OTP.
POST /geodata/requestLoginOtpOnEmailRequest login OTP via emailThis endpoint sends a login OTP to the user's email.
Esquema API original
{
"openapi": "3.1.0",
"info": {
"title": "Geo-GPT API",
"description": "API for retrieving geodata information based on location and data fields, including user authentication.",
"version": "2.0.0"
},
"servers": [
{
"url": "https://api.geo-gpt.org",
"description": "API for Geodata Service"
}
],
"paths": {
"/geodata/q1": {
"post": {
"operationId": "getGeodataMulti",
"description": "Retrieve geographic data based on location and data fields. ALWAYS read the DatasetField Text file by searching for knowledge before this getGeodataMulti operation.",
"x-openai-isConsequential": false,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "User account token for logged in Geo-GPT Account. Required after logged in and must be sent without missing.",
"nullable": true
},
"Requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"locationType",
"locationAddress",
"dataFieldName",
"defaultCalculation"
],
"properties": {
"locationType": {
"type": "string",
"description": "Type of location (e.g., full_address, zip_code, city, county, country, cbsa, school_district, congressional_boundry).\n",
"enum": [
"full_address",
"zip_code",
"city",
"county",
"country",
"cbsa",
"school_district",
"congressional_boundry"
]
},
"locationAddress": {
"type": "string",
"description": "Address of the location in United States (e.g., full address, city, county, country or zip code). This should only contain one single name/address. If it contains a city name, always format City Name with the State Code in format ISO 3166-2. If it contains a county name, always format with the State Code in ISO 3166-2. Example: Orange County, CA.\n"
},
"dataFieldName": {
"type": "string",
"description": "Name of the data field that is supported by Geo-GPT. This should only contain single value and should not include multiple fields."
},
"defaultCalculation": {
"type": "string",
"description": "Data metric calculation method (e.g. sum).",
"default": "sum",
"enum": [
"sum",
"average",
"median"
]
},
"radiusInMiles": {
"type": "number",
"format": "float",
"description": "Radius in miles for the location search. Required when locationType is full_address. If not provided, defaults to 2 miles.\n",
"nullable": true
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "A successful response with the requested geographic data.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"locationType": {
"type": "string",
"description": "The type of location."
},
"locationAddress": {
"type": "string",
"description": "The address or identifier of the location."
},
"dataFieldName": {
"type": "string",
"description": "The name of the data field requested."
},
"defaultCalculation": {
"type": "string",
"description": "The calculation method used."
},
"radiusInMiles": {
"type": "number",
"format": "float",
"description": "The radius in miles around the location."
},
"result": {
"type": "string",
"nullable": true,
"description": "A placeholder for result data."
},
"Result": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indicates whether the request was successful."
},
"message": {
"type": "string",
"nullable": true,
"description": "A message describing the result or any errors."
},
"Data": {
"type": "object",
"nullable": true,
"description": "Contains the data results if the request is successful.",
"additionalProperties": {
"oneOf": [
{
"type": "number",
"format": "float"
},
{
"type": "string"
},
{
"type": "boolean"
},
{
"type": "object"
},
{
"type": "array"
}
]
}
}
}
}
}
}
}
}
}
}
}
}
},
"/geodata/login": {
"post": {
"operationId": "login",
"summary": "User login",
"description": "This endpoint allows a user to log in to the system using the registered Email Address and 6 digit OTP.",
"x-openai-isConsequential": false,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"otp": {
"type": "string"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful login response.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"password": {
"type": "string"
},
"name": {
"type": "string"
},
"org": {
"type": "string"
},
"userType": {
"type": "string"
},
"joinDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"status": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}
},
"/geodata/requestLoginOtpOnEmail": {
"post": {
"operationId": "requestLoginOtpOnEmail",
"summary": "Request login OTP via email",
"description": "This endpoint sends a login OTP to the user's email.",
"x-openai-isConsequential": false,
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful OTP request.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}