soilsidekick 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +267 -0
- data/Rakefile +10 -0
- data/docs/AIAnalysis.md +22 -0
- data/docs/AIAnalysisRecommendationsInner.md +22 -0
- data/docs/AIServicesApi.md +327 -0
- data/docs/BeginnerGuidance.md +34 -0
- data/docs/BeginnerGuidanceDetailedExplanation.md +24 -0
- data/docs/BeginnerGuidanceMetadata.md +22 -0
- data/docs/BeginnerGuidanceRequest.md +24 -0
- data/docs/BeginnerGuidanceRequestLocation.md +20 -0
- data/docs/BeginnerGuidanceRequestPlantContext.md +20 -0
- data/docs/CalculateCarbonCreditsRequest.md +26 -0
- data/docs/CalculateEnvironmentalImpactRequest.md +26 -0
- data/docs/CalculateEnvironmentalImpactRequestProposedTreatmentsInner.md +18 -0
- data/docs/CalculateEnvironmentalImpactRequestSoilData.md +28 -0
- data/docs/CalculateEnvironmentalImpactRequestWaterBodyData.md +18 -0
- data/docs/CarbonApi.md +79 -0
- data/docs/CarbonCreditCalculation.md +22 -0
- data/docs/CarbonCreditCalculationCalculationDetails.md +28 -0
- data/docs/CarbonCreditCalculationCalculationDetailsMetadata.md +22 -0
- data/docs/CarbonCreditCalculationCreditRecord.md +26 -0
- data/docs/ConsumerPlantCareApi.md +247 -0
- data/docs/County.md +26 -0
- data/docs/CountyLookup200Response.md +18 -0
- data/docs/CountyLookupRequest.md +18 -0
- data/docs/DynamicCare.md +28 -0
- data/docs/DynamicCareCareRecommendations.md +24 -0
- data/docs/DynamicCareCareRecommendationsHumidity.md +22 -0
- data/docs/DynamicCareCareRecommendationsLight.md +22 -0
- data/docs/DynamicCareCareRecommendationsWatering.md +24 -0
- data/docs/DynamicCareCurrentConditions.md +26 -0
- data/docs/DynamicCareMetadata.md +22 -0
- data/docs/DynamicCarePlant.md +22 -0
- data/docs/DynamicCareRequest.md +28 -0
- data/docs/DynamicCareRequestContainerDetails.md +22 -0
- data/docs/DynamicCareRequestEnvironment.md +20 -0
- data/docs/DynamicCareRequestLocation.md +22 -0
- data/docs/EnvironmentalApi.md +87 -0
- data/docs/EnvironmentalImpact.md +22 -0
- data/docs/EnvironmentalImpactDetailedAnalysis.md +26 -0
- data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternatives.md +18 -0
- data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternativesAlternativesInner.md +26 -0
- data/docs/EnvironmentalImpactDetailedAnalysisRunoffRisk.md +22 -0
- data/docs/EnvironmentalImpactImpactAssessment.md +26 -0
- data/docs/Error.md +22 -0
- data/docs/GenerateSmartReportSummaryRequest.md +20 -0
- data/docs/GenerateVRTPrescriptionRequest.md +22 -0
- data/docs/GeographicApi.md +79 -0
- data/docs/GetAgriculturalIntelligenceRequest.md +20 -0
- data/docs/GetLiveAgriculturalDataRequest.md +24 -0
- data/docs/GetPlantingCalendarRequest.md +20 -0
- data/docs/GetSatelliteDataRequest.md +20 -0
- data/docs/GetSeasonalPlanningAssistantRequest.md +26 -0
- data/docs/GetSeasonalPlanningAssistantRequestLocation.md +22 -0
- data/docs/GetSoilDataRequest.md +18 -0
- data/docs/GetTerritorialWaterAnalyticsRequest.md +22 -0
- data/docs/GetTerritorialWaterAnalyticsRequestDateRange.md +20 -0
- data/docs/LeafEnginesApi.md +87 -0
- data/docs/LeafEnginesCompatibility.md +22 -0
- data/docs/LeafEnginesCompatibilityData.md +32 -0
- data/docs/LeafEnginesCompatibilityDataBreakdown.md +22 -0
- data/docs/LeafEnginesCompatibilityDataBreakdownSoil.md +22 -0
- data/docs/LeafEnginesCompatibilityDataMetadata.md +22 -0
- data/docs/LeafEnginesCompatibilityUsage.md +20 -0
- data/docs/LeafenginesQueryRequest.md +22 -0
- data/docs/LeafenginesQueryRequestLocation.md +24 -0
- data/docs/LeafenginesQueryRequestOptions.md +22 -0
- data/docs/LeafenginesQueryRequestPlant.md +24 -0
- data/docs/LeafenginesQueryRequestPlantCareRequirements.md +22 -0
- data/docs/LeafenginesQueryRequestPlantCareRequirementsSoilPhRange.md +20 -0
- data/docs/LiveAgriculturalData.md +30 -0
- data/docs/LiveAgriculturalDataData.md +24 -0
- data/docs/PlantingCalendar.md +26 -0
- data/docs/SafeIdentification.md +26 -0
- data/docs/SafeIdentificationConfidenceBreakdown.md +24 -0
- data/docs/SafeIdentificationIdentification.md +22 -0
- data/docs/SafeIdentificationIdentificationPrimaryMatch.md +24 -0
- data/docs/SafeIdentificationMetadata.md +22 -0
- data/docs/SafeIdentificationRequest.md +22 -0
- data/docs/SafeIdentificationRequestContext.md +22 -0
- data/docs/SafeIdentificationRequestLocation.md +22 -0
- data/docs/SafeIdentificationRequestLocationCoordinates.md +20 -0
- data/docs/SafeIdentificationSafetyAnalysis.md +24 -0
- data/docs/SafeIdentificationSafetyAnalysisLookalikesInner.md +24 -0
- data/docs/SatelliteData.md +26 -0
- data/docs/SatelliteDataApi.md +79 -0
- data/docs/SeasonalPlanningResponse.md +24 -0
- data/docs/SeasonalPlanningResponseRecommendations.md +22 -0
- data/docs/SeasonalPlanningResponseWeatherData.md +28 -0
- data/docs/SmartReportSummary.md +22 -0
- data/docs/SmartReportSummarySummary.md +24 -0
- data/docs/SoilAnalysisApi.md +231 -0
- data/docs/SoilData.md +38 -0
- data/docs/TerritorialWaterAnalytics.md +22 -0
- data/docs/TerritorialWaterAnalyticsAnalytics.md +24 -0
- data/docs/TurboQuantApi.md +87 -0
- data/docs/TurboQuantCapabilities.md +30 -0
- data/docs/TurboQuantCapabilitiesEstimatedLatencyMs.md +20 -0
- data/docs/TurboQuantCapabilitiesRequest.md +22 -0
- data/docs/VRTApi.md +79 -0
- data/docs/VRTPrescription.md +24 -0
- data/docs/VRTPrescriptionZonesInner.md +22 -0
- data/docs/VisualCropAnalysis.md +24 -0
- data/docs/VisualCropAnalysisAnalysis.md +26 -0
- data/docs/VisualCropAnalysisRequest.md +24 -0
- data/docs/VisualCropAnalysisRequestLocation.md +22 -0
- data/docs/WaterQuality.md +30 -0
- data/docs/WaterQualityApi.md +151 -0
- data/git_push.sh +57 -0
- data/lib/soilsidekick/api/ai_services_api.rb +378 -0
- data/lib/soilsidekick/api/carbon_api.rb +90 -0
- data/lib/soilsidekick/api/consumer_plant_care_api.rb +289 -0
- data/lib/soilsidekick/api/environmental_api.rb +111 -0
- data/lib/soilsidekick/api/geographic_api.rb +90 -0
- data/lib/soilsidekick/api/leaf_engines_api.rb +111 -0
- data/lib/soilsidekick/api/satellite_data_api.rb +90 -0
- data/lib/soilsidekick/api/soil_analysis_api.rb +247 -0
- data/lib/soilsidekick/api/turbo_quant_api.rb +111 -0
- data/lib/soilsidekick/api/vrt_api.rb +90 -0
- data/lib/soilsidekick/api/water_quality_api.rb +158 -0
- data/lib/soilsidekick/api_client.rb +397 -0
- data/lib/soilsidekick/api_error.rb +58 -0
- data/lib/soilsidekick/api_model_base.rb +88 -0
- data/lib/soilsidekick/configuration.rb +312 -0
- data/lib/soilsidekick/models/ai_analysis.rb +167 -0
- data/lib/soilsidekick/models/ai_analysis_recommendations_inner.rb +199 -0
- data/lib/soilsidekick/models/beginner_guidance.rb +228 -0
- data/lib/soilsidekick/models/beginner_guidance_detailed_explanation.rb +179 -0
- data/lib/soilsidekick/models/beginner_guidance_metadata.rb +165 -0
- data/lib/soilsidekick/models/beginner_guidance_request.rb +229 -0
- data/lib/soilsidekick/models/beginner_guidance_request_location.rb +156 -0
- data/lib/soilsidekick/models/beginner_guidance_request_plant_context.rb +158 -0
- data/lib/soilsidekick/models/calculate_carbon_credits_request.rb +264 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request.rb +247 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_proposed_treatments_inner.rb +181 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_soil_data.rb +238 -0
- data/lib/soilsidekick/models/calculate_environmental_impact_request_water_body_data.rb +147 -0
- data/lib/soilsidekick/models/carbon_credit_calculation.rb +165 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details.rb +192 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details_metadata.rb +167 -0
- data/lib/soilsidekick/models/carbon_credit_calculation_credit_record.rb +217 -0
- data/lib/soilsidekick/models/county.rb +183 -0
- data/lib/soilsidekick/models/county_lookup200_response.rb +149 -0
- data/lib/soilsidekick/models/county_lookup_request.rb +183 -0
- data/lib/soilsidekick/models/dynamic_care.rb +196 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations.rb +175 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_humidity.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_light.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_care_recommendations_watering.rb +208 -0
- data/lib/soilsidekick/models/dynamic_care_current_conditions.rb +183 -0
- data/lib/soilsidekick/models/dynamic_care_metadata.rb +165 -0
- data/lib/soilsidekick/models/dynamic_care_plant.rb +199 -0
- data/lib/soilsidekick/models/dynamic_care_request.rb +262 -0
- data/lib/soilsidekick/models/dynamic_care_request_container_details.rb +199 -0
- data/lib/soilsidekick/models/dynamic_care_request_environment.rb +203 -0
- data/lib/soilsidekick/models/dynamic_care_request_location.rb +194 -0
- data/lib/soilsidekick/models/environmental_impact.rb +167 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis.rb +183 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives.rb +149 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner.rb +183 -0
- data/lib/soilsidekick/models/environmental_impact_detailed_analysis_runoff_risk.rb +199 -0
- data/lib/soilsidekick/models/environmental_impact_impact_assessment.rb +183 -0
- data/lib/soilsidekick/models/error.rb +165 -0
- data/lib/soilsidekick/models/generate_smart_report_summary_request.rb +215 -0
- data/lib/soilsidekick/models/generate_vrt_prescription_request.rb +223 -0
- data/lib/soilsidekick/models/get_agricultural_intelligence_request.rb +225 -0
- data/lib/soilsidekick/models/get_live_agricultural_data_request.rb +277 -0
- data/lib/soilsidekick/models/get_planting_calendar_request.rb +201 -0
- data/lib/soilsidekick/models/get_satellite_data_request.rb +226 -0
- data/lib/soilsidekick/models/get_seasonal_planning_assistant_request.rb +245 -0
- data/lib/soilsidekick/models/get_seasonal_planning_assistant_request_location.rb +165 -0
- data/lib/soilsidekick/models/get_soil_data_request.rb +176 -0
- data/lib/soilsidekick/models/get_territorial_water_analytics_request.rb +201 -0
- data/lib/soilsidekick/models/get_territorial_water_analytics_request_date_range.rb +156 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility.rb +165 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data.rb +247 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown.rb +165 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown_soil.rb +169 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_data_metadata.rb +167 -0
- data/lib/soilsidekick/models/leaf_engines_compatibility_usage.rb +156 -0
- data/lib/soilsidekick/models/leafengines_query_request.rb +199 -0
- data/lib/soilsidekick/models/leafengines_query_request_location.rb +174 -0
- data/lib/soilsidekick/models/leafengines_query_request_options.rb +165 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant.rb +174 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements.rb +211 -0
- data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements_soil_ph_range.rb +156 -0
- data/lib/soilsidekick/models/live_agricultural_data.rb +237 -0
- data/lib/soilsidekick/models/live_agricultural_data_data.rb +174 -0
- data/lib/soilsidekick/models/planting_calendar.rb +185 -0
- data/lib/soilsidekick/models/safe_identification.rb +184 -0
- data/lib/soilsidekick/models/safe_identification_confidence_breakdown.rb +174 -0
- data/lib/soilsidekick/models/safe_identification_identification.rb +200 -0
- data/lib/soilsidekick/models/safe_identification_identification_primary_match.rb +175 -0
- data/lib/soilsidekick/models/safe_identification_metadata.rb +167 -0
- data/lib/soilsidekick/models/safe_identification_request.rb +183 -0
- data/lib/soilsidekick/models/safe_identification_request_context.rb +223 -0
- data/lib/soilsidekick/models/safe_identification_request_location.rb +205 -0
- data/lib/soilsidekick/models/safe_identification_request_location_coordinates.rb +156 -0
- data/lib/soilsidekick/models/safe_identification_safety_analysis.rb +215 -0
- data/lib/soilsidekick/models/safe_identification_safety_analysis_lookalikes_inner.rb +177 -0
- data/lib/soilsidekick/models/satellite_data.rb +185 -0
- data/lib/soilsidekick/models/seasonal_planning_response.rb +174 -0
- data/lib/soilsidekick/models/seasonal_planning_response_recommendations.rb +169 -0
- data/lib/soilsidekick/models/seasonal_planning_response_weather_data.rb +192 -0
- data/lib/soilsidekick/models/smart_report_summary.rb +165 -0
- data/lib/soilsidekick/models/smart_report_summary_summary.rb +178 -0
- data/lib/soilsidekick/models/soil_data.rb +239 -0
- data/lib/soilsidekick/models/territorial_water_analytics.rb +165 -0
- data/lib/soilsidekick/models/territorial_water_analytics_analytics.rb +174 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities.rb +253 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities_estimated_latency_ms.rb +156 -0
- data/lib/soilsidekick/models/turbo_quant_capabilities_request.rb +201 -0
- data/lib/soilsidekick/models/visual_crop_analysis.rb +174 -0
- data/lib/soilsidekick/models/visual_crop_analysis_analysis.rb +219 -0
- data/lib/soilsidekick/models/visual_crop_analysis_request.rb +234 -0
- data/lib/soilsidekick/models/visual_crop_analysis_request_location.rb +165 -0
- data/lib/soilsidekick/models/vrt_prescription.rb +176 -0
- data/lib/soilsidekick/models/vrt_prescription_zones_inner.rb +165 -0
- data/lib/soilsidekick/models/water_quality.rb +235 -0
- data/lib/soilsidekick/version.rb +15 -0
- data/lib/soilsidekick.rb +146 -0
- data/soilsidekick.gemspec +39 -0
- data/spec/api/ai_services_api_spec.rb +95 -0
- data/spec/api/carbon_api_spec.rb +47 -0
- data/spec/api/consumer_plant_care_api_spec.rb +80 -0
- data/spec/api/environmental_api_spec.rb +50 -0
- data/spec/api/geographic_api_spec.rb +47 -0
- data/spec/api/leaf_engines_api_spec.rb +50 -0
- data/spec/api/satellite_data_api_spec.rb +47 -0
- data/spec/api/soil_analysis_api_spec.rb +74 -0
- data/spec/api/turbo_quant_api_spec.rb +50 -0
- data/spec/api/vrt_api_spec.rb +47 -0
- data/spec/api/water_quality_api_spec.rb +59 -0
- data/spec/models/ai_analysis_recommendations_inner_spec.rb +52 -0
- data/spec/models/ai_analysis_spec.rb +48 -0
- data/spec/models/beginner_guidance_detailed_explanation_spec.rb +54 -0
- data/spec/models/beginner_guidance_metadata_spec.rb +48 -0
- data/spec/models/beginner_guidance_request_location_spec.rb +42 -0
- data/spec/models/beginner_guidance_request_plant_context_spec.rb +42 -0
- data/spec/models/beginner_guidance_request_spec.rb +58 -0
- data/spec/models/beginner_guidance_spec.rb +84 -0
- data/spec/models/calculate_carbon_credits_request_spec.rb +64 -0
- data/spec/models/calculate_environmental_impact_request_proposed_treatments_inner_spec.rb +40 -0
- data/spec/models/calculate_environmental_impact_request_soil_data_spec.rb +74 -0
- data/spec/models/calculate_environmental_impact_request_spec.rb +60 -0
- data/spec/models/calculate_environmental_impact_request_water_body_data_spec.rb +36 -0
- data/spec/models/carbon_credit_calculation_calculation_details_metadata_spec.rb +48 -0
- data/spec/models/carbon_credit_calculation_calculation_details_spec.rb +66 -0
- data/spec/models/carbon_credit_calculation_credit_record_spec.rb +64 -0
- data/spec/models/carbon_credit_calculation_spec.rb +48 -0
- data/spec/models/county_lookup200_response_spec.rb +36 -0
- data/spec/models/county_lookup_request_spec.rb +36 -0
- data/spec/models/county_spec.rb +60 -0
- data/spec/models/dynamic_care_care_recommendations_humidity_spec.rb +48 -0
- data/spec/models/dynamic_care_care_recommendations_light_spec.rb +48 -0
- data/spec/models/dynamic_care_care_recommendations_spec.rb +54 -0
- data/spec/models/dynamic_care_care_recommendations_watering_spec.rb +58 -0
- data/spec/models/dynamic_care_current_conditions_spec.rb +60 -0
- data/spec/models/dynamic_care_metadata_spec.rb +48 -0
- data/spec/models/dynamic_care_plant_spec.rb +52 -0
- data/spec/models/dynamic_care_request_container_details_spec.rb +52 -0
- data/spec/models/dynamic_care_request_environment_spec.rb +50 -0
- data/spec/models/dynamic_care_request_location_spec.rb +48 -0
- data/spec/models/dynamic_care_request_spec.rb +70 -0
- data/spec/models/dynamic_care_spec.rb +66 -0
- data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner_spec.rb +60 -0
- data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_spec.rb +36 -0
- data/spec/models/environmental_impact_detailed_analysis_runoff_risk_spec.rb +52 -0
- data/spec/models/environmental_impact_detailed_analysis_spec.rb +60 -0
- data/spec/models/environmental_impact_impact_assessment_spec.rb +60 -0
- data/spec/models/environmental_impact_spec.rb +48 -0
- data/spec/models/error_spec.rb +48 -0
- data/spec/models/generate_smart_report_summary_request_spec.rb +46 -0
- data/spec/models/generate_vrt_prescription_request_spec.rb +52 -0
- data/spec/models/get_agricultural_intelligence_request_spec.rb +46 -0
- data/spec/models/get_live_agricultural_data_request_spec.rb +58 -0
- data/spec/models/get_planting_calendar_request_spec.rb +42 -0
- data/spec/models/get_satellite_data_request_spec.rb +42 -0
- data/spec/models/get_seasonal_planning_assistant_request_location_spec.rb +48 -0
- data/spec/models/get_seasonal_planning_assistant_request_spec.rb +64 -0
- data/spec/models/get_soil_data_request_spec.rb +36 -0
- data/spec/models/get_territorial_water_analytics_request_date_range_spec.rb +42 -0
- data/spec/models/get_territorial_water_analytics_request_spec.rb +52 -0
- data/spec/models/leaf_engines_compatibility_data_breakdown_soil_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_breakdown_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_metadata_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_data_spec.rb +82 -0
- data/spec/models/leaf_engines_compatibility_spec.rb +48 -0
- data/spec/models/leaf_engines_compatibility_usage_spec.rb +42 -0
- data/spec/models/leafengines_query_request_location_spec.rb +54 -0
- data/spec/models/leafengines_query_request_options_spec.rb +48 -0
- data/spec/models/leafengines_query_request_plant_care_requirements_soil_ph_range_spec.rb +42 -0
- data/spec/models/leafengines_query_request_plant_care_requirements_spec.rb +56 -0
- data/spec/models/leafengines_query_request_plant_spec.rb +54 -0
- data/spec/models/leafengines_query_request_spec.rb +48 -0
- data/spec/models/live_agricultural_data_data_spec.rb +54 -0
- data/spec/models/live_agricultural_data_spec.rb +76 -0
- data/spec/models/planting_calendar_spec.rb +60 -0
- data/spec/models/safe_identification_confidence_breakdown_spec.rb +54 -0
- data/spec/models/safe_identification_identification_primary_match_spec.rb +54 -0
- data/spec/models/safe_identification_identification_spec.rb +52 -0
- data/spec/models/safe_identification_metadata_spec.rb +48 -0
- data/spec/models/safe_identification_request_context_spec.rb +60 -0
- data/spec/models/safe_identification_request_location_coordinates_spec.rb +42 -0
- data/spec/models/safe_identification_request_location_spec.rb +48 -0
- data/spec/models/safe_identification_request_spec.rb +48 -0
- data/spec/models/safe_identification_safety_analysis_lookalikes_inner_spec.rb +54 -0
- data/spec/models/safe_identification_safety_analysis_spec.rb +58 -0
- data/spec/models/safe_identification_spec.rb +60 -0
- data/spec/models/satellite_data_spec.rb +60 -0
- data/spec/models/seasonal_planning_response_recommendations_spec.rb +48 -0
- data/spec/models/seasonal_planning_response_spec.rb +54 -0
- data/spec/models/seasonal_planning_response_weather_data_spec.rb +66 -0
- data/spec/models/smart_report_summary_spec.rb +48 -0
- data/spec/models/smart_report_summary_summary_spec.rb +54 -0
- data/spec/models/soil_data_spec.rb +96 -0
- data/spec/models/territorial_water_analytics_analytics_spec.rb +54 -0
- data/spec/models/territorial_water_analytics_spec.rb +48 -0
- data/spec/models/turbo_quant_capabilities_estimated_latency_ms_spec.rb +42 -0
- data/spec/models/turbo_quant_capabilities_request_spec.rb +52 -0
- data/spec/models/turbo_quant_capabilities_spec.rb +80 -0
- data/spec/models/visual_crop_analysis_analysis_spec.rb +64 -0
- data/spec/models/visual_crop_analysis_request_location_spec.rb +48 -0
- data/spec/models/visual_crop_analysis_request_spec.rb +58 -0
- data/spec/models/visual_crop_analysis_spec.rb +54 -0
- data/spec/models/vrt_prescription_spec.rb +54 -0
- data/spec/models/vrt_prescription_zones_inner_spec.rb +48 -0
- data/spec/models/water_quality_spec.rb +76 -0
- data/spec/spec_helper.rb +111 -0
- metadata +543 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetSatelliteDataRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetSatelliteDataRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetSatelliteDataRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetSatelliteDataRequest' do
|
|
24
|
+
it 'should create an instance of GetSatelliteDataRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetSatelliteDataRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "latitude"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "longitude"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetSeasonalPlanningAssistantRequestLocation
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetSeasonalPlanningAssistantRequestLocation do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetSeasonalPlanningAssistantRequestLocation.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetSeasonalPlanningAssistantRequestLocation' do
|
|
24
|
+
it 'should create an instance of GetSeasonalPlanningAssistantRequestLocation' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetSeasonalPlanningAssistantRequestLocation)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "county_fips"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "state_code"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "county_name"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetSeasonalPlanningAssistantRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetSeasonalPlanningAssistantRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetSeasonalPlanningAssistantRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetSeasonalPlanningAssistantRequest' do
|
|
24
|
+
it 'should create an instance of GetSeasonalPlanningAssistantRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetSeasonalPlanningAssistantRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "location"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "soil_data"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "planning_type"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["spring_planting", "fall_harvest", "winter_prep", "year_round"])
|
|
46
|
+
# validator.allowable_values.each do |value|
|
|
47
|
+
# expect { instance.planning_type = value }.not_to raise_error
|
|
48
|
+
# end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe 'test attribute "crop_preferences"' do
|
|
53
|
+
it 'should work' do
|
|
54
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
describe 'test attribute "timeframe"' do
|
|
59
|
+
it 'should work' do
|
|
60
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetSoilDataRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetSoilDataRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetSoilDataRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetSoilDataRequest' do
|
|
24
|
+
it 'should create an instance of GetSoilDataRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetSoilDataRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "county_fips"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetTerritorialWaterAnalyticsRequestDateRange
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetTerritorialWaterAnalyticsRequestDateRange do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetTerritorialWaterAnalyticsRequestDateRange.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetTerritorialWaterAnalyticsRequestDateRange' do
|
|
24
|
+
it 'should create an instance of GetTerritorialWaterAnalyticsRequestDateRange' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetTerritorialWaterAnalyticsRequestDateRange)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "start_date"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "end_date"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::GetTerritorialWaterAnalyticsRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::GetTerritorialWaterAnalyticsRequest do
|
|
21
|
+
#let(:instance) { SoilSidekick::GetTerritorialWaterAnalyticsRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of GetTerritorialWaterAnalyticsRequest' do
|
|
24
|
+
it 'should create an instance of GetTerritorialWaterAnalyticsRequest' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::GetTerritorialWaterAnalyticsRequest)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "territory_type"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["state", "territory", "compact_state"])
|
|
34
|
+
# validator.allowable_values.each do |value|
|
|
35
|
+
# expect { instance.territory_type = value }.not_to raise_error
|
|
36
|
+
# end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "epa_region"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "date_range"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibilityDataBreakdownSoil
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibilityDataBreakdownSoil do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibilityDataBreakdownSoil.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibilityDataBreakdownSoil' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibilityDataBreakdownSoil' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibilityDataBreakdownSoil)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "score"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "factors"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "concerns"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibilityDataBreakdown
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibilityDataBreakdown do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibilityDataBreakdown.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibilityDataBreakdown' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibilityDataBreakdown' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibilityDataBreakdown)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "soil"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "water"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "climate"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibilityDataMetadata
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibilityDataMetadata do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibilityDataMetadata.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibilityDataMetadata' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibilityDataMetadata' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibilityDataMetadata)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "location"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "timestamp"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "data_sources"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibilityData
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibilityData do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibilityData.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibilityData' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibilityData' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibilityData)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "overall_score"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "soil_compatibility"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "water_compatibility"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
describe 'test attribute "climate_compatibility"' do
|
|
49
|
+
it 'should work' do
|
|
50
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe 'test attribute "breakdown"' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe 'test attribute "recommendations"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "risk_level"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["low", "medium", "high"])
|
|
70
|
+
# validator.allowable_values.each do |value|
|
|
71
|
+
# expect { instance.risk_level = value }.not_to raise_error
|
|
72
|
+
# end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe 'test attribute "metadata"' do
|
|
77
|
+
it 'should work' do
|
|
78
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibility
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibility do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibility.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibility' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibility' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibility)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "success"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "data"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe 'test attribute "usage"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#SoilSidekick Pro API
|
|
3
|
+
|
|
4
|
+
#Agricultural intelligence and soil analysis API with tier-based access control. ## What's New in 1.2.0 - **Consumer Plant Care APIs**: Three new endpoints addressing top pain points in plant ID apps: - `/safe-identification`: Toxic lookalike warnings and environmental context - `/dynamic-care`: Hyper-localized, real-time care recommendations - `/beginner-guidance`: Judgment-free, jargon-free plant guidance ## Authentication All endpoints require an API key passed via the `x-api-key` header: ``` x-api-key: ak_your_api_key_here ``` API keys are generated through the dashboard and use the `ak_*` format. ## Rate Limiting Rate limits are enforced based on your subscription tier: - **Free**: 10 req/min, 100 req/hour, 1,000 req/day - **Starter**: 30 req/min, 500 req/hour, 5,000 req/day - **Pro**: 100 req/min, 2,000 req/hour, 25,000 req/day - **Enterprise**: 500 req/min, 10,000 req/hour, 100,000 req/day Rate limit information is returned in response headers: - `X-RateLimit-Limit`: Maximum requests in window - `X-RateLimit-Remaining`: Remaining requests in window - `X-RateLimit-Reset`: Unix timestamp when limit resets ## Response Time SLAs All endpoints return response time headers for performance monitoring: - `X-Response-Time`: Human-readable response time (e.g., \"245ms\") - `X-Response-Time-Ms`: Response time in milliseconds - `X-Response-Time-Target`: Target response time for this endpoint - `X-Response-Time-Max`: Maximum acceptable response time - `X-Response-Time-Status`: Performance status (`optimal`, `acceptable`, `exceeded`) ### Response Time Targets by Category | Category | Target | Maximum | Endpoints | |----------|--------|---------|-----------| | **Fast** | 200ms | 500ms | county-lookup, check-subscription | | **Standard** | 500ms | 1,500ms | get-soil-data, territorial-water-quality | | **Complex** | 2,000ms | 5,000ms | agricultural-intelligence, gpt5-chat, visual-crop-analysis | | **Heavy** | 5,000ms | 15,000ms | live-agricultural-data, generate-vrt-prescription |
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
|
7
|
+
Contact: support@soilsidekickpro.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.23.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for SoilSidekick::LeafEnginesCompatibilityUsage
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe SoilSidekick::LeafEnginesCompatibilityUsage do
|
|
21
|
+
#let(:instance) { SoilSidekick::LeafEnginesCompatibilityUsage.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of LeafEnginesCompatibilityUsage' do
|
|
24
|
+
it 'should create an instance of LeafEnginesCompatibilityUsage' do
|
|
25
|
+
# uncomment below to test the instance creation
|
|
26
|
+
#expect(instance).to be_instance_of(SoilSidekick::LeafEnginesCompatibilityUsage)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
describe 'test attribute "credits_used"' do
|
|
31
|
+
it 'should work' do
|
|
32
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
describe 'test attribute "response_time_ms"' do
|
|
37
|
+
it 'should work' do
|
|
38
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|